Bug#645540: "Essential" package conflict between sysvinit and systemd-sysv

October 22nd, 2011 - 10:50 am ET by James | Report spam

systemd-sysvinit can't be essential since that'd force it onto all
systems.



I suppose, then, that implies that a "virtual package" - "init", for instance -
would have to be marked "Essential", and that both sysvinit and systemd-sysv
would have to _not_ be marked as "Essential".

More generally, there are several "component packages" that compose a working
"systemd" itself, and these components will not create a "working init" unless
installed as a group. So then, there will also have to be some "systemd virtual
package" that brings together these components, and it will be this "systemd
virtual package" that is marked "Provides: init, Conflicts: init, and
Replaces: init", and not systemd-sysv itself.

The virtual package "systemd", it seems, would include:

some renamed "systemd-base", which was the previous "systemd" package
libpam-systemd
libsystemd-daemon0
libsystemd-login0
systemd-sysv

Of course, some of the other packages, systemd-gui for instance, would be
referenced by "Recommends: systemd-gui" within the new "systemd" virtual
package.


James




To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
email Follow the discussionReplies 1 replyReplies Make a reply

Replies

#1 Tollef Fog Heen
October 22nd, 2011 - 11:10 am ET | Report spam
]] James

Hi,

| > systemd-sysvinit can't be essential since that'd force it onto all
| > systems.
|
| I suppose, then, that implies that a "virtual package" - "init", for instance -
| would have to be marked "Essential", and that both sysvinit and systemd-sysv
| would have to _not_ be marked as "Essential".

A virtual package is just that, virtual. It can't be marked essential
since it only exists by virtue of being provided by other packages.
It's essentially just a synchronisation point, it's not a package in its
own right.

| More generally, there are several "component packages" that compose a working
| "systemd" itself, and these components will not create a "working init" unless
| installed as a group.

systemd works fine as init as long as you install systemd and boot with
init=/bin/systemd.

| So then, there will also have to be some "systemd virtual
| package" that brings together these components, and it will be this "systemd
| virtual package" that is marked "Provides: init, Conflicts: init, and
| Replaces: init", and not systemd-sysv itself.

First, you're talking about a metapackage, not a virtual package.
Second, you're doing this much more complicated than it has to be,
assuming the changes in sysvinit and the rest of the system were done,
the necessary provides, conflicts and replaces would be added to
systemd-sysv.

Cheers,
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are



To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact

Similar topics