e3c46a3332
with theirs, so this information doesn't need to be in the live file. Having it in our CVS history is enough.
77 lines
1.6 KiB
Bash
Executable File
77 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: ldconfig
|
|
# REQUIRE: mountcritremote cleanvar
|
|
# BEFORE: DAEMON
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="ldconfig"
|
|
ldconfig_command="/sbin/ldconfig"
|
|
start_cmd="ldconfig_start"
|
|
stop_cmd=":"
|
|
|
|
ldconfig_start()
|
|
{
|
|
local _files _ins
|
|
|
|
_ins=
|
|
ldconfig=${ldconfig_command}
|
|
checkyesno ldconfig_insecure && _ins="-i"
|
|
if [ -x "${ldconfig_command}" ]; then
|
|
_LDC="/lib /usr/lib"
|
|
for i in ${ldconfig_local_dirs}; do
|
|
if [ -d "${i}" ]; then
|
|
_files=`find ${i} -type f`
|
|
if [ -n "${_files}" ]; then
|
|
ldconfig_paths="${ldconfig_paths} `cat ${_files} | sort -u`"
|
|
fi
|
|
fi
|
|
done
|
|
for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do
|
|
if [ -r "${i}" ]; then
|
|
_LDC="${_LDC} ${i}"
|
|
fi
|
|
done
|
|
echo 'ELF ldconfig path:' ${_LDC}
|
|
${ldconfig} -elf ${_ins} ${_LDC}
|
|
|
|
case `sysctl -n hw.machine_arch` in
|
|
amd64)
|
|
for i in ${ldconfig_local32_dirs}; do
|
|
if [ -d "${i}" ]; then
|
|
_files=`find ${i} -type f`
|
|
if [ -n "${_files}" ]; then
|
|
ldconfig32_paths="${ldconfig32_paths} `cat ${_files} | sort -u`"
|
|
fi
|
|
fi
|
|
done
|
|
echo '32-bit compatibility ldconfig path:' ${ldconfig32_paths}
|
|
${ldconfig} -32 -m ${_ins} ${ldconfig32_paths}
|
|
;;
|
|
esac
|
|
|
|
# Legacy aout support for i386 only
|
|
case `sysctl -n hw.machine_arch` in
|
|
i386)
|
|
# Default the a.out ldconfig path.
|
|
: ${ldconfig_paths_aout=${ldconfig_paths}}
|
|
_LDC=/usr/lib/aout
|
|
for i in ${ldconfig_paths_aout} /etc/ld.so.conf; do
|
|
if [ -r "${i}" ]; then
|
|
_LDC="${_LDC} ${i}"
|
|
fi
|
|
done
|
|
echo 'a.out ldconfig path:' ${_LDC}
|
|
${ldconfig} -aout ${_ins} ${_LDC}
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|