]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/abi
Update host.conf every time nsswitch.conf changes, instead of just creating
[FreeBSD/FreeBSD.git] / etc / rc.d / abi
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: abi
7 # REQUIRE: archdep
8 # KEYWORD: nojail
9
10 . /etc/rc.subr
11
12 name="abi"
13 start_precmd="${name}_prestart"
14 start_cmd=":"
15
16 sysv_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
24 linux_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
40 svr4_start()
41 {
42         echo -n ' svr4'
43         kldload svr4 > /dev/null 2>&1
44 }
45
46 abi_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
57 load_rc_config $name
58 run_rc_command "$1"