summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 5a83ef1..f678d45 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 fa0ddf2..ee09ac8 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 a6dcd22..8800434 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 ecd3666..ded9b4e 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 c0fc0ef..34fcd4b 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 43ab0a7..91fd3dd 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 bdef9be..ee4367e 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 48cb036..35c166f 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 66e5893..5990509 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 d4a8658..26ea9d6 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 5ace4dd..a7c54c8 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 3bb75a2..ea9fa34 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 80623aa..9d6faa4 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 4af5f94..55fd868 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 4d7dc69..d12f0f6 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 c74d9bf..9ad045b 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 0226822..89a4801 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 baa265a..6304ae1 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 e4de60b..c2270ff 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 c6275bb..45e0fab 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 2cf2db4..a362228 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 76bda18..eb9744d 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 e2ac4e1..2403987 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 39f542a..3af1ad6 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 b8385b4..8b02ac4 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 9e6868c..964e219 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 2dab970..9d88fa0 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 2edbbf1..15c9fc5 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 4012512..6220c1b 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 fb7afab..712adc2 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 fe99145..af21279 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 ae1536c..6dc37c8 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 66e746e..afe8ce7 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 a452268..3c1c52c 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 00c9c6b..564531b 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 824ce13..cb584b3 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 ce7cff3..22b364b 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 80a3804..39ce01d 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 7faa983..5355fb9 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 232c1e4..a4e4fc3 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 a2e6fca..734d220 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 ddf8e7a..178f182 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 a2b8ac8..28c5614 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 d77ebaf..3b18a24 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 2fa1c13..a3e1f2e 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 97421fa..1fb6506 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 3d8628e..6d04b3d 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 91a31a5..ca0d325 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);