Bug#915407: libpam-systemd: please add a virtual package "logind" to allow alternatives
Adam Borowski
kilobyte at angband.pl
Mon Dec 3 15:35:02 GMT 2018
Package: libpam-systemd
Version: 239-14
Severity: wishlist
Tags: patch
Hi!
Patch given on salsa as a pull request:
https://salsa.debian.org/systemd-team/systemd/merge_requests/20
It replaces the libpam-elogind-compat hack.
We replaced the unlamented systemd-shim with elogind as the way to let
packages that want logind functionality run without systemd being pid 1.
Its dbus API is compatible -- and if it ever lags behind, a simple version
relation will handle dicrepancies.
As discussed in January on IRC, and briefly today on debian-init-diversity,
the plan is for logind providers (currently libpam-systemd) to declare:
Provides: logind
or for the distribution's default:
Provides: default-logind, logind
Individual packages that want this API can then:
Depends: default-logind | logind
I had prepared a set of patched packages a long time ago:
https://angband.pl/debian logind main
they are badly outdated by now, but at the time worked adequately (despite
elogind being in a far worse state by then).
On a sysvinit running system, you can test the same today by installing
libpam-elogind-compat from experimental. It has Provides: that override
a real package which is a no-no, but functionally works the same as the
virtual package given here.
Use cases, for individual packages: (copied from a mail by smcv):
"""
Packages that need to register their login sessions with logind
(gdm3, lightdm, openssh-server):
- remove libpam-systemd dependency
- add default-logind | logind dependency
Packages that need to determine which login session a process belongs
to (policykit-1, dbus, procps):
- remove libpam-systemd dependency
- add default-logind | logind dependency
- keep libsystemd dependency for its client APIs
Packages that need to call logind D-Bus APIs to reboot, suspend etc.
(gdm3, lightdm, gnome-settings-daemon):
- remove libpam-systemd dependency
- add default-logind | logind dependency
- keep libsystemd dependency (if present) for its client APIs
Packages that rely on running systemd --user units (dbus-user-session,
gnome-session, gnupg):
- unchanged, elogind is not supported here
"""
Meow!
-- System Information:
Debian Release: buster/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (150, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.20.0-rc4-debug-00035-g683ec76eed43 (SMP w/6 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
More information about the Pkg-systemd-maintainers
mailing list