abi revision 179930
1227825Stheraven#!/bin/sh
2227825Stheraven#
3227825Stheraven# $FreeBSD: head/etc/rc.d/abi 179930 2008-06-22 16:19:50Z mtm $
4227825Stheraven#
5227825Stheraven
6227825Stheraven# PROVIDE: abi
7227825Stheraven# REQUIRE: archdep
8227825Stheraven# KEYWORD: nojail
9227825Stheraven
10227825Stheraven. /etc/rc.subr
11227825Stheraven
12227825Stheravenname="abi"
13227825Stheravenstart_cmd="${name}_start"
14227825Stheravenstop_cmd=":"
15227825Stheraven
16227825Stheravensysv_start()
17227825Stheraven{
18227825Stheraven	echo -n ' sysvipc'
19227825Stheraven	load_kld sysvmsg
20227825Stheraven	load_kld sysvsem
21227825Stheraven	load_kld sysvshm
22227825Stheraven}
23227825Stheraven
24227825Stheravenlinux_start()
25227825Stheraven{
26227825Stheraven	local _tmpdir
27227825Stheraven
28227825Stheraven	echo -n ' linux'
29227825Stheraven	load_kld -e 'linux(aout|elf)' linux
30227825Stheraven	if [ -x /compat/linux/sbin/ldconfigDisabled ]; then
31227825Stheraven		_tmpdir=`mktemp -d -t linux-ldconfig`
32227825Stheraven		/compat/linux/sbin/ldconfig -C ${_tmpdir}/ld.so.cache
33227825Stheraven		if ! cmp -s ${_tmpdir}/ld.so.cache /compat/linux/etc/ld.so.cache; then
34227825Stheraven			cat ${_tmpdir}/ld.so.cache > /compat/linux/etc/ld.so.cache
35227825Stheraven		fi
36227825Stheraven		rm -rf ${_tmpdir}
37227825Stheraven	fi
38227825Stheraven}
39227825Stheraven
40227825Stheravensvr4_start()
41227825Stheraven{
42227825Stheraven	echo -n ' svr4'
43227825Stheraven	load_kld -m svr4elf svr4
44227825Stheraven}
45227825Stheraven
46227825Stheravenabi_start()
47227825Stheraven{
48227825Stheraven	local _echostop
49227825Stheraven
50227825Stheraven	_echostop=
51227825Stheraven	if checkyesno sysvipc_enable || checkyesno linux_enable || checkyesno svr4_enable; then
52227825Stheraven		echo -n 'Additional ABI support:'
53227825Stheraven		_echostop=yes
54227825Stheraven	fi
55227825Stheraven
56227825Stheraven	checkyesno sysvipc_enable && sysv_start
57227825Stheraven	checkyesno linux_enable && linux_start
58227825Stheraven	checkyesno svr4_enable && svr4_start
59227825Stheraven
60227825Stheraven	[ -n "${_echostop}" ] && echo '.'
61227825Stheraven}
62227825Stheraven
63227825Stheravenload_rc_config $name
64227825Stheravenrun_rc_command "$1"
65227825Stheraven