Bug#943583: sysv-rc: information from the Policy Manual for README.runlevels

Sean Whitton spwhitton at spwhitton.name
Sat Oct 26 22:11:26 BST 2019

Package: sysv-rc
Version: 2.96-1
Severity: minor
X-debbugs-cc: 941194 at bugs.debian.org, Ansgar Burchardt <ansgar at debian.org>

Dear maintainers,

We are removing some implementation details of the runlevels system from
the Policy Manual.  Most of the information is duplicated in
README.runlevels as shipped by sysv-rc, and is anyway not relevant to
package maintainers as such, who are only allowed to invoke update-rc.d.

Directly comparing the text we're removing with the contents of
README.runlevels, however, reveals that the old Policy Manual text
assumes a lot less knowledge of classic UNIX init practices than does

It seems to me that someone who had only ever worked with systems using
systemd, and who now needed to learn how sysvinit runlevels work, would
have an easier time of it if they had the Policy Manual text in addition
to README.runlevels.

In particular, these three paragraphs explain ideas which are (at least
partially) implicitly assumed by README.runlevels:

> When ``init`` changes runlevel first the targets of the links whose
> names start with a ``K`` are executed, each with the single argument
> ``stop``, followed by the scripts prefixed with an ``S``, each with the
> single argument ``start``. (The links are those in the ``/etc/rcn.d``
> directory corresponding to the new runlevel.) The ``K`` links are
> responsible for killing services and the ``S`` link for starting
> services upon entering the runlevel.

> The two-digit number mm is used to determine the order in which to run
> the scripts: low-numbered links have their scripts run first. For
> example, the ``K20`` scripts will be executed before the ``K30``
> scripts. This is used when a certain service must be started before
> another. For example, the name server ``bind`` might need to be started
> before the news server ``inn`` so that ``inn`` can set up its access
> lists. In this case, the script that starts ``bind`` would have a lower
> number than the script that starts ``inn`` so that it runs first:

> The two runlevels 0 (halt) and 6 (reboot) are slightly different. In
> these runlevels, the links with an ``S`` prefix are still called after
> those with a ``K`` prefix, but they too are called with the single
> argument ``stop``.

I would therefore like to suggest that this text be incorporated into
README.runlevels.  The license for the text is GPL-2+.  Our copyright
stanza is

    Files: *
    Copyright: 1996, 1997, 1998, Ian Jackson and Christian Schwarz
      1999, Chris Waters, Joey Hess, and Joost Witteveen
      1999, 2001, Raphaël Hertzog and Brendan O'Dea
      1999-2018, many other Debian contributors
    License: GPL-2+

... but I'm not sure this text has actually ever been updated since Ian
Jackson wrote it the mid-nineties.

You can see all of the text that we are removing by fetching commit
6f04afb058a4cbf8914fad028abef42d3505447b from the policy.git master

Sean Whitton
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://www.chiark.greenend.org.uk/pipermail/debian-init-diversity/attachments/20191026/840fc43a/attachment.sig>

More information about the Debian-init-diversity mailing list