diff options
author | Bill Nottingham <notting@redhat.com> | 2008-04-25 14:16:31 -0400 |
---|---|---|
committer | Bill Nottingham <notting@redhat.com> | 2008-04-25 14:16:31 -0400 |
commit | 951e577ef3b59b24f7366d08ce738980f327cf5d (patch) | |
tree | 7626ede10d04c07163b2a1b8f02df9af9567f6b1 /event.d | |
parent | 6d68871c340d80954e1d474c9addc5cb4f30e968 (diff) | |
download | initscripts-951e577ef3b59b24f7366d08ce738980f327cf5d.tar initscripts-951e577ef3b59b24f7366d08ce738980f327cf5d.tar.gz initscripts-951e577ef3b59b24f7366d08ce738980f327cf5d.tar.bz2 initscripts-951e577ef3b59b24f7366d08ce738980f327cf5d.tar.xz initscripts-951e577ef3b59b24f7366d08ce738980f327cf5d.zip |
Import from event-compat-sysv-0.3.9-14.fc9
- Rework rc1, rcS, rcS-sulogin to use post-stop to avoid spurious 'rcS killed' messages (#444001)
- Allow 's' for single-user mode (#443554)
Diffstat (limited to 'event.d')
-rw-r--r-- | event.d/rc1 | 8 | ||||
-rw-r--r-- | event.d/rcS | 7 | ||||
-rw-r--r-- | event.d/rcS-sulogin | 11 |
3 files changed, 18 insertions, 8 deletions
diff --git a/event.d/rc1 b/event.d/rc1 index 35de4d3e..5153c8c2 100644 --- a/event.d/rc1 +++ b/event.d/rc1 @@ -1,6 +1,9 @@ # rc1 - runlevel 1 compatibility # # This task runs the old sysv-rc runlevel 1 ("single-user") scripts. +# /etc/rc.d/rc 1 will run the /etc/rc.d/rc1.d scripts. +# telinit S will run whichever task has "start on runlevel S", +# normally /etc/event.d/rcS-sulogin start on runlevel 1 @@ -17,3 +20,8 @@ script exec /etc/rc.d/rc 1 end script +post-stop script + clear + echo "Telling INIT to go to single user mode." + exec telinit S +end script diff --git a/event.d/rcS b/event.d/rcS index 728ae396..619e1e6d 100644 --- a/event.d/rcS +++ b/event.d/rcS @@ -15,14 +15,15 @@ script /etc/rc.d/rc.sysinit runlevel --reboot || true - +end script +post-stop script runlevel=$(/bin/awk -F ':' '$3 == "initdefault" { print $2 }' /etc/inittab) [ -z "$runlevel" ] && runlevel="3" for t in $(cat /proc/cmdline); do case $t in - -s|single|S) runlevel="S" ;; + -s|single|S|s) runlevel="S" ;; [1-9]) runlevel="$t" ;; esac done - telinit $runlevel + exec telinit $runlevel end script diff --git a/event.d/rcS-sulogin b/event.d/rcS-sulogin index 1a2f49e2..d74620db 100644 --- a/event.d/rcS-sulogin +++ b/event.d/rcS-sulogin @@ -1,18 +1,19 @@ # rcS-sulogin - "single-user" runlevel compatibility # -# This task runs the sulogin binary during "single-user" mode. +# This task runs /bin/bash during "single-user" mode, +# then continues to the default runlevel. start on runlevel S stop on runlevel console owner - script runlevel --set S >/dev/null || true - /bin/bash - + /bin/bash || true +end script +post-stop script runlevel=$(/bin/awk -F ':' '$3 == "initdefault" { print $2 }' /etc/inittab) [ -z "$runlevel" ] && runlevel="3" - telinit $runlevel + exec telinit $runlevel end script |