ldconfig revision 117077
178344Sobrien#!/bin/sh
278344Sobrien#
398184Sgordon# $NetBSD: ldconfig,v 1.5 2002/03/22 04:33:58 thorpej Exp $
498184Sgordon# $FreeBSD: head/etc/rc.d/ldconfig 117077 2003-06-30 15:02:05Z trhodes $
578344Sobrien#
678344Sobrien
778344Sobrien# PROVIDE: ldconfig
8114278Smtm# REQUIRE: mountall mountcritremote
998184Sgordon# BEFORE:  DAEMON
1098184Sgordon# KEYWORD: FreeBSD NetBSD
1178344Sobrien
1278344Sobrien. /etc/rc.subr
1378344Sobrien
1478344Sobrienname="ldconfig"
1598184Sgordonldconfig_command="/sbin/ldconfig"
1678344Sobrienstart_cmd="ldconfig_start"
1778344Sobrienstop_cmd=":"
1878344Sobrien
1978344Sobrienldconfig_start()
2078344Sobrien{
21103019Sgordon	case ${OSTYPE} in
2298184Sgordon	FreeBSD)
23115124Smtm		_ins=
2498184Sgordon		ldconfig=${ldconfig_command}
25115124Smtm		checkyesno ldconfig_insecure && _ins="-i"
2698184Sgordon		if [ -x "${ldconfig_command}" ]; then
27103436Speter			_LDC=/usr/lib
28117077Strhodes			for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do
29117077Strhodes				if [ -r "${i}" ]; then
30103436Speter					_LDC="${_LDC} ${i}"
31103436Speter				fi
32103436Speter			done
33103436Speter			echo 'ELF ldconfig path:' ${_LDC}
34115124Smtm			${ldconfig} -elf ${_ins} ${_LDC}
3598184Sgordon
3698184Sgordon			# Legacy aout support for i386 only
3798184Sgordon			case `sysctl -n hw.machine_arch` in
3898184Sgordon			i386)
3998184Sgordon				# Default the a.out ldconfig path.
4098184Sgordon				: ${ldconfig_paths_aout=${ldconfig_paths}}
4198184Sgordon				_LDC=/usr/lib/aout
42117077Strhodes				for i in ${ldconfig_paths_aout} /etc/ld.so.conf; do
43117077Strhodes					if [ -r "${i}" ]; then
4498184Sgordon						_LDC="${_LDC} ${i}"
4598184Sgordon					fi
4698184Sgordon				done
4798184Sgordon				echo 'a.out ldconfig path:' ${_LDC}
48115124Smtm				${ldconfig} -aout ${_ins} ${_LDC}
4998184Sgordon				;;
5098184Sgordon			esac
5198184Sgordon		fi
5298184Sgordon		;;
5398184Sgordon	NetBSD)
5498184Sgordon		if [ -f ${ldconfig_command} ]; then
5598184Sgordon			echo "Creating a.out runtime link editor directory cache."
5698184Sgordon			${ldconfig_command}
5798184Sgordon		fi
5898184Sgordon		;;
5998184Sgordon	*)
6098184Sgordon		;;
6198184Sgordon	esac
6278344Sobrien}
6378344Sobrien
6478344Sobrienload_rc_config $name
6578344Sobrienrun_rc_command "$1"
66