Make virtual facility $all more intuitive?
Petter Reinholdtsen
pere at hungry.com
Mon Aug 3 14:00:24 UTC 2009
Hi. A regular problem here in Debian, is the confusion caused by
depending on the virtual facility $all. Most people expect normal
dependencies to be applied together with $all, and not the current
behaviour. When three scripts have these headers:
Provides: a
Provides: b
Required-Start: $all
Provides: c
Required-Start: b
The expected dependency three and ordering look like this:
a <- b <- c
The current insserv implementation order them like this:
a c b
The dependency graph look something like this:
a <- (b) <- c <- $all <- b
(b) indicate where script b would have been located (and is assumed to
be located when dependency ordering is done) if it did not depend on
$all.
The reason is that $all override all dependency tracking and place the
scripts depending on it at a sequence point behind every script
without a dependency on $all.
Dr. Werner, is there any chance you would find time to modify insserv
to handle $all more intuitively. I believe the scripts need to be
split in two separate sets, the ones without direct or indirect
dependencies on $all, and the ones that have direct or indirect
dependencies on $all. Then the first set is ordered according to
their dependencies, and $all is made to depend on all of these, and
finally the second set is ordered according to their dependencies
without $all depending on them. See
<URL:http://bugs.debian.org/491391> for an example of the problems
triggered by the strange $all behaviour. What is your view on this?
I guess $all should also be added to the LSB list of virtual
facilities with an improved definition.
Happy hacking,
--
Petter Reinholdtsen
More information about the initscripts-ng-devel
mailing list