ldconfig revision 256281
1223215Sdelphij#!/bin/sh 2134244Stjr# 3131661Sdas# $FreeBSD: stable/10/etc/rc.d/ldconfig 240336 2012-09-11 05:04:59Z obrien $ 4134244Stjr# 5131661Sdas 6134244Stjr# PROVIDE: ldconfig 7134244Stjr# REQUIRE: mountcritremote FILESYSTEMS 8134244Stjr# BEFORE: DAEMON 9131661Sdas 10134244Stjr. /etc/rc.subr 11134244Stjr 12134244Stjrname="ldconfig" 13134244Stjrldconfig_command="/sbin/ldconfig" 14134244Stjrstart_cmd="ldconfig_start" 15134244Stjrstop_cmd=":" 16134244Stjr 17134244Stjrldconfig_start() 18134244Stjr{ 19134244Stjr local _files _ins 20134244Stjr 21131661Sdas _ins= 22131661Sdas ldconfig=${ldconfig_command} 23134244Stjr checkyesno ldconfig_insecure && _ins="-i" 24134244Stjr if [ -x "${ldconfig_command}" ]; then 25134244Stjr _LDC="/lib /usr/lib" 26134244Stjr for i in ${ldconfig_local_dirs}; do 27131661Sdas if [ -d "${i}" ]; then 28134244Stjr _files=`find ${i} -type f` 29131661Sdas if [ -n "${_files}" ]; then 30134244Stjr ldconfig_paths="${ldconfig_paths} `cat ${_files} | sort -u`" 31134244Stjr fi 32131661Sdas fi 33134244Stjr done 34134244Stjr for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do 35134244Stjr if [ -r "${i}" ]; then 36134244Stjr _LDC="${_LDC} ${i}" 37134244Stjr fi 38134244Stjr done 39134244Stjr check_startmsgs && echo 'ELF ldconfig path:' ${_LDC} 40134244Stjr ${ldconfig} -elf ${_ins} ${_LDC} 41131661Sdas 42134244Stjr case `sysctl -n hw.machine_arch` in 43134244Stjr amd64) 44134244Stjr for i in ${ldconfig_local32_dirs}; do 45134244Stjr if [ -d "${i}" ]; then 46134244Stjr _files=`find ${i} -type f` 47131661Sdas if [ -n "${_files}" ]; then 48134244Stjr ldconfig32_paths="${ldconfig32_paths} `cat ${_files} | sort -u`" 49134244Stjr fi 50134244Stjr fi 51134244Stjr done 52134244Stjr _LDC="" 53134244Stjr for i in ${ldconfig32_paths}; do 54134244Stjr if [ -r "${i}" ]; then 55134244Stjr _LDC="${_LDC} ${i}" 56134244Stjr fi 57134244Stjr done 58134244Stjr check_startmsgs && 59134244Stjr echo '32-bit compatibility ldconfig path:' ${_LDC} 60134244Stjr ${ldconfig} -32 -m ${_ins} ${_LDC} 61134244Stjr ;; 62134244Stjr esac 63134244Stjr 64134244Stjr # Legacy aout support for i386 only 65134244Stjr case `sysctl -n hw.machine_arch` in 66134244Stjr i386) 67134244Stjr # Default the a.out ldconfig path. 68134244Stjr : ${ldconfig_paths_aout=${ldconfig_paths}} 69134244Stjr _LDC="" 70134244Stjr for i in /usr/lib/aout ${ldconfig_paths_aout} /etc/ld.so.conf; do 71134244Stjr if [ -r "${i}" ]; then 72134244Stjr _LDC="${_LDC} ${i}" 73134244Stjr fi 74134244Stjr done 75134244Stjr check_startmsgs && echo 'a.out ldconfig path:' ${_LDC} 76134244Stjr ${ldconfig} -aout ${_ins} ${_LDC} 77134244Stjr ;; 78134244Stjr esac 79134244Stjr fi 80134244Stjr} 81134244Stjr 82134244Stjrload_rc_config $name 83134244Stjrrun_rc_command "$1" 84134244Stjr