ldconfig revision 140342
1#!/bin/sh
2#
3# $NetBSD: ldconfig,v 1.5 2002/03/22 04:33:58 thorpej Exp $
4# $FreeBSD: head/etc/rc.d/ldconfig 140342 2005-01-16 08:34:30Z obrien $
5#
6
7# PROVIDE: ldconfig
8# REQUIRE: mountcritremote cleanvar
9# BEFORE:  DAEMON
10
11. /etc/rc.subr
12
13name="ldconfig"
14ldconfig_command="/sbin/ldconfig"
15start_cmd="ldconfig_start"
16stop_cmd=":"
17
18ldconfig_start()
19{
20	_ins=
21	ldconfig=${ldconfig_command}
22	checkyesno ldconfig_insecure && _ins="-i"
23	if [ -x "${ldconfig_command}" ]; then
24		_LDC="/lib /usr/lib"
25		for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do
26			if [ -r "${i}" ]; then
27				_LDC="${_LDC} ${i}"
28			fi
29		done
30		echo 'ELF ldconfig path:' ${_LDC}
31		${ldconfig} -elf ${_ins} ${_LDC}
32
33		# Legacy aout support for i386 only
34		case `sysctl -n hw.machine_arch` in
35		i386)
36			# Default the a.out ldconfig path.
37			: ${ldconfig_paths_aout=${ldconfig_paths}}
38			_LDC=/usr/lib/aout
39			for i in ${ldconfig_paths_aout} /etc/ld.so.conf; do
40				if [ -r "${i}" ]; then
41					_LDC="${_LDC} ${i}"
42				fi
43			done
44			echo 'a.out ldconfig path:' ${_LDC}
45			${ldconfig} -aout ${_ins} ${_LDC}
46			;;
47		esac
48	fi
49}
50
51load_rc_config $name
52run_rc_command "$1"
53