fix: explicitly include dbus-daemon and systemd-pam session-system essentials

With --exclude-weakdeps, two packages that nothing else hard-requires were
being silently dropped from the installed system:

- dbus-daemon (provides /usr/bin/dbus-run-session): gdm-wayland-session
  needs it to spawn the per-session D-Bus bus. Only anaconda-core requires
  it, and that is not installed into the target system.
- systemd-pam (provides pam_systemd.so): 'systemd' merely recommends it.
  Without pam_systemd, PAM 'optional' session rules fail silently, login
  sessions never register with logind, user@.service never starts, and the
  session bus lacks org.freedesktop.systemd1.

Result of either gap: gdm logs 'Session never registered, failing' five
times, then 'maximum number of display failures reached. Giving up.' and
the screen stays black — on VMs and bare metal alike (laptop bug).
Both packages validated live on a Fedora 44 guest; dnf5 check passes.
This commit is contained in:
Lukas Greve
2026-09-11 22:14:06 +02:00
parent ccf4f9d881
commit e74a88d133
+12 -1
View File
@@ -17,7 +17,9 @@
# Package list mirrors the Fedora 44 `core` comps group (mandatory + # Package list mirrors the Fedora 44 `core` comps group (mandatory +
# default packages), plus `basesystem`, `kernel` and `dhcp-client` from # default packages), plus `basesystem`, `kernel` and `dhcp-client` from
# the hidden core group, plus `fedora-repos` (usually pulled in via # the hidden core group, plus `fedora-repos` (usually pulled in via
# fedora-release-common, which is deselected here). # fedora-release-common, which is deselected here), plus session-system
# essentials (`dbus-daemon`, `systemd-pam`) that would otherwise be
# dropped by --exclude-weakdeps.
%packages --exclude-weakdeps # Beginning of the packages section. Package description courtesy of the Fedora project %packages --exclude-weakdeps # Beginning of the packages section. Package description courtesy of the Fedora project
@@ -71,6 +73,15 @@ zram-generator-defaults # Default configuration for zram-generator
## Repository definitions, pulled explicitly since fedora-release is deselected ## Repository definitions, pulled explicitly since fedora-release is deselected
fedora-repos # Fedora package repositories fedora-repos # Fedora package repositories
## Session-system essentials that nothing else hard-requires: with
## --exclude-weakdeps they would be dropped (systemd merely recommends
## systemd-pam; only anaconda requires dbus-daemon during installation).
## Without them, login sessions never register with logind (no
## pam_systemd.so) and display managers cannot spawn the session bus
## (no /usr/bin/dbus-run-session), which yields a silent black screen.
dbus-daemon # D-BUS message bus (provides /usr/bin/dbus-run-session, used by gdm-wayland-session et al.)
systemd-pam # systemd PAM module (pam_systemd.so — registers login sessions with logind, starts user@.service)
## Deselect Fedora release/branding packages — the remix packages below ## Deselect Fedora release/branding packages — the remix packages below
## provide system-release, system-release(44), fedora-release-identity and ## provide system-release, system-release(44), fedora-release-identity and
## system-logos instead ## system-logos instead