[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: