How packages should supply dependency information

Thomas Hood jdthood at
Mon Nov 7 22:12:26 UTC 2005

Henrique de Moraes Holschuh wrote:
> If you are going to do it via a file, then it is much better if you actually
> place one file *per initscript* (and not per package) in /usr/share
> somewhere


The dh_installinit convention can be followed: default to using the
package name, but provide some way of overriding this.

>> Options specified on the command line would override any in the file,
>> where 'start' corresponds to 'Default-Start:' and 'stop' to 'Default-Stop:'.
> 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.

> 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/.

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.

Thomas Hood

More information about the initscripts-ng-devel mailing list