[Pkg-sysvinit-devel] Bug#714039: Bug#714039: initscripts: Require-Start problem

heroxbd heroxbd at gentoo.org
Wed Jul 17 23:46:51 UTC 2013


Dear Petter,

Petter Reinholdtsen <pere at hungry.com> writes:

> This seem to be the wrong approach to handle $all, at least the way I
> understand $all.  $all is the set of enabled init.d scripts except those
> that depend on $all, not every file in /etc/init.d/.

"enabled init.d scripts" in the same runlevel or all runlevels? Yeah,
but do that will require more code than a sinple globbing :D

> The approach you have selected will fail with scripts having a
> dependency graph like this
>
>   foo <- $all <- bar <- baz
>
> foo do not depend on $all, while bar do, and baz depend on bar.  Note
> that insserv also give a strange ordering on this setup, as $all is
> taken to mean order script at current end sequence number +1, and
> dependencies for scripts depending on scripts depending on $all are
> really ignored.
>
> So the dependency ordering listed above will with insserv end up with
>
>  S01foo
>  S03baz
>  S04bar
>
> Note that the sequence number 02 that bar would have used if it wasn't
> for the $all dependency is empty.  

> It is the reason why I recommend not using the $all dependency at all.


Excuse me, I fail to see the validity of this example.

In, http://wiki.debian.org/LSBInitScripts,

,----
| $all facility supported by insserv to start a script after all the
| other scripts, at the end of the boot sequence. This only work for
| start ordering, not stop ordering. It is not possible to depend on a
| script which depend on $all.
`----

it is clearly said baz depending on bar is not possible.

> It is the reason why I recommend not using the $all dependency at all.

We have rc.local using it already. And we need to handle it. We can
manually map Require-Start to Should-Start in OpenRC, while I do still
think it should be written like that to be more logical. Anyway, we lose
nothing in insserv by making this change, do we?

> I assume systemd and upstart handle $all differently... :)

not sure ;)

Cheers,
Benda



More information about the Pkg-sysvinit-devel mailing list