[Splashy-devel] Bug#485307: Bug#485307: splashy starts too late during startup/shutdown
Kel Modderman
kel at otaku42.de
Sun Sep 21 14:38:41 UTC 2008
On Sunday 21 September 2008 15:38:55 Petter Reinholdtsen wrote:
> [Petter Reinholdtsen]
> > To get that effect, the X-start-before header can be used to
> > document that it should not just start after mountkernfs, but it
> > should start before some script too. Perhaps mountdevsubfs is a
> > good choice?
>
> I tested this, and found it not to be working. Depending on $all as
> either start or stop dependency affect ordering for both start and
> stop.
>
> I've stated before, and can only repeat it. Please only use $all if
> there is no other way to get the wanted behaviour, as it do not behave
> the way most people expect. :) It is better and more predicatble to
> depend on other scripts.
>
> Anyway, the issue with $all affecting both start and stop sequences is
> noted, a test case is written, and we will discuss with upstream how
> it should work.
$all is _only_ intended to be used with (Required|Should)-Start, to quote
the LSB spec at [0]:
$all - facility supported by insserv to start a script after all the other
scripts, at the end of the boot sequence.
It describes that $all is only useful in directives that start a script,
not to stop it. We must be careful to not think of splashy as "starting" in
a runlevel that is calling all initscripts with the 'stop' argument.
Possibly the spec should be more clear about that.
Having said that, it is indeed a bug that insserv modifies the start runlevel
sort/sequence order when $all is found in (Required|Should)-Stop fields of the
LSB info, and it should definitely not do that.
To fix splashy and have it inserted in dependency based boot as expected simply
remove the $all keyword from Required-Stop. On my system it will start splashy
in runlevel S just after mountkernfs and before udev, and stop first in
sequence of runlevels 0 and 6.
insserv: enable service ../init.d/splashy -> /etc/init.d/../rc0.d/K01splashy
insserv: enable service ../init.d/splashy -> /etc/init.d/../rc6.d/K01splashy
insserv: enable service ../init.d/splashy -> /etc/init.d/../rcS.d/S04splashy
Thanks, Kel.
[0] http://wiki.debian.org/LSBInitScripts
---
--- a/scripts/init.d/splashy
+++ b/scripts/init.d/splashy
@@ -2,7 +2,7 @@
### BEGIN INIT INFO
# Provides: splashy
# Required-Start: mountkernfs
-# Required-Stop: $all
+# Required-Stop:
# Default-Start: S
# Default-Stop: 0 6
# Short-Description: A script to calculate the progress percentage for init scripts
---
More information about the Splashy-devel
mailing list