ldconfig revision 165664
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 165664 2006-12-30 22:53:20Z yar $ 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 local _files _ins 21 22 _ins= 23 ldconfig=${ldconfig_command} 24 checkyesno ldconfig_insecure && _ins="-i" 25 if [ -x "${ldconfig_command}" ]; then 26 _LDC="/lib /usr/lib" 27 for i in ${ldconfig_local_dirs}; do 28 if [ -d "${i}" ]; then 29 _files=`find ${i} -type f` 30 if [ -n "${_files}" ]; then 31 ldconfig_paths="${ldconfig_paths} `cat ${_files} | sort -u`" 32 fi 33 fi 34 done 35 for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do 36 if [ -r "${i}" ]; then 37 _LDC="${_LDC} ${i}" 38 fi 39 done 40 echo 'ELF ldconfig path:' ${_LDC} 41 ${ldconfig} -elf ${_ins} ${_LDC} 42 43 case `sysctl -n hw.machine_arch` in 44 amd64) 45 for i in ${ldconfig_local32_dirs}; do 46 if [ -d "${i}" ]; then 47 _files=`find ${i} -type f` 48 if [ -n "${_files}" ]; then 49 ldconfig32_paths="${ldconfig32_paths} `cat ${_files} | sort -u`" 50 fi 51 fi 52 done 53 echo '32-bit compatibility ldconfig path:' ${ldconfig32_paths} 54 ${ldconfig} -32 -m ${_ins} ${ldconfig32_paths} 55 ;; 56 esac 57 58 # Legacy aout support for i386 only 59 case `sysctl -n hw.machine_arch` in 60 i386) 61 # Default the a.out ldconfig path. 62 : ${ldconfig_paths_aout=${ldconfig_paths}} 63 _LDC=/usr/lib/aout 64 for i in ${ldconfig_paths_aout} /etc/ld.so.conf; do 65 if [ -r "${i}" ]; then 66 _LDC="${_LDC} ${i}" 67 fi 68 done 69 echo 'a.out ldconfig path:' ${_LDC} 70 ${ldconfig} -aout ${_ins} ${_LDC} 71 ;; 72 esac 73 fi 74} 75 76load_rc_config $name 77run_rc_command "$1" 78