Bug#746578: libpam-systemd to flip dependencies - proposal
On Tue, Nov 04, 2014 at 07:47:05AM +0100, Christian Seiler wrote:
> Am 02.11.2014 06:59, schrieb Josh Triplett:
> > Apart from that, I would still request that someone with the ability to
> > produce a modified local mirror test the two critical cases mentioned in
> > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746578#129 . If those
> > two cases work, then systemd systems should not end up with systemd-shim
> > installed under normal circumstances, making breakage far less likely.
>
> debootstrap 1.0.64 on a current Jessie box with a locally modified
> and otherwise up-to-date (2014-11-04T05:00Z) mirror wants to pull in the
> following packages[1]:
>
[...snip list in favor of diff...]
> [1] debootstrap --print-debs --no-check-gpg \
> --include=libpam-systemd jessie $DIR $MIRROR
>
> PS: Diff of the stuff that is pulled in compared to the same command
> done in the current archive (after sorting the package list):
> @@ -7,6 +7,7 @@
> bash
> bsdmainutils
> bsdutils
> +cgmanager
> coreutils
> cpio
> cron
> @@ -57,6 +58,7 @@
> libcap2-bin
> libcap-ng0
> libc-bin
> +libcgmanager0
> libcomerr2
> libcryptsetup4
> libdb5.3
> @@ -70,6 +72,7 @@
> libgcc1
> libgcrypt20
> libgdbm3
> +libglib2.0-0
> libgmp10
> libgnutls-deb0-28
> libgnutls-openssl27
> @@ -94,6 +97,8 @@
> libnettle4
> libnewt0.52
> libnfnetlink0
> +libnih1
> +libnih-dbus1
> libp11-kit0
> libpam0g
> libpam-modules
> @@ -153,6 +158,7 @@
> sensible-utils
> startpar
> systemd
> +systemd-shim
> systemd-sysv
> sysvinit-utils
> sysv-rc
> I've also tried debootstrap 1.0.62 on a Fedora 19 box with the same
> mirror, with the same results.
>
> Note that systemd-shim together with cgmanager is pulled in.
Thank you very much for the careful testing and analysis!
This result concerns me greatly, and I think the technical committee
should take this into account when considering whether to flip the
dependencies of libpam-systemd around.
I find it odd that debootstrap produced this result, and I've filed a
bug on debootstrap about this, but in any case, with current
debootstrap, flipping the libpam-systemd dependencies around will result
in installing systemd-shim (but not any non-systemd init that needs it)
on systemd systems. Given past bugs in both systemd-shim and cgmanager
that broke systemd, that seems less than ideal. (Not utterly
unreasonable, but it introduces an entirely unnecessary additional
source of potential problems.)
This isn't a complete showstopper, since most of the time people seem to
debootstrap a standard system and then install additional packages.
However, it would affect a debootstrap with --include=task-desktop or
--include=gnome or similar.
Does anyone see an obvious way to structure the dependencies to avoid
this result and only install systemd-sysv? If no way exists, it might
be worth making sure jessie's debootstrap gets fixed in time.
> My guess is that there's some greediness in the dependency resolver in
> debootstrap, and as long as there's no conflict, it won't try to follow
> other alternatives to see if the dependencies have already been met.
>
> Also note that neither --exclude=systemd-shim,cgmanager nor
> --exclude=systemd-shim seem to have no effect whatsoever on
> the list of packages. (Which is probably a bug in debootstrap, because
> it should at least warn you if it can't fulfill the specified --exclude,
> but also in this case it could actually exclude it...)
I've filed a bug on debootstrap for these two issues.
> I haven't tested the upgrade scenario.
I appreciate the test you already ran. I'd love to see an upgrade test
as well (from a system with sysvinit installed), but this test already
revealed an issue.
- Josh Triplett
Reply to: