ldconfig revision 140339
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 140339 2005-01-16 03:12:03Z 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}
31ldconfig -r >/tmp/ldcon.`basename $0`.0before
32		${ldconfig} -elf ${_ins} ${_LDC}
33ldconfig -r >/tmp/ldcon.`basename $0`.1after
34
35		# Legacy aout support for i386 only
36		case `sysctl -n hw.machine_arch` in
37		i386)
38			# Default the a.out ldconfig path.
39			: ${ldconfig_paths_aout=${ldconfig_paths}}
40			_LDC=/usr/lib/aout
41			for i in ${ldconfig_paths_aout} /etc/ld.so.conf; do
42				if [ -r "${i}" ]; then
43					_LDC="${_LDC} ${i}"
44				fi
45			done
46			echo 'a.out ldconfig path:' ${_LDC}
47			${ldconfig} -aout ${_ins} ${_LDC}
48			;;
49		esac
50	fi
51}
52
53load_rc_config $name
54run_rc_command "$1"
55