1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-15 10:17:20 +00:00
freebsd/etc/rc.d/abi
Yaroslav Tykhiy 51f1dbba96 Improve rc.d conformance:
- don't play a needless trick with prestart, just use start method;
- provide no-op stop method so that we don't get bogus "abi not running" error.
2006-12-20 11:37:15 +00:00

57 lines
911 B
Bash

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: abi
# REQUIRE: archdep
# KEYWORD: nojail
. /etc/rc.subr
name="abi"
start_cmd="${name}_start"
stop_cmd=":"
sysv_start()
{
echo -n ' sysvipc'
load_kld sysvmsg
load_kld sysvsem
load_kld sysvshm
}
linux_start()
{
echo -n ' linux'
load_kld -e 'linux(aout|elf)' linux
if [ -x /compat/linux/sbin/ldconfigDisabled ]; then
_tmpdir=`mktemp -d -t linux-ldconfig`
/compat/linux/sbin/ldconfig -C ${_tmpdir}/ld.so.cache
if ! cmp -s ${_tmpdir}/ld.so.cache /compat/linux/etc/ld.so.cache; then
cat ${_tmpdir}/ld.so.cache > /compat/linux/etc/ld.so.cache
fi
rm -rf ${_tmpdir}
fi
}
svr4_start()
{
echo -n ' svr4'
load_kld -m svr4elf svr4
}
abi_start()
{
echo -n 'Additional ABI support:'
checkyesno sysvipc_enable && sysv_start
checkyesno linux_enable && linux_start
checkyesno svr4_enable && svr4_start
echo '.'
}
load_rc_config $name
run_rc_command "$1"