On Fri, 2016-08-26 at 12:38 -0400, Sam Hartman wrote: > "Ansgar" == Ansgar Burchardt <ans...@debian.org> writes: > > Ansgar> On Fri, 26 Aug 2016 08:50:13 -0400 Sam Hartman wrote: > >> I think we want to reaffirm that policy section 9.3.2 and > section > Ansgar> 9.3.3 > >> represent current policy for init scripts, quoting > particularly > >> the following text from section 9.3.2: Packages that > >> include daemons for system services should place > Ansgar> scripts > >> in `/etc/init.d' to start or stop services at boot time > or > Ansgar> during a > >> change of runlevel. > > Ansgar> Does this really represent current policy? > > Ansgar> As far as I can tell Policy still assumes that sysvinit > is > Ansgar> the default init system and everything else is an > "alternate > Ansgar> init system" (9.11). > > There are many problems with regard to policy and init systems. I > believe that 9.3.2 on init scripts and 9.3.3 on update-rc.d are still > our current policy and still solid.
I don't think so. There is the larger issue that 9.3 only describes init.d scripts, but doesn't mention the current default init system at all. But even for just describing those init.d scripts, it looks fairly outdated: Policy 9.3.3 looks really outdated: it talks about sequence numbers and one should ask on d-devel@ to choose the right one; it also says that update-rc.d will start services in runlevels 2-5 and stop them in 0,1,6 by default. However the default runlevels and sequence numbers are taken from the (required) LSB comments (directly or indirectly). These special comments are not mentioned anywhere. How invoke-rc.d is invoked is also slightly outdated (the `which invoke-rc.d` part), although there is a bug against Policy to drop that bit. 9.3.2 suggests that editing the init script is neccessary to disable a service without de-installing it: they are configuration files "to disable a service without de-installing the package". That is a bad example. The `status` and `force-stop` options are not mentioned anywhere (invoke-rc.d mentions them). Though this is a minor issue. Having `try-restart` (from LSB) would also be nice... It would also be nice if "behave sensibly" would be better defined (for example LSB has standard exit codes). 9.4 also looks outdated. The functions in /lib/lsb/init-functions should be used if consistent output is desired (as far as I know it defaults to a different look for the messages, see /lib/lsb/init- functions.d/20-left-info-blocks). Init scripts should also really use /lib/lsb/init-functions which makes supporting alternatives easier (take for example /lib/lsb/init-functions.d/40-systemd). Ansgar