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