From 42bfd7b6dc6d1ebc49c1c6b24e21772df4f6967b Mon Sep 17 00:00:00 2001
From: Roy Marples <roy@marples.name>
Date: Tue, 19 Feb 2008 14:29:20 +0000
Subject: Move the shell code to check for RC_SYS to the keywords dependency.

---
 init.d.Linux/clock       | 22 +++++++++-------------
 init.d.Linux/consolefont |  8 +-------
 init.d.Linux/keymaps     |  8 +-------
 init.d.Linux/modules     |  3 ++-
 init.d.Linux/sysctl      |  2 +-
 man/runscript.8          | 10 +++++++++-
 6 files changed, 23 insertions(+), 30 deletions(-)

diff --git a/init.d.Linux/clock b/init.d.Linux/clock
index a6305e92..03e5b133 100755
--- a/init.d.Linux/clock
+++ b/init.d.Linux/clock
@@ -28,25 +28,21 @@ depend()
 	else
 		before *
 	fi
+	keywords nouml novps noxenu
 }
 
 setupopts()
 {
-	case "${RC_SYS}" in
-		UML|VPS|XENU)
-			utc="${RC_SYS}"
+	case "$(uname -m)" in
+		s390*)
+			utc="s390"
 			;;
 		*)
-			case "$(uname -m)" in
-				s390*)
-					utc="s390"
-					;;
-				*)
-					if [ -e /proc/devices ] && grep -q " cobd$" /proc/devices; then
-						utc="coLinux"
-					fi
-					;;
-			esac
+			if [ -e /proc/devices ] && \
+				grep -q " cobd$" /proc/devices
+			then
+				utc="coLinux"
+			fi
 			;;
 	esac
 
diff --git a/init.d.Linux/consolefont b/init.d.Linux/consolefont
index e2d06392..28a2cdb0 100755
--- a/init.d.Linux/consolefont
+++ b/init.d.Linux/consolefont
@@ -9,6 +9,7 @@ depend()
 	need localmount
 	need keymaps    # sets up terminal encoding scheme
 	after hotplug
+	keywords nouml novps noxenu
 }
 
 start()
@@ -16,13 +17,6 @@ start()
 	# Forget about any font until we are successful
 	rm -rf "${RC_LIBDIR}"/console
 
-	case "${RC_SYS}" in
-		UML|VPS|XENU)
-			ewarn "Not loading consolefont for ${RC_SYS} systems"
-			return 0
-			;;
-	esac
-
 	ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
 	consolefont=${consolefont:-${CONSOLEFONT}}
 	unicodemap=${unicodemap:-${UNICODEMAP}}
diff --git a/init.d.Linux/keymaps b/init.d.Linux/keymaps
index fb7d9b2d..a60a949a 100755
--- a/init.d.Linux/keymaps
+++ b/init.d.Linux/keymaps
@@ -15,17 +15,11 @@ dumpkeys_charset=${dumpkeys_charset:-${DUMPKEYS_CHARSET}}
 depend()
 {
 	need localmount
+	keywords nouml novps noxenu
 }
 
 start()
 {
-	case "${RC_SYS}" in
-		UML|VPS|XENU)
-			ewarn "Not loading keymaps for ${RC_SYS} systems"
-			return 0
-			;;
-	esac
-
 	if [ -z "${keymap}" ]; then
 		eerror "You need to setup keymap in /etc/conf.d/keymaps first"
 		return 1
diff --git a/init.d.Linux/modules b/init.d.Linux/modules
index f4f9a895..f29d0a15 100755
--- a/init.d.Linux/modules
+++ b/init.d.Linux/modules
@@ -7,13 +7,14 @@ description="Loads a user defined list of kernel modules."
 depend()
 {
 	use isapnp
+	keywords novps
 }
 
 start()
 {
 	# Should not fail if kernel do not have module
 	# support compiled in ...
-	[ ! -f /proc/modules -o "${RC_SYS}" = "VPS" ] && return 0
+	[ ! -f /proc/modules ] && return 0
 
 	local KV=$(uname -r)
 	local KV_MAJOR=${KV%%.*}
diff --git a/init.d.Linux/sysctl b/init.d.Linux/sysctl
index d56bf93b..81dced9e 100644
--- a/init.d.Linux/sysctl
+++ b/init.d.Linux/sysctl
@@ -6,11 +6,11 @@ depend()
 {
 	use hostname
 	before bootmisc logger
+	keywords novps
 }
 
 start()
 {
-	[ "${RC_SYS}" = "VPS" ] && return 0
 	[ -e /etc/sysctl.conf ] || return 0
 	ebegin "Configuring kernel parameters"
 	sysctl -p /etc/sysctl.conf >/dev/null
diff --git a/man/runscript.8 b/man/runscript.8
index 7a05c6d6..2c62ece2 100644
--- a/man/runscript.8
+++ b/man/runscript.8
@@ -138,7 +138,15 @@ Tags a service with a keyword. Here's the keywords we currently understand:-
 When in a jail, exclude this service from any dependencies. The service can
 still be run directly.
 .It Dv notimeout
-do not time out waiting for that service.
+Do not time out waiting for that service.
+.It Dv nouml
+Same as nojail, but for UML systems.
+.It Dv novps
+Same as nojail, but for VServer and OpenVZ systems.
+.It Dv noxen0
+Same as nojail, but for Xen DOM0 systems.
+.It Dv noxenu
+Same as nojail, but for Xen DOMU systems.
 .El
 .El
 .Pp
-- 
cgit v1.2.3