[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#835507: Please clarify that sysvinit support decision is not going to expire



On Fri, 2016-08-26 at 12:38 -0400, Sam Hartman wrote:
> "Ansgar" == Ansgar Burchardt <ansgar@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


Reply to: