Re: Please help me make athcool compatible with dependency-based init systems (was: Release Update: freeze, architecture requalification)
On Wednesday 23 July 2008 06:18:43 Nicolas Boullis wrote:
> > Hi,
> > Disclaimer: I've been pretty busy recently, not giving my Debian
> > packages the care and love they deserve. That's why I'm now asking for
> > help, somewhat late...
> > On Sat, Jul 19, 2008 at 03:35:35PM +0200, Luk Claes wrote:
> > >
> > > * Prepare init.d-Scripts for dependency-based init systems
> > >
> > > Wider testing of dependency-based init systems has lead to some new bugs
> > > for this goal, but the current state looks quite well. We are confident
> > > that we will have full support for dep-based init system in lenny.
> > One of my packages, namely athcool installs an init script that is not
> > yet compatible with dependency-based init systems. For some reason, it
> > was not detected by automatic systems such as lintian, and no bug was
> > filed against it, and no-one cared about it yet.
> > Athcool installs an init script but does not install links to run it on
> > boot, and that might be the reason why lintian did not notice about it.
> > (No startup link is installed because athcool causes bad stability
> > issues on some systems. If one tests it and experiences such problems,
> > the system is back to a normal state after a reboot.) Someone who is
> > satisfied with athcool can run update-rc.d (as documented in
> > /usr/share/doc/athcool/README.Debian) to enable startup links.
> > I'd like to reproduce a similar behaviour with the headers for
> > dependency-based init systems, but I know close to nothing about such
> > systems. I read the corresponding section of the LSB, but it did not
> > help me much. I guess I could set Default-Start and Default-Stop empty.
> > But then I have no idea how I would document the enablement of startup
> > links by the user. Since those keywords are called "Default", I guess
> > there is a way to override them, but how? Or I think one might change
> > the Default-Start and Default-Stop keyworks, but then who would they ask
> > the system to take the change into account?
Just add the LSB header with correct information like:
### BEGIN INIT INFO
# Provides: athcool
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Description: enable powersaving mode for Athlon/Duron processors
### END INIT INFO
Your package does not call update-rc.d in postinst, courtesy of
"dh_installinit -n", therefore no links get created even on insserv system.
There is no need to modify README.Debian instructions, as insserv package
provides an update-rc.d wrapper. When the admin follows the existing
instructions of "update-rc.d athcool start 20 2 3 4 5 ." you will get runlevel
links, just that the sequence number 20 is ignored and a more precise sequence
number is calculated by insserv.