Bug#746578: More systemd fallout :-/ [and 1 more messages]
On Fri, 19 Sep 2014 17:24:29 +0100 Ian Jackson <ijackson@chiark.greenend.org.uk> wrote:
> Josh Triplett writes ("Bug#746578: More systemd fallout :-/ [and 1 more messages]"):
> > Assuming that apt does the right thing with the dependencies reversed,
> > yes. I outlined several specific scenarios in my response to Steve's
> > mail, which someone ought to test with a modified libpam-systemd
> > package: new installs of jessie, installs of wheezy upgraded to jessie
> > (with or without a package installed whose upgraded version depends on
> > libpam-systemd), d-i (with and without selecting task-desktop), and
> > debootstrap (with and without simultaneously installing libpam-systemd).
>
> With respect, I don't necessarily think all those tests are necessary.
>
> We know that with such a dependency apt won't install systemd-shim if
> systemd is /already/ installed. That leaves the upgrade case.
Upgrade is not the only case there. It seems worth testing whether
apt and debootstrap will DTRT if asked to install a system from scratch
including a modified libpam-systemd.
Obviously, we don't need to test any case that never uses
libpam-systemd. I just checked a fresh debootstrap of jessie (minbase
and normal), and confirmed that it does *not* install libpam-systemd at
all; thus, those cases don't need checking with a modified systemd.
Enumerating a cut-down set of specific cases still worth testing with a
modified libpam-systemd:
- debootstrap a new jessie system with libpam-systemd explicitly
included via --include=libpam-systemd. This is non-trivial to test,
because debootstrap only supports specifying a single Debian mirror,
which would need to include the modified libpam-systemd. The result
should have libpam-systemd and systemd-sysv installed, but
systemd-shim and sysvinit-core not installed. If this works, then the
d-i case seems likely to work as well (despite it also respecting
recommends), so that shouldn't need separate testing.
- debootstrap a wheezy system, install a desktop environment whose
jessie version depends on libpam-systemd ("apt-get install gnome"
should work), then change /etc/apt/sources.list to point to a jessie
repository with a modified libpam-systemd (can use two repos unlike
the previous case), and upgrade. The result should have
libpam-systemd and systemd-sysv installed, but systemd-shim and
sysvinit-core not installed.
Those two cases should cover everything. I think we need the results of
the above two tests before changing the dependencies of libpam-systemd.
(Suggestions welcome for how to test the first case without constructing
a full Debian mirror and adding a modified libpam-systemd to it. I just
filed a wishlist bug on debootstrap to support using multiple mirrors.)
> During
> upgrade the change in dependency may result in systemd-shim being
> installed as well as systemd, but that is harmless.
>
> If it is not harmless then that is an RC bug in systemd-shim whose
> effects on end users in jessie can be avoided by filing that bug and
> preventing systemd-shim being in the release. But so far this is
> theoretical - AFAICT no-one has suggested that having systemd-shim
> installed when systemd is in use is anything except harmless.
See Steve's reply; while systemd-shim *should* avoid breaking systemd,
the previous RC bug indicates that it introduces a non-zero additional
risk on a system running systemd. Thus, it seems worthwhile to avoid
installing it on a systemd-only system if possible.
- Josh Triplett
Reply to: