From f13913e366b9b5bc42669fa93c543cf3a22f02e8 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Tue, 25 Jul 2023 13:42:53 +0200 Subject: [PATCH] dracut-049-227.git20230725 Resolves: #1968118,#2181543 --- 0225.patch | 60 ++++++++++++++++++++++++++++++++++++++ 0226.patch | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++ dracut.spec | 9 +++++- 3 files changed, 152 insertions(+), 1 deletion(-) create mode 100644 0225.patch create mode 100644 0226.patch diff --git a/0225.patch b/0225.patch new file mode 100644 index 0000000..9116354 --- /dev/null +++ b/0225.patch @@ -0,0 +1,60 @@ +From d3d382cb0192c23abc448bd35b59502820a8b242 Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Sun, 23 Jul 2023 19:44:17 +0200 +Subject: [PATCH] fix(rngd): install system service file + +as there's no reason to keep a copy; there shouldn't be any modifications. + +In case there are args stored in a separate file (Fedora and alike), +it needs to be supplied too, but without the option to change the user. + +(Cherry-picked commit: c47a44cb25c0892d9af6e66ee9d7cd2c3beca31f) + +Resolves: #2181543 +--- + modules.d/06rngd/module-setup.sh | 9 ++++++++- + modules.d/06rngd/rngd.service | 7 ------- + modules.d/06rngd/sysconfig | 1 + + 3 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/modules.d/06rngd/module-setup.sh b/modules.d/06rngd/module-setup.sh +index 354bd0bb..7458e5dd 100644 +--- a/modules.d/06rngd/module-setup.sh ++++ b/modules.d/06rngd/module-setup.sh +@@ -32,7 +32,14 @@ check() { + + install() { + inst rngd +- inst_simple "${moddir}/rngd.service" "${systemdsystemunitdir}/rngd.service" ++ inst_simple "${systemdsystemunitdir}/rngd.service" ++ ++ if [ -r /etc/sysconfig/rngd ]; then ++ inst_simple "${moddir}/sysconfig" "/etc/sysconfig/rngd" ++ fi ++ ++ # make sure dependant libs are installed too ++ inst_libdir_file opensc-pkcs11.so + + systemctl -q --root "$initdir" add-wants sysinit.target rngd.service + } +diff --git a/modules.d/06rngd/rngd.service b/modules.d/06rngd/rngd.service +deleted file mode 100644 +index 570fbedb..00000000 +--- a/modules.d/06rngd/rngd.service ++++ /dev/null +@@ -1,7 +0,0 @@ +-[Unit] +-Description=Hardware RNG Entropy Gatherer Daemon +-DefaultDependencies=no +-Before=systemd-udevd.service +- +-[Service] +-ExecStart=/usr/sbin/rngd -f +diff --git a/modules.d/06rngd/sysconfig b/modules.d/06rngd/sysconfig +new file mode 100644 +index 00000000..100e8deb +--- /dev/null ++++ b/modules.d/06rngd/sysconfig +@@ -0,0 +1 @@ ++RNGD_ARGS="--fill-watermark=0 -x pkcs11 -x nist -x qrypt" + diff --git a/0226.patch b/0226.patch new file mode 100644 index 0000000..33e8e11 --- /dev/null +++ b/0226.patch @@ -0,0 +1,84 @@ +From 62fb051db129a1cbb5645107933e961a57d8bef3 Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Tue, 25 Apr 2023 14:56:59 +0200 +Subject: [PATCH] feat(hwdb): install hwdb on demand when module is needed + +Adding a module to install hwdb. Further extensions might make only selected +part of hwdb installable, to save space. The module is not included by default. + +Including the module adds 2MB of compressed data (on Fedora, the file has 12MB). + +hwdb is needed in case of custom HW, like a keyboard/mouse or various interfaces. + +Original PR: https://github.com/dracutdevs/dracut/pull/1681 + +(Cherry-picked commit: 062e739d89543a38d4b3e2cab155912bc4bf9e56) + +Resolves: #1968118 +--- + dracut.sh | 6 ++++++ + dracut.spec | 1 + + modules.d/95hwdb/module-setup.sh | 26 ++++++++++++++++++++++++++ + 3 files changed, 33 insertions(+) + +diff --git a/dracut.sh b/dracut.sh +index f58559e8..869b90b0 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -1302,6 +1302,12 @@ if ! [[ -d "$udevdir" ]]; then + [[ -e /usr/lib/udev/collect ]] && udevdir=/usr/lib/udev + fi + ++[[ -d $udevconfdir ]] \ ++ || udevconfdir="$(pkg-config udev --variable=udevconfdir 2>/dev/null)" ++if ! [[ -d "$udevconfdir" ]]; then ++ [[ -d /etc/udev ]] && udevconfdir=/etc/udev ++fi ++ + [[ -d $systemdutildir ]] \ + || systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null) + +diff --git a/dracut.spec b/dracut.spec +index 90fa903a..a417f780 100644 +--- a/dracut.spec ++++ b/dracut.spec +@@ -365,6 +365,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ + %{dracutlibdir}/modules.d/91crypt-loop + %{dracutlibdir}/modules.d/95debug + %{dracutlibdir}/modules.d/95fstab-sys ++%{dracutlibdir}/modules.d/95hwdb + %{dracutlibdir}/modules.d/95lunmask + %{dracutlibdir}/modules.d/95nvmf + %{dracutlibdir}/modules.d/95resume +diff --git a/modules.d/95hwdb/module-setup.sh b/modules.d/95hwdb/module-setup.sh +new file mode 100755 +index 00000000..16365377 +--- /dev/null ++++ b/modules.d/95hwdb/module-setup.sh +@@ -0,0 +1,26 @@ ++#!/bin/bash ++# This file is part of dracut. ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++check() { ++ return 255 ++} ++ ++# called by dracut ++install() { ++ local hwdb_bin ++ ++ # systemd-hwdb ships the file in /etc, with /usr/lib as an alternative. ++ # Therefore consider this location as preferred for configuration. ++ hwdb_bin="${udevdir}"/hwdb.bin ++ ++ if [[ ! -r "${hwdb_bin}" ]]; then ++ hwdb_bin="${udevconfdir}"/hwdb.bin ++ fi ++ ++ if [[ $hostonly ]]; then ++ inst_multiple -H "${hwdb_bin}" ++ else ++ inst_multiple "${hwdb_bin}" ++ fi ++} diff --git a/dracut.spec b/dracut.spec index 653ff82..edb5bd1 100644 --- a/dracut.spec +++ b/dracut.spec @@ -5,7 +5,7 @@ # strip the automatically generated dep here and instead co-own the # directory. %global __requires_exclude pkg-config -%define dist_free_release 225.git20230614 +%define dist_free_release 227.git20230725 Name: dracut Version: 049 @@ -252,6 +252,8 @@ Patch221: 0221.patch Patch222: 0222.patch Patch223: 0223.patch Patch224: 0224.patch +Patch225: 0225.patch +Patch226: 0226.patch Source1: https://www.gnu.org/licenses/lgpl-2.1.txt @@ -590,6 +592,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/91crypt-loop %{dracutlibdir}/modules.d/95debug %{dracutlibdir}/modules.d/95fstab-sys +%{dracutlibdir}/modules.d/95hwdb %{dracutlibdir}/modules.d/95lunmask %{dracutlibdir}/modules.d/95nvmf %{dracutlibdir}/modules.d/95resume @@ -706,6 +709,10 @@ echo '# Since rhel-8.3 dracut moved to use NetworkManager add_dracutmodules+=" network-legacy "' > /etc/dracut.conf.d/50-network-legacy.conf %changelog +* Tue Jul 25 2023 Pavel Valena - 049-227.git20230725 +- fix(rngd): install system service file +- feat(hwdb): install hwdb on demand when module is needed + * Wed Jun 14 2023 Pavel Valena - 049-225.git20230614 - fix(kernel-network-modules): allow specifying empty hostonly-nics Resolves: #2148318