Bug#575759: Deviations from LSB

Dmitry Bogatov KAction at debian.org
Sun Dec 16 07:41:42 GMT 2018

control: tags -1 +moreinfo

Seems things changed during last 8 years. Dear submitter, do you
consider information in manpage of insserv-1.18 sufficent to warrant bug
closing? (quoted below)

       insserv  is  a  low  level  tool  used  by update-rc.d which enables an
       installed system init script (`boot script')  by  reading  the  comment
       header of the script, e.g.:

         ### BEGIN INIT INFO
         # Provides:          boot_facility_1 [ boot_facility_2 ...]
         # Required-Start:    boot_facility_1 [ boot_facility_2 ...]
         # Required-Stop:     boot_facility_1 [ boot_facility_2 ...]
         # Should-Start:      boot_facility_1 [ boot_facility_2 ...]
         # Should-Stop:       boot_facility_1 [ boot_facility_2 ...]
         # X-Start-Before:    boot_facility_1 [ boot_facility_2 ...]
         # X-Stop-After:      boot_facility_1 [ boot_facility_2 ...]
         # Default-Start:     run_level_1 [ run_level_2 ...]
         # Default-Stop:      run_level_1 [ run_level_2 ...]
         # X-Interactive:     true
         # Short-Description: single_line_description
         # Description:       multiline_description
         ### END INIT INFO

       and  calculating the dependencies between all scripts. It is not recom‐
       mended to execute insserv directly unless you know exactly what  you're
       doing, doing so may render your boot system inoperable.  update-rc.d is
       the recommended interface for managing init scripts.  Please  be  aware
       that the line

         # Required-Stop:  boot_facility_1 [ boot_facility_2 ...]

       declares facilities which must be available during shutdown of the ser‐
       vice declared in the Provides tag.  Same holds true for

         # Should-Stop:    boot_facility_1 [ boot_facility_2 ...]

       which declares facilities which should be available during shutdown  of
       the service declared in the Provides tag. In both cases the script sys‐
       tem should avoid stopping services which are declared by these two Stop
       tags until the script including these tags is stopped.

       The  optional  X-Interactive keyword implies that the script using this
       keyword should be started alone  in  a  concurrent  boot  configuration
       because  it  interact  with  the  user  at the console.  Only the value
       `true' is recognised.  All other are ignored.

       The optional X-Start-Before keyword implies that the script using  this
       keyword  should be started before the specified service names.  Whereas
       the optional X-Stop-After keyword implies that the  script  using  this
       keyword  should  be  stopped  after  the  specified service names. Both
       implies that those services now depend on the specifying script.   With
       known dependencies and runlevel(s) insserv sets and reorders the corre‐
       sponding symbolic links of the concerned runlevels directories.

       insserv  scans  for  System  Facilities  in  the   configuration   file
       /etc/insserv.conf  and each file in the directory /etc/insserv.conf.d/.
       Each line which begins with $ and a following  name  defines  a  system
       facility  accordingly  to  the Linux Standard Base Specification (LSB),
       All names followed by such a system facility will declare the  required
       dependencies    of    the   facility.    Here   is   an   example   for

         # All local filesystems are mounted
         # (done during boot phase)
         $local_fs       boot

         # Low level networking
         $network        network route

         # Named is operational
         $named          named

         # All remote filesystems are mounted
         # (in some cases /usr may be remote).
         $remote_fs      $local_fs nfs

         # System logger is operational
         $syslog         syslog

         # All network daemons are running (This was removed in LSB 1.2)
         $netdaemons     portmap inetd

         # Services which need to be interactive
         <interactive>   boot.crypto

       Names starting with a `+' sign are marked as optional.  If the  service
       with  the name after the plus sign is available it will be used, if not
       available it is ignored silently.  Words beginning with  <  and  ending
       with  > are keywords.  Currently <interactive> is the only know keyword
       for marking a service as an  interactive  one,  e.g.  a  service  which
       requires a passphrase or password input during boot or runlevel change.
       The special facility $null is used to enforce an  empty  dependency  in
       case of Should-Stop and Required-Stop.

       In  addition to the defined System Facilities in the configuration file
       /etc/insserv.conf, insserv also knows the special facility $all.   This
       facility  indicates that a service should be inserted at the end of all
       services at starting and at the very beginning  at  stopping.   Clearly
       all  services  using this facility will be grouped into one starting or
       stopping order.

More information about the Debian-init-diversity mailing list