Bug#746578: libpam-systemd to flip dependencies - proposal
Ian Jackson writes ("Bug#746578: libpam-systemd to flip dependencies - proposal"):
> Here is my draft, just committed to git. I'm open to suggestions for
> changes. If we can't agree on the rationale I guess we could leave it
> out.
Josh Triplette produced a helpful detailed review. Here is the
revised draft.
Ian.
Rationale (Constitution 6.1(5)):
1. Currently libpam-systemd (which is pulled in by quite a few
dependency chains) Depends on `systemd-sysv | systemd-shim (>= 8-2)'.
2. The effect of this is that installing some packages which depend
(directly or indirectly) on libpam-systemd can cause a user's init
system to be switched to systemd, even on systems where a user has
deliberately chosen not to use the default init system, and even
when the switch is unnecessary.
3. Swappping the order of these dependencies would avoid that and has
no harmful effect:
4. In particular, on systems that already have systemd-sysv installed,
libpam-systemd will still not pull in systemd-shim, thus minimizing
the risk of breakage on systemd systems. However, on systems that
intentionally do not have systemd installed, the installation of
libpam-systemd will then prefer to pull in systemd-shim and keep
the installed init system rather than switching to systemd-sysv.
Decision (Constitution 6.1(4)):
5. We therefore overrule the decision of the maintainer of
libpam-systemd binary package. The Depends entry
systemd-sysv | systemd-shim (>= 8-2)
should be replaced by
systemd-shim (>= 8-2) | systemd-sysv
6. For the avoidance of doubt, we do not intend to set this specific
syntax in stone. For example, if in future libpam-systemd needs to
depend on a later systemd-shim, or needs a versioned rather than
unversioned dependency on systemd-sysv, that is fine and would not
contradict our decision.
Release (Constitution 6.1(5)):
7. Our advice is that this change should be in jessie. If necessary,
this view should be conveyed to the Release Team, after the change
is in unstable, by filing an unblock request in the usual way.
Reply to: