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