aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-07-01 00:07:32 +0100
committerRoy Marples <roy@marples.name>2009-07-01 00:07:32 +0100
commitb4104957b198b38aba609ed3889e7fa605012d19 (patch)
tree0adad424aa3e5f5ab6fa6cb4f48f9ac9323dc29a
parent6abeec74301d8406ebbbd653b9fe9a0e234c09bf (diff)
We should use -feature instead of nofeature.
This matches the ifconfig and Gentoo USE flag syntax and is hopefully easier to read. Fixes #178.
-rw-r--r--init.d.misc/wpa_supplicant.in2
-rw-r--r--init.d/adjkerntz.in2
-rw-r--r--init.d/bootmisc.in2
-rw-r--r--init.d/consolefont.in2
-rw-r--r--init.d/devd.in2
-rw-r--r--init.d/devfs.in2
-rw-r--r--init.d/dmesg.in2
-rw-r--r--init.d/dumpon.in2
-rw-r--r--init.d/fsck.in2
-rw-r--r--init.d/hostid.in2
-rw-r--r--init.d/hostname.in2
-rw-r--r--init.d/hwclock.in2
-rw-r--r--init.d/ipfw.in2
-rw-r--r--init.d/keymaps.in2
-rw-r--r--init.d/killprocs.in2
-rw-r--r--init.d/local.in2
-rw-r--r--init.d/localmount.in2
-rw-r--r--init.d/mixer.in2
-rw-r--r--init.d/modules.in2
-rw-r--r--init.d/mount-ro.in2
-rw-r--r--init.d/moused.in2
-rw-r--r--init.d/mtab.in2
-rw-r--r--init.d/net.lo.in2
-rw-r--r--init.d/netmount.in2
-rw-r--r--init.d/network.in2
-rw-r--r--init.d/newsyslog.in2
-rw-r--r--init.d/numlock.in2
-rw-r--r--init.d/pf.in2
-rw-r--r--init.d/powerd.in2
-rw-r--r--init.d/procfs.in2
-rw-r--r--init.d/rc-enabled.in2
-rw-r--r--init.d/root.in2
-rw-r--r--init.d/savecore.in2
-rw-r--r--init.d/swap-blk.in2
-rw-r--r--init.d/swap.in2
-rw-r--r--init.d/syscons.in2
-rw-r--r--init.d/sysctl.BSD.in2
-rw-r--r--init.d/sysctl.Linux.in2
-rw-r--r--init.d/sysfs.in2
-rw-r--r--init.d/syslogd.in2
-rw-r--r--init.d/termencoding.in2
-rw-r--r--init.d/ttys.in2
-rw-r--r--init.d/urandom.in2
-rw-r--r--init.d/wscons.in2
-rw-r--r--man/runscript.830
-rw-r--r--src/librc/librc-depend.c23
-rw-r--r--src/rc/rc.c7
-rw-r--r--src/rc/runscript.c3
48 files changed, 82 insertions, 69 deletions
diff --git a/init.d.misc/wpa_supplicant.in b/init.d.misc/wpa_supplicant.in
index 5a83ef16..f678d459 100644
--- a/init.d.misc/wpa_supplicant.in
+++ b/init.d.misc/wpa_supplicant.in
@@ -14,7 +14,7 @@ depend()
use logger
after bootmisc modules
before dns dhcpcd net
- keyword noshutdown
+ keyword -shutdown
}
find_wireless()
diff --git a/init.d/adjkerntz.in b/init.d/adjkerntz.in
index fa0ddf2a..ee09ac8d 100644
--- a/init.d/adjkerntz.in
+++ b/init.d/adjkerntz.in
@@ -22,7 +22,7 @@ depend()
[ "$clock" != "UTC" -a ! -e /etc/wall_cmos_clock ]; then
need root
fi
- keyword nojail noprefix
+ keyword -jail -prefix
}
start()
diff --git a/init.d/bootmisc.in b/init.d/bootmisc.in
index a6dcd227..88004342 100644
--- a/init.d/bootmisc.in
+++ b/init.d/bootmisc.in
@@ -8,7 +8,7 @@ depend()
need localmount
before logger
after clock sysctl
- keyword noprefix
+ keyword -prefix
}
dir_writeable()
diff --git a/init.d/consolefont.in b/init.d/consolefont.in
index ecd36660..ded9b4ea 100644
--- a/init.d/consolefont.in
+++ b/init.d/consolefont.in
@@ -8,7 +8,7 @@ depend()
{
need localmount termencoding
after hotplug bootmisc
- keyword noopenvz noprefix nouml novserver noxenu
+ keyword -openvz -prefix -uml -vserver -xenu
}
start()
diff --git a/init.d/devd.in b/init.d/devd.in
index c0fc0ef6..34fcd4b0 100644
--- a/init.d/devd.in
+++ b/init.d/devd.in
@@ -10,7 +10,7 @@ depend() {
need localmount
after bootmisc
before net.lo0
- keyword nojail noprefix
+ keyword -jail -prefix
}
start_pre() {
diff --git a/init.d/devfs.in b/init.d/devfs.in
index 43ab0a76..91fd3dd0 100644
--- a/init.d/devfs.in
+++ b/init.d/devfs.in
@@ -6,7 +6,7 @@ description="Mount system critical filesystems in /dev."
depend() {
use dev
- keyword noprefix novserver
+ keyword -prefix -vserver
}
start() {
diff --git a/init.d/dmesg.in b/init.d/dmesg.in
index bdef9be6..ee4367e8 100644
--- a/init.d/dmesg.in
+++ b/init.d/dmesg.in
@@ -7,7 +7,7 @@ description="Set the dmesg level for a cleaner boot"
depend()
{
before dev modules
- keyword novserver
+ keyword -vserver
}
start()
diff --git a/init.d/dumpon.in b/init.d/dumpon.in
index 48cb036a..35c166f5 100644
--- a/init.d/dumpon.in
+++ b/init.d/dumpon.in
@@ -6,7 +6,7 @@ description="Configures a specific kernel dump device."
depend() {
need swap
- keyword nojail noprefix
+ keyword -jail -prefix
}
start() {
diff --git a/init.d/fsck.in b/init.d/fsck.in
index 66e58931..5990509c 100644
--- a/init.d/fsck.in
+++ b/init.d/fsck.in
@@ -9,7 +9,7 @@ _IFS="
depend()
{
use dev clock modules
- keyword nojail noopenvz noprefix notimeout novserver
+ keyword -jail -openvz -prefix -timeout -vserver
}
_abort() {
diff --git a/init.d/hostid.in b/init.d/hostid.in
index d4a86581..26ea9d6a 100644
--- a/init.d/hostid.in
+++ b/init.d/hostid.in
@@ -9,7 +9,7 @@ depend()
{
use root
before devd net
- keyword nojail noprefix
+ keyword -jail -prefix
}
_set()
diff --git a/init.d/hostname.in b/init.d/hostname.in
index 5ace4dd4..a7c54c80 100644
--- a/init.d/hostname.in
+++ b/init.d/hostname.in
@@ -5,7 +5,7 @@
description="Sets the hostname of the machine."
depend() {
- keyword noprefix
+ keyword -prefix
}
start()
diff --git a/init.d/hwclock.in b/init.d/hwclock.in
index 3bb75a2d..ea9fa348 100644
--- a/init.d/hwclock.in
+++ b/init.d/hwclock.in
@@ -28,7 +28,7 @@ depend()
else
before *
fi
- keyword noopenvz noprefix nouml novserver noxenu
+ keyword -openvz -prefix -uml -vserver -xenu
}
setupopts()
diff --git a/init.d/ipfw.in b/init.d/ipfw.in
index 80623aa7..9d6faa4f 100644
--- a/init.d/ipfw.in
+++ b/init.d/ipfw.in
@@ -13,7 +13,7 @@ opts="panic showstatus"
depend() {
before net
provide firewall
- keyword nojail
+ keyword -jail
}
ipfw() {
diff --git a/init.d/keymaps.in b/init.d/keymaps.in
index 4af5f94a..55fd868a 100644
--- a/init.d/keymaps.in
+++ b/init.d/keymaps.in
@@ -8,7 +8,7 @@ depend()
{
need localmount termencoding
after bootmisc
- keyword noopenvz noprefix nouml novserver noxenu
+ keyword -openvz -prefix -uml -vserver -xenu
}
start()
diff --git a/init.d/killprocs.in b/init.d/killprocs.in
index 4d7dc69d..d12f0f64 100644
--- a/init.d/killprocs.in
+++ b/init.d/killprocs.in
@@ -6,7 +6,7 @@ description="Kill all processes so we can unmount disks cleanly."
depend()
{
- keyword noprefix
+ keyword -prefix
}
start()
diff --git a/init.d/local.in b/init.d/local.in
index c74d9bf7..9ad045b9 100644
--- a/init.d/local.in
+++ b/init.d/local.in
@@ -7,7 +7,7 @@ description="Executes user commands in /etc/conf.d/local"
depend()
{
after *
- keyword notimeout
+ keyword -timeout
}
start()
diff --git a/init.d/localmount.in b/init.d/localmount.in
index 02268222..89a4801c 100644
--- a/init.d/localmount.in
+++ b/init.d/localmount.in
@@ -8,7 +8,7 @@ depend()
{
need fsck
use lvm modules mtab
- keyword nojail noopenvz noprefix novserver
+ keyword -jail -openvz -prefix -vserver
}
start()
diff --git a/init.d/mixer.in b/init.d/mixer.in
index baa265ac..6304ae16 100644
--- a/init.d/mixer.in
+++ b/init.d/mixer.in
@@ -7,7 +7,7 @@ extra_commands="restore"
depend()
{
need localmount
- keyword nojail noprefix
+ keyword -jail -prefix
}
restore()
diff --git a/init.d/modules.in b/init.d/modules.in
index e4de60b1..c2270ffd 100644
--- a/init.d/modules.in
+++ b/init.d/modules.in
@@ -7,7 +7,7 @@ description="Loads a user defined list of kernel modules."
depend()
{
use isapnp
- keyword noopenvz noprefix novserver
+ keyword -openvz -prefix -vserver
}
start()
diff --git a/init.d/mount-ro.in b/init.d/mount-ro.in
index c6275bb6..45e0fab4 100644
--- a/init.d/mount-ro.in
+++ b/init.d/mount-ro.in
@@ -7,7 +7,7 @@ description="Re-mount filesytems read-only for a clean reboot."
depend()
{
need killprocs savecache
- keyword noprefix noopenvz novserver
+ keyword -prefix -openvz -vserver
}
start()
diff --git a/init.d/moused.in b/init.d/moused.in
index 2cf2db40..a3622284 100644
--- a/init.d/moused.in
+++ b/init.d/moused.in
@@ -16,7 +16,7 @@ depend()
{
need localmount
after bootmisc
- keyword nojail noprefix
+ keyword -jail -prefix
}
start()
diff --git a/init.d/mtab.in b/init.d/mtab.in
index 76bda180..eb9744d6 100644
--- a/init.d/mtab.in
+++ b/init.d/mtab.in
@@ -7,7 +7,7 @@ description="Update /etc/mtab to match what the kernel knows about"
depend()
{
need root
- keyword noprefix
+ keyword -prefix
}
start()
diff --git a/init.d/net.lo.in b/init.d/net.lo.in
index e2ac4e18..24039878 100644
--- a/init.d/net.lo.in
+++ b/init.d/net.lo.in
@@ -21,7 +21,7 @@ depend()
need localmount
after bootmisc
provide net
- keyword nojail noprefix novserver
+ keyword -jail -prefix -vserver
case "${IFACE}" in
lo|lo0);;
diff --git a/init.d/netmount.in b/init.d/netmount.in
index 39f542a4..3af1ad6a 100644
--- a/init.d/netmount.in
+++ b/init.d/netmount.in
@@ -35,7 +35,7 @@ depend()
need net $pmap
use afc-client amd autofs openvpn
use dns nfs nfsmount portmap rpcbind rpc.statd rpc.lockd
- keyword nojail noprefix novserver
+ keyword -jail -prefix -vserver
}
start()
diff --git a/init.d/network.in b/init.d/network.in
index b8385b4f..8b02ac4c 100644
--- a/init.d/network.in
+++ b/init.d/network.in
@@ -13,7 +13,7 @@ depend()
need localmount
after bootmisc
provide net
- keyword nojail noprefix novserver
+ keyword -jail -prefix -vserver
}
uniqify()
diff --git a/init.d/newsyslog.in b/init.d/newsyslog.in
index 9e6868c9..964e219a 100644
--- a/init.d/newsyslog.in
+++ b/init.d/newsyslog.in
@@ -7,7 +7,7 @@ required_files="/etc/newsyslog.conf"
depend()
{
need localmount
- keyword noprefix
+ keyword -prefix
}
start()
diff --git a/init.d/numlock.in b/init.d/numlock.in
index 2dab970c..9d88fa08 100644
--- a/init.d/numlock.in
+++ b/init.d/numlock.in
@@ -9,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
depend()
{
need localmount
- keyword noopenvz noprefix novserver
+ keyword -openvz -prefix -vserver
}
_setleds()
diff --git a/init.d/pf.in b/init.d/pf.in
index 2edbbf13..15c9fc5d 100644
--- a/init.d/pf.in
+++ b/init.d/pf.in
@@ -11,7 +11,7 @@ extra_started_commands="reload"
depend() {
need localmount
- keyword nojail noprefix
+ keyword -jail -prefix
}
start()
diff --git a/init.d/powerd.in b/init.d/powerd.in
index 40125123..6220c1bb 100644
--- a/init.d/powerd.in
+++ b/init.d/powerd.in
@@ -12,7 +12,7 @@ depend()
need localmount
use logger
after bootmisc
- keyword nojail noprefix
+ keyword -jail -prefix
}
start_pre()
diff --git a/init.d/procfs.in b/init.d/procfs.in
index fb7afabd..712adc23 100644
--- a/init.d/procfs.in
+++ b/init.d/procfs.in
@@ -8,7 +8,7 @@ depend()
{
use modules devfs
need localmount
- keyword noopenvz noprefix novserver
+ keyword -openvz -prefix -vserver
}
start()
diff --git a/init.d/rc-enabled.in b/init.d/rc-enabled.in
index fe991457..af212797 100644
--- a/init.d/rc-enabled.in
+++ b/init.d/rc-enabled.in
@@ -7,7 +7,7 @@ depend()
need localmount net
after *
before local
- keyword noprefix
+ keyword -prefix
}
start()
diff --git a/init.d/root.in b/init.d/root.in
index ae1536c1..6dc37c86 100644
--- a/init.d/root.in
+++ b/init.d/root.in
@@ -7,7 +7,7 @@ description="Mount the root fs read/write"
depend()
{
need fsck
- keyword nojail noopenvz noprefix novserver
+ keyword -jail -openvz -prefix -vserver
}
start()
diff --git a/init.d/savecore.in b/init.d/savecore.in
index 66e746ee..afe8ce71 100644
--- a/init.d/savecore.in
+++ b/init.d/savecore.in
@@ -7,7 +7,7 @@ description="Saves a kernel dump."
depend()
{
need localmount
- keyword nojail noprefix
+ keyword -jail -prefix
}
start()
diff --git a/init.d/swap-blk.in b/init.d/swap-blk.in
index a452268c..3c1c52cf 100644
--- a/init.d/swap-blk.in
+++ b/init.d/swap-blk.in
@@ -5,7 +5,7 @@
depend()
{
before fsck
- keyword nojail noprefix
+ keyword -jail -prefix
}
start()
diff --git a/init.d/swap.in b/init.d/swap.in
index 00c9c6b6..564531ba 100644
--- a/init.d/swap.in
+++ b/init.d/swap.in
@@ -5,7 +5,7 @@
depend()
{
need localmount
- keyword nojail noopenvz noprefix novserver
+ keyword -jail -openvz -prefix -vserver
}
start()
diff --git a/init.d/syscons.in b/init.d/syscons.in
index 824ce131..cb584b36 100644
--- a/init.d/syscons.in
+++ b/init.d/syscons.in
@@ -4,7 +4,7 @@
depend() {
need localmount
- keyword nojail noprefix
+ keyword -jail -prefix
}
start() {
diff --git a/init.d/sysctl.BSD.in b/init.d/sysctl.BSD.in
index ce7cff38..22b364b2 100644
--- a/init.d/sysctl.BSD.in
+++ b/init.d/sysctl.BSD.in
@@ -6,7 +6,7 @@ depend()
{
use hostname
before bootmisc logger
- keyword noprefix
+ keyword -prefix
}
start()
diff --git a/init.d/sysctl.Linux.in b/init.d/sysctl.Linux.in
index 80a38047..39ce01d6 100644
--- a/init.d/sysctl.Linux.in
+++ b/init.d/sysctl.Linux.in
@@ -6,7 +6,7 @@ depend()
{
use hostname
before bootmisc logger
- keyword noopenvz noprefix novserver
+ keyword -openvz -prefix -vserver
}
start()
diff --git a/init.d/sysfs.in b/init.d/sysfs.in
index 7faa983c..5355fb9c 100644
--- a/init.d/sysfs.in
+++ b/init.d/sysfs.in
@@ -6,7 +6,7 @@ description="Mount the sys filesystem."
depend()
{
- keyword noprefix novserver
+ keyword -prefix -vserver
}
mount_sys()
diff --git a/init.d/syslogd.in b/init.d/syslogd.in
index 232c1e43..a4e4fc32 100644
--- a/init.d/syslogd.in
+++ b/init.d/syslogd.in
@@ -16,5 +16,5 @@ depend()
use net newsyslog
need localmount
after bootmisc
- keyword noprefix
+ keyword -prefix
}
diff --git a/init.d/termencoding.in b/init.d/termencoding.in
index a2e6fcab..734d2206 100644
--- a/init.d/termencoding.in
+++ b/init.d/termencoding.in
@@ -9,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
depend()
{
- keyword noopenvz noprefix nouml novserver noxenu
+ keyword -openvz -prefix -uml -vserver -xenu
}
start()
diff --git a/init.d/ttys.in b/init.d/ttys.in
index ddf8e7ab..178f182b 100644
--- a/init.d/ttys.in
+++ b/init.d/ttys.in
@@ -5,7 +5,7 @@
depend()
{
after fsck
- keyword noprefix
+ keyword -prefix
}
start()
diff --git a/init.d/urandom.in b/init.d/urandom.in
index a2b8ac8d..28c5614e 100644
--- a/init.d/urandom.in
+++ b/init.d/urandom.in
@@ -8,7 +8,7 @@ description="Initializes the random number generator."
depend()
{
need localmount
- keyword nojail noprefix
+ keyword -jail -prefix
}
save_seed()
diff --git a/init.d/wscons.in b/init.d/wscons.in
index d77ebafc..3b18a24b 100644
--- a/init.d/wscons.in
+++ b/init.d/wscons.in
@@ -5,7 +5,7 @@
depend()
{
need localmount
- keyword noprefix
+ keyword -prefix
}
start()
diff --git a/man/runscript.8 b/man/runscript.8
index 2fa1c131..a3e1f2ec 100644
--- a/man/runscript.8
+++ b/man/runscript.8
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd April 30, 2009
+.Dd July 1, 2009
.Dt RUNSCRIPT 8 SMM
.Os OpenRC
.Sh NAME
@@ -138,30 +138,30 @@ We should recalculate our dependencies if the listed files have changed.
.It Ic keyword
Tags a service with a keyword. Here's the keywords we currently understand:-
.Bl -tag -width indent
-.It Dv nojail
+.It Dv -jail
When in a jail, exclude this service from any dependencies. The service can
still be run directly.
-.It Dv noopenvz
-Same as nojail, but for OpenVZ systems.
-.It Dv noshutdown
+.It Dv -openvz
+Same as -jail, but for OpenVZ systems.
+.It Dv -shutdown
Don't stop this service when shutting the system down.
This normally quite safe as remaining daemons will be sent a SIGTERM just
before final shutdown.
Network related services such as the network and dhcpcd init scripts normally
have this keyword.
-.It Dv nostop
+.It Dv -stop
Don't stop this service when changing runlevels, even if not present.
This includes shutting the system down.
-.It Dv notimeout
+.It Dv -timeout
Do not time out waiting for that service.
-.It Dv nouml
-Same as nojail, but for UML systems.
-.It Dv novserver
-Same as nojail, but for VServer systems.
-.It Dv noxen0
-Same as nojail, but for Xen DOM0 systems.
-.It Dv noxenu
-Same as nojail, but for Xen DOMU systems.
+.It Dv -uml
+Same as -jail, but for UML systems.
+.It Dv -vserver
+Same as -jail, but for VServer systems.
+.It Dv -xen0
+Same as -jail, but for Xen DOM0 systems.
+.It Dv -xenu
+Same as -jail, but for Xen DOMU systems.
.El
.El
.Pp
diff --git a/src/librc/librc-depend.c b/src/librc/librc-depend.c
index 97421fab..1fb6506c 100644
--- a/src/librc/librc-depend.c
+++ b/src/librc/librc-depend.c
@@ -738,7 +738,7 @@ rc_deptree_update(void)
RC_STRING *s, *s2, *s2_np, *s3, *s4;
char *line = NULL;
size_t len = 0;
- char *depend, *depends, *service, *type, *nosys;
+ char *depend, *depends, *service, *type, *nosys, *onosys;
size_t i, k, l;
bool retval = true;
const char *sys = rc_sys();
@@ -841,17 +841,25 @@ rc_deptree_update(void)
* work for them. This doesn't stop them from being run directly. */
if (sys) {
len = strlen(sys);
- nosys = xmalloc(len + 3);
- nosys[0] = 'n';
- nosys[1] = 'o';
+ nosys = xmalloc(len + 1);
+ nosys[0] = '-';
for (i = 0; i < len; i++)
- nosys[i + 2] = (char)tolower((unsigned char)sys[i]);
- nosys[i + 2] = '\0';
+ nosys[i + 1] = (char)tolower((unsigned char)sys[i]);
+ nosys[i + 1] = '\0';
+
+ onosys = xmalloc(len + 3);
+ onosys[0] = 'n';
+ onosys[1] = 'o';
+ for (i = 0; i < len; i++)
+ onosys[i + 2] = (char)tolower((unsigned char)sys[i]);
+ onosys[i + 2] = '\0';
TAILQ_FOREACH_SAFE(depinfo, deptree, entries, depinfo_np)
if ((deptype = get_deptype(depinfo, "keyword")))
TAILQ_FOREACH(s, deptype->services, entries)
- if (strcmp(s->value, nosys) == 0) {
+ if (strcmp(s->value, nosys) == 0 ||
+ strcmp(s->value, onosys) == 0)
+ {
provide = get_deptype(depinfo, "iprovide");
TAILQ_REMOVE(deptree, depinfo, entries);
TAILQ_FOREACH(di, deptree, entries) {
@@ -870,6 +878,7 @@ rc_deptree_update(void)
}
}
free(nosys);
+ free(onosys);
}
/* Phase 3 - add our providers to the tree */
diff --git a/src/rc/rc.c b/src/rc/rc.c
index 3d8628e8..6d04b3dd 100644
--- a/src/rc/rc.c
+++ b/src/rc/rc.c
@@ -600,8 +600,11 @@ do_stop_services(const char *newlevel, bool parallel, bool going_down)
continue;
}
kwords = rc_deptree_depend(deptree, service->value, "keyword");
- if (rc_stringlist_find(kwords, "nostop") ||
- (going_down && rc_stringlist_find(kwords, "noshutdown")))
+ if (rc_stringlist_find(kwords, "-stop") ||
+ rc_stringlist_find(kwords, "nostop") ||
+ (going_down &&
+ (rc_stringlist_find(kwords, "-shutdown") ||
+ rc_stringlist_find(kwords, "noshutdown"))))
nstop = true;
else
nstop = false;
diff --git a/src/rc/runscript.c b/src/rc/runscript.c
index 91a31a59..ca0d3252 100644
--- a/src/rc/runscript.c
+++ b/src/rc/runscript.c
@@ -471,7 +471,8 @@ svc_wait(const char *svc)
/* Some services don't have a timeout, like fsck */
keywords = rc_deptree_depend(deptree, svc, "keyword");
- if (rc_stringlist_find(keywords, "notimeout"))
+ if (rc_stringlist_find(keywords, "-timeout") ||
+ rc_stringlist_find(keywords, "notimeout"))
forever = true;
rc_stringlist_free(keywords);