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.
generic-release conflicts with fedora-release and generic-logos conflicts
with fedora-logos, so dishes shipping the remix packages cannot coexist
with @core pulling Fedora branding — the RPM transaction fails at prepare
time. Replace @core with the explicit core package list (mandatory +
default, plus basesystem/kernel/dhcp-client), add fedora-repos explicitly,
and deselect fedora-release/fedora-logos; the remix packages provide
system-release, system-release(44) and system-logos instead.
Verified on nuc6i7kyb: a Fedora 44 GNOME hypervisor desktop VM installed
cleanly from this configuration (982-package resolution scratch-tested
before the install).
- Move storage options from 'modifiers' to 'required' in recipe_templates.yaml
- Changed required.storage from {'ext4': storage/standard.ks} to {'standard': ..., 'encrypted': ...}
- Removed storage from modifiers section
- This ensures storage: encrypted recipes include only storage/encrypted.ks
- Updated generated recipes and dishes to reflect the fix
- Move recipe-generator/ to cook/ for cleaner structure
- Fix ksflatten-relative path conversion to handle all %include paths
- Fix validation exit code to only fail on actual errors
- All recipes now generate and flatten successfully via make all