abi revision 155838
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/abi 155838 2006-02-19 08:18:48Z dougb $
4#
5
6# PROVIDE: abi
7# REQUIRE: archdep
8# KEYWORD: nojail
9
10. /etc/rc.subr
11
12name="abi"
13start_precmd="${name}_prestart"
14start_cmd=":"
15
16sysv_start()
17{
18	echo -n ' sysvipc'
19	kldload sysvmsg >/dev/null 2>&1
20	kldload sysvsem >/dev/null 2>&1
21	kldload sysvshm >/dev/null 2>&1
22}
23
24linux_start()
25{
26	echo -n ' linux'
27	if ! kldstat -v | grep -E 'linux(aout|elf)' > /dev/null; then
28		kldload linux > /dev/null 2>&1
29	fi
30	if [ -x /compat/linux/sbin/ldconfigDisabled ]; then
31		_tmpdir=`mktemp -d -t linux-ldconfig`
32		/compat/linux/sbin/ldconfig -C ${_tmpdir}/ld.so.cache
33		if ! cmp -s ${_tmpdir}/ld.so.cache /compat/linux/etc/ld.so.cache; then
34			cat ${_tmpdir}/ld.so.cache > /compat/linux/etc/ld.so.cache
35		fi
36		rm -rf ${_tmpdir}
37	fi
38}
39
40svr4_start()
41{
42	echo -n ' svr4'
43	kldload svr4 > /dev/null 2>&1
44}
45
46abi_prestart()
47{
48	echo -n 'Additional ABI support:'
49
50	checkyesno sysvipc_enable && sysv_start
51	checkyesno linux_enable && linux_start
52	checkyesno svr4_enable && svr4_start
53
54	echo '.'
55}
56
57load_rc_config $name
58run_rc_command "$1"
59