Make virtual facility $all more intuitive?
Dr. Werner Fink
werner at suse.de
Mon Aug 3 14:16:54 UTC 2009
On Mon, Aug 03, 2009 at 04:00:24PM +0200, Petter Reinholdtsen wrote:
> 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.
Hmmm ... the facility $all is well documented in the manual page
of inserv:
Beside the defined System Facilities in the configuration file
/etc/insserv.conf, insserv also knows the special facility $all.
This facility indicates that a service should be inserted at the
end of all services. Clearly all services using this facility
will be grouped into one starting order.
changing this behaviour would break a lot of here in openSUSE.
If I change this and break the hard functional specification
from the development team I would run into trouble here.
Maybe I should add a warning or an error for things like
done in the script `c' above.
Any comments and/or opinions from your side?
Werner
PS: There is no need to cite my PhD as prefere in the
most case my first name (beside this my PhD was done
in theoretical physics not in computer since:) ...
--
"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr
More information about the initscripts-ng-devel
mailing list