How packages should supply dependency information

Henrique de Moraes Holschuh hmh at
Tue Nov 8 02:16:59 UTC 2005

On Mon, 07 Nov 2005, Thomas Hood wrote:
> > No.  Please lets get rid of the kludges and fix update-rc.d while at it.
> Yes, but it is important that packages that get rebuilt continue to
> function as before until they are updated by their maintainers.
> That means that the "start" and "stop" arguments of update-rc.d must
> retain their meaning.

Of course.  We can actually add another -rc.d interface instead of
update-rc.d, and deprecate update-rc.d in the far future.

My vote is for register-rc.d, which is a far better idea of what the "new"
update-rc.d is about.

Whatever you do, remember that any "register-rc.d"-like interface **MUST**
be initscript-system agnostic, and so does any metadata provided by the
packages.  The register-rc.d *implementation* otoh would not be agnostic, it
would be tailored to the initscript installed in the system. Just like
invoke-rc.d and rc works.

This means runlevels would be at the very least [a-z][A-Z][0-9_-]+,
Debian-allowed runlevels (0, S, 1, 2 and 6) would be remmaped to labels like
what I described in the paper and debconf talks, etc.

> > Add an local admin mode, that stores parallel data in /etc, and packages are
> > not to use that.  Later, whichever tool needs something merges both sets,
> > with the /etc entries overriding the /usr ones.
> Well, if the "factory defaults" are going to be merged with local
> changes at run time then it would be best to put the former in /lib/
> and the latter in /etc/.

Since we don't have /share, I have to agree with you. /lib it is. I suggest
/lib/initscripts/<something>/* (so that we can have more stuff in other
initscripts/* directories).

> If we decide to put dependency configuration in the initscript itself (a la LSB)
> then a way of implementing the desired "factory default" files would be to hack
> dpkg so that it extracts the LSB header information out of pristine
> initscripts before considering whether or not to install them, and
> stores this header in a standard place such as /var/lib/dpkg/init-deps/NAME.

Forget it. No touching dpkg or apt or anything of the sort. If you need to
do it, you're doing something wrong.

  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

More information about the initscripts-ng-devel mailing list