[PKG-OpenRC-Debian] Bug#817006: openrc: dangling diversion of /usr/sbin/{invoke, update}-rc.d
Adam Borowski
kilobyte at angband.pl
Mon Mar 7 03:31:57 UTC 2016
Package: openrc
Version: 0.20.4-2
Severity: critical
Justification: breaks unrelated software
I'm afrad the removal of diversions of /usr/sbin/{invoke,update}-rc.d
without undiverting them breaks anything that uses those scripts. This
makes many packages uninstallable:
.--=======================================================================
Setting up virtualbox (5.0.16-dfsg-2) ...
/var/lib/dpkg/info/virtualbox.postinst: 34: /var/lib/dpkg/info/virtualbox.postinst: update-rc.d: not found
dpkg: error processing package virtualbox (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up exim4-base (4.86.2-2) ...
/var/lib/dpkg/info/exim4-base.postinst: 88: /var/lib/dpkg/info/exim4-base.postinst: update-rc.d: not found
dpkg: error processing package exim4-base (--configure):
subprocess installed post-installation script returned error exit status 127
`--=======================================================================
Another casualty is logrotate:
.--=======================================================================
/etc/cron.daily/logrotate:
logrotate_script: 2: logrotate_script: invoke-rc.d: not found
error: error running non-shared postrotate script for /var/log/syslog of '/var/log/syslog
'
logrotate_script: 2: logrotate_script: invoke-rc.d: not found
error: error running shared postrotate script for '/var/log/mail.info
`--=======================================================================
I dared not to try to reboot to see if this makes the system unbootable as
well, which might be the case.
As noted by Andreas Hendriksson in #811708, you need to undivert on all
systems that had 0.20.4-1 installed, but not on those upgraded from jessie
or those who installed 0.20.4-2 anew. The version check proposed by Andreas
won't work, as an upgrade to 0.20.4-2 removes such information. Thus, we'd
need to check whether such a diversion exists and was created by openrc
rather than as an action by the sysadmin.
Thus, I propose guarding it with:
if [ "$(dpkg-divert --list /usr/sbin/invoke-rc.d)" = "diversion of /usr/sbin/invoke-rc.d to /usr/sbin/invoke-rc.d.init-system-helpers by openrc" ]
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable'), (150, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.4.1-x32 (SMP w/6 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages openrc depends on:
ii insserv 1.14.0-5.3
ii libaudit1 1:2.4.5-1+b1
ii libc6 2.21-9
ii libeinfo1 0.20.4-2
ii libpam0g 1.1.8-3.2
ii librc1 0.20.4-2
ii libselinux1 2.4-3+b1
Versions of packages openrc recommends:
ii init-system-helpers 1.29
Versions of packages openrc suggests:
pn policycoreutils <none>
-- no debconf information
More information about the OpenRC-devel
mailing list