From 958f43d437a044ef6492565fbac9231389dd82ba Mon Sep 17 00:00:00 2001 From: Demi Marie Obenour Date: Mon, 4 Nov 2024 16:12:52 -0500 Subject: [PATCH] Move dracut to its own RPM package This was recommended on Fedora's Matrix channel. --- rpm_spec/core-agent.spec.in | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/rpm_spec/core-agent.spec.in b/rpm_spec/core-agent.spec.in index 3392a4a0..f7824d20 100644 --- a/rpm_spec/core-agent.spec.in +++ b/rpm_spec/core-agent.spec.in @@ -134,6 +134,7 @@ Requires: sed Requires: util-linux Requires: e2fsprogs Requires: hostname +Requires: (%{name}-dracut if dracut) # for Qubes Manager VM updater Requires: xterm # for qubes-desktop-run @@ -373,6 +374,19 @@ switching from user to root. Since all the user data in a VM is accessible already from normal user account, there is not much more to guard there. Qubes VMs are single user systems. +%package dracut +Summary: Dracut configuration needed in Qubes OS +License: GPL +Group: Qubes +Requires: dracut +Requires: qubes-core-agent = %{version} + +%description dracut +Dracut configuration needed in Qubes OS. This enables +passwordless login in rescue and emergency modes, as well +as configuring dracut to only install certain drivers and +omit others. + %package thunar Summary: Thunar support for Qubes VM tools Requires: Thunar @@ -1021,12 +1035,6 @@ rm -f %{name}-%{version} /usr/lib/qubes/resize-rootfs /usr/lib/qubes/set-default-text-editor /usr/lib/qubes/tinyproxy-wrapper -/usr/lib/dracut/dracut.conf.d/30-qubes.conf -# Ensure that dracut is not a hard requirement. -# It is only needed with in-VM initramfs, not -# dom0-provided initramfs. -%dir /usr/lib/dracut/modules.d/99qubes -/usr/lib/dracut/modules.d/99qubes/module-setup.sh /usr/lib/environment.d/60-gnome-software-fix.conf %dir /usr/lib/qubes/init @@ -1097,6 +1105,11 @@ rm -f %{name}-%{version} /usr/share/caja-python/extensions/qvm_dvm_caja.py* %endif +%files dracut +/usr/lib/dracut/dracut.conf.d/30-qubes.conf +%dir /usr/lib/dracut/modules.d/99qubes +/usr/lib/dracut/modules.d/99qubes/module-setup.sh + %files nautilus /usr/share/nautilus-python/extensions/qvm_copy_nautilus.py* /usr/share/nautilus-python/extensions/qvm_move_nautilus.py*