[Pkg-sysvinit-devel] Bug#751589: sysvinit-core: /sbin/init missing after switching from systemd to sysvinit

Steve Langasek vorlon at debian.org
Sat Jun 14 18:33:47 UTC 2014


Control: tags -1 - unreproducible
Control: reassign -1 sysvinit-core systemd-sysv
Control: found -1 sysvinit/2.88dsf-53
Control: found -1 systemd/204-6

> You can't remove the systemd package while systemd is still the active init.
> How did you force the removal?

> That said, even with that sequence of events /sbin/init is available here.
> I'm marking the bug as unreproducible until we have steps how we can
> reproduce the issue.

apt-get install sysvinit-core
apt-get install systemd-sysv
apt-get remove systemd-sysv
dpkg --configure -a

This bug shows an embarrassing lack of mastery of dpkg package relationship
semantics on the part of those managing the systemd packaging.  You
currently have:

 Replaces: sysvinit (<< 2.88dsf-44~), sysvinit-core
 Breaks: sysvinit-core

Policy 7.3 is quite clear on this:

     Normally a `Breaks' entry will have an "earlier than" version clause;
     such a `Breaks' is introduced in the version of an (implicit or
     explicit) dependency which violates an assumption or reveals a bug in
     earlier versions of the broken package, or which takes over a file
     from earlier versions of the package named in `Breaks'.  This use of
     `Breaks' will inform higher-level package management tools that the
     broken package must be upgraded before the new one.

If your package relationship does not involve an "earlier than" clause, it
should be a Conflicts, *not* a Breaks.  It was certainly an oversight on my
part that the sysvinit-core package didn't declare a Conflicts on
systemd-sysv and upstart; but to actively declare a Breaks for something
that every Debian Developer should know requires a Conflicts is something
else.

I have committed the fix for this to sysvinit git:

Package: sysvinit-core
Conflicts: systemd-sysv, upstart
Replaces: sysvinit (<< 2.88dsf-44~), systemd-sysv, upstart

and I will upload it just as soon as I untangle the current status of
sysvinit vis-a-vis unstable vs. experimental.  Please make the corresponding
fix on the systemd side.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/attachments/20140614/06450d6f/attachment-0001.sig>


More information about the Pkg-sysvinit-devel mailing list