Bug#806438: update-rc.d: Do not fail when initscripts is not installed

Felipe Sateler fsateler at debian.org
Fri Nov 27 13:16:20 GMT 2015


Package: sysv-rc
Version: 2.88dsf-59.2
Severity: normal
Tags: patch
User: pkg-systemd-maintainers at lists.alioth.debian.org
Usertags: integration

Hi,

In order to allow systems that do not require initscripts, update-rc.d
needs to cope with the services it provides being missing. Currently, if
initscripts is missing, the packages that specify a Requires-* LSB
dependency will fail to configure, as insserv will return with an error,
because it cannot compute a correct ordering sequence.

On systemd systems, however, the ordering sequence is not used, and all
that is required is that enable/disable links are present. So in systemd
systems we can force insserv to generate the links even if the ordering
is wrong.

If a systemd-only system then installs initscripts, because initscripts
calls update-rc.d in postinst, that will recompute the sequences, so the
correct ordering should be reestablished afterwards.

Allowing this change would enable many packages to drop their dependency
against initscripts, which are currently only required for this reason.

Attached is a patch that passes the -f flag to insserv when the file
/etc/init.d/mountkernfs.sh is not present. This preserves the current
behavior as long as initscripts is not purged, but allows (in the
future, when package dependencies have been corrected) a systemd without
the initscripts package. mountkernfs.sh is used as flag file to not fork
a new process, and because it is the most heavily depended-upon service
provided by initscripts.

Additional information and motivation at:

http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/2015-November/009674.html
https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=pkg-systemd-maintainers@lists.alioth.debian.org;dist=unstable;tag=initscripts-dep

Saludos

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.2.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)

Versions of packages sysv-rc depends on:
ii  debconf [debconf-2.0]  1.5.58
ii  insserv                1.14.0-5
ii  startpar               0.59-3
ii  sysvinit-utils         2.88dsf-59.2

Versions of packages sysv-rc recommends:
ii  lsb-base  9.20150917

Versions of packages sysv-rc suggests:
pn  bum  <none>

-- debconf information excluded
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-update-rc.d-Ensure-insserv-doesn-t-fail-initscripts-.patch
Type: text/x-diff
Size: 1739 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/attachments/20151127/d9ae9f8c/attachment.patch>


More information about the Pkg-systemd-maintainers mailing list