ldconfig revision 154114
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 154114 2006-01-08 10:15:31Z dougb $ 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_local_dirs}; do 26 if [ -d "${i}" ]; then 27 ldconfig_paths="${ldconfig_paths} `find ${i} -type f`" 28 fi 29 done 30 for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do 31 if [ -r "${i}" ]; then 32 _LDC="${_LDC} ${i}" 33 fi 34 done 35 echo 'ELF ldconfig path:' ${_LDC} 36 ${ldconfig} -elf ${_ins} ${_LDC} 37 38 case `sysctl -n hw.machine_arch` in 39 amd64) 40 for i in ${ldconfig_local32_dirs}; do 41 if [ -d "${i}" ]; then 42 ldconfig32_paths="${ldconfig32_paths} `find ${i} -type f`" 43 fi 44 done 45 echo '32-bit compatibility ldconfig path:' ${ldconfig32_paths} 46 ${ldconfig} -32 -m ${_ins} ${ldconfig32_paths} 47 ;; 48 esac 49 50 # Legacy aout support for i386 only 51 case `sysctl -n hw.machine_arch` in 52 i386) 53 # Default the a.out ldconfig path. 54 : ${ldconfig_paths_aout=${ldconfig_paths}} 55 _LDC=/usr/lib/aout 56 for i in ${ldconfig_paths_aout} /etc/ld.so.conf; do 57 if [ -r "${i}" ]; then 58 _LDC="${_LDC} ${i}" 59 fi 60 done 61 echo 'a.out ldconfig path:' ${_LDC} 62 ${ldconfig} -aout ${_ins} ${_LDC} 63 ;; 64 esac 65 fi 66} 67 68load_rc_config $name 69run_rc_command "$1" 70