Bug#746577: closed by Michael Biebl <biebl at debian.org> (Re: Bug#746577: systemd-sysv: for upgrade safety, systemd-sysv and sysvinit-core must be coinstallable)
Zack Weinberg
zackw at panix.com
Tue May 6 01:29:37 BST 2014
On 05/05/2014 03:43 PM, Michael Stapelberg wrote:
> Hi Zack,
>
> Fundamentally we agree with you of course. The devil is in the detail,
> though: sysvinit-core and systemd are coinstallable, for all the reasons
> you explained.
>
> However, you seem to be using a package which depends on libpam-systemd,
> which, translated to English, means the package is using some
> functionality that can only be provided when logind is running. To
> ensure that logind is running, we had to make libpam-systemd depend on
> “systemd-sysv | systemd-shim”. It had to be systemd-sysv to not just
> ensure systemd is _present_, but to ensure it is _running_. If we don’t
> add this dependency, the package in question is broken, which may well
> be the bigger deal to most users than being able to roll back and forth
> between init systems :).
I understand this.
I contend that, therefore, "systemd-sysv", "sysvinit-core", *and*
"systemd-shim" (and "upstart" as well) (quotation marks indicate package
names) should *all* be coinstallable; an upgrade from wheezy should
install *both* "systemd-sysv" and "systemd-shim" if not already present,
and leave "sysvinit-core" installed; and a mechanism independent of
package management should control which init brings up the system on the
next boot.
I did a bit more digging into how it works right now in response to
Tolleef's message. First, "systemd-shim" currently doesn't conflict
with "systemd-sysv" or "systemd", or vice versa. I don't know how
"systemd-shim" works. Does it properly get out of the way if the
running PID 1 is in fact systemd? I hope so. If it doesn't, that might
be more of a hassle to sort out than anything else.
Second, it might simplify matters to split the programs 'telinit',
'halt', 'poweroff', 'reboot', 'runlevel', and 'shutdown', and their
manpages, to a separate package shared among all supported init
implementations. I observe that if you do install "systemd-sysv" on a
system that is currently booted with the /sbin/init from
"sysvinit-core", a subsequent 'reboot' still works. Does that mean that
/bin/systemctl knows how to talk to sysvinit /sbin/init? Can it do the
same for upstart? If so, perhaps the "systemd" package should just take
over those programs.
If those things are taken care of, then I see no reason why
sysvinit-core, systemd, and upstart could not all provide alternatives
for /sbin/init, and we'd be done here.
zw
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 880 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20140505/08b63c93/attachment-0005.sig>
More information about the Pkg-systemd-maintainers
mailing list