aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libexec/rc/rc.conf2
-rw-r--r--libexec/rc/rc.d/Makefile1
-rwxr-xr-xlibexec/rc/rc.d/SERVERS2
-rwxr-xr-xlibexec/rc/rc.d/abi11
-rwxr-xr-xlibexec/rc/rc.d/localpkg2
-rwxr-xr-xlibexec/rc/rc.d/sysvipc26
6 files changed, 30 insertions, 14 deletions
diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf
index 79bc1f3436e5..017ae6484f0f 100644
--- a/libexec/rc/rc.conf
+++ b/libexec/rc/rc.conf
@@ -638,8 +638,6 @@ accounting_enable="NO" # Turn on process accounting (or NO).
firstboot_sentinel="/firstboot" # Scripts with "firstboot" keyword are run if
# this file exists. Should be on a R/W filesystem so
# the file can be deleted after the boot completes.
-
-# Emulation/compatibility services provided by /etc/rc.d/abi
sysvipc_enable="NO" # Load System V IPC primitives at startup (or NO).
linux_enable="NO" # Linux binary compatibility loaded at startup (or NO).
clear_tmp_enable="NO" # Clear /tmp at startup.
diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile
index 06b365abb100..08c69c5871b3 100644
--- a/libexec/rc/rc.d/Makefile
+++ b/libexec/rc/rc.d/Makefile
@@ -107,6 +107,7 @@ CONFS= DAEMON \
swaplate \
sysctl \
syslogd \
+ sysvipc \
tmp \
ugidfw \
${_utx} \
diff --git a/libexec/rc/rc.d/SERVERS b/libexec/rc/rc.d/SERVERS
index 1cf019a056dd..9375d524e1d8 100755
--- a/libexec/rc/rc.d/SERVERS
+++ b/libexec/rc/rc.d/SERVERS
@@ -4,7 +4,7 @@
#
# PROVIDE: SERVERS
-# REQUIRE: mountcritremote abi ldconfig savecore watchdogd
+# REQUIRE: mountcritremote sysvipc abi ldconfig savecore watchdogd
# This is a dummy dependency, for early-start servers relying on
# some basic configuration.
diff --git a/libexec/rc/rc.d/abi b/libexec/rc/rc.d/abi
index bf582219a1f7..8284b58bdc98 100755
--- a/libexec/rc/rc.d/abi
+++ b/libexec/rc/rc.d/abi
@@ -14,14 +14,6 @@ desc="Enable foreign ABIs"
start_cmd="${name}_start"
stop_cmd=":"
-sysv_start()
-{
- echo -n ' sysvipc'
- load_kld sysvmsg
- load_kld sysvsem
- load_kld sysvshm
-}
-
linux_start()
{
local _tmpdir
@@ -48,12 +40,11 @@ abi_start()
local _echostop
_echostop=
- if checkyesno sysvipc_enable || checkyesno linux_enable; then
+ if checkyesno linux_enable; then
echo -n 'Additional ABI support:'
_echostop=yes
fi
- checkyesno sysvipc_enable && sysv_start
checkyesno linux_enable && linux_start
[ -n "${_echostop}" ] && echo '.'
diff --git a/libexec/rc/rc.d/localpkg b/libexec/rc/rc.d/localpkg
index 1214a263ccac..8853138b3c17 100755
--- a/libexec/rc/rc.d/localpkg
+++ b/libexec/rc/rc.d/localpkg
@@ -4,7 +4,7 @@
#
# PROVIDE: localpkg
-# REQUIRE: abi
+# REQUIRE: sysvipc abi
# BEFORE: securelevel
# KEYWORD: shutdown
diff --git a/libexec/rc/rc.d/sysvipc b/libexec/rc/rc.d/sysvipc
new file mode 100755
index 000000000000..0effbe7e22ca
--- /dev/null
+++ b/libexec/rc/rc.d/sysvipc
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: sysvipc
+# REQUIRE: archdep
+# KEYWORD: nojail
+
+. /etc/rc.subr
+
+name="sysvipc"
+desc="Load SysV IPC modules"
+rcvar="sysvipc_enable"
+start_cmd="${name}_start"
+stop_cmd=":"
+
+sysvipc_start()
+{
+ load_kld sysvmsg
+ load_kld sysvsem
+ load_kld sysvshm
+}
+
+load_rc_config $name
+run_rc_command "$1"