diff --git a/0001-revert-fix-install.d-correctly-install-pre-genned-im.patch b/0001-revert-fix-install.d-correctly-install-pre-genned-im.patch index c7039ad..2c4fdc3 100644 --- a/0001-revert-fix-install.d-correctly-install-pre-genned-im.patch +++ b/0001-revert-fix-install.d-correctly-install-pre-genned-im.patch @@ -1,7 +1,7 @@ -From 07151e560561b415f7e016362ab1d180b13f33fb Mon Sep 17 00:00:00 2001 +From a9afc62a54034b452c974a2c6dfa959031566e61 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Wed, 12 Jun 2024 06:30:42 +0200 -Subject: [PATCH 01/13] revert: "fix(install.d): correctly install pre-genned +Subject: [PATCH 01/16] revert: "fix(install.d): correctly install pre-genned image and die if no args" revert: "fix(install.d): simplify and use what kernel-install gives us" @@ -15,12 +15,12 @@ https://github.com/dracut-ng/dracut-ng/issues/334 This is temporary, until the `20-grub.install` will be able to handle initrd from kernel staging area. --- - install.d/50-dracut.install | 152 ++++++++++++++++++----------- + install.d/50-dracut.install | 153 ++++++++++++++++++----------- install.d/51-dracut-rescue.install | 22 +---- - 2 files changed, 97 insertions(+), 77 deletions(-) + 2 files changed, 97 insertions(+), 78 deletions(-) diff --git a/install.d/50-dracut.install b/install.d/50-dracut.install -index 14f87721..441414ac 100755 +index 6019e8d8..441414ac 100755 --- a/install.d/50-dracut.install +++ b/install.d/50-dracut.install @@ -1,13 +1,13 @@ @@ -42,7 +42,7 @@ index 14f87721..441414ac 100755 exit 0 fi -@@ -16,64 +16,102 @@ if [[ "$KERNEL_INSTALL_IMAGE_TYPE" = "uki" ]]; then +@@ -16,65 +16,102 @@ if [[ "$KERNEL_INSTALL_IMAGE_TYPE" = "uki" ]]; then exit 0 fi @@ -190,6 +190,7 @@ index 14f87721..441414ac 100755 -# shellcheck disable=SC2046 -dracut -f \ +- --add-confdir hostonly \ - ${noimageifnotneeded:+--noimageifnotneeded} \ - $([[ $KERNEL_INSTALL_VERBOSE == 1 ]] && echo --verbose) \ - $([[ -n $KERNEL_IMAGE ]] && echo --kernel-image "$KERNEL_IMAGE") \ @@ -234,5 +235,5 @@ index 4ec9e3c5..9312e242 100755 suffix=$1 shift -- -2.47.1 +2.50.1 diff --git a/0002-feat-kernel-install-do-nothing-when-KERNEL_INSTALL_I.patch b/0002-feat-kernel-install-do-nothing-when-KERNEL_INSTALL_I.patch index bd86841..03c8005 100644 --- a/0002-feat-kernel-install-do-nothing-when-KERNEL_INSTALL_I.patch +++ b/0002-feat-kernel-install-do-nothing-when-KERNEL_INSTALL_I.patch @@ -1,7 +1,7 @@ -From e8c6d93a1fe7ea255754bfb93fad8daad62a85ce Mon Sep 17 00:00:00 2001 +From ae9180bd95fcfc2b01475dac3ddf05cd3011d484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 18 Jan 2022 18:08:42 +0100 -Subject: [PATCH 02/13] feat(kernel-install): do nothing when +Subject: [PATCH 02/16] feat(kernel-install): do nothing when $KERNEL_INSTALL_INITRD_GENERATOR says so dracut may be installed without being actually used. This is very common in @@ -68,5 +68,5 @@ index 9312e242..decee283 100755 suffix=$1 shift -- -2.47.1 +2.50.1 diff --git a/0003-fix-kernel-install-do-not-generate-an-initrd-when-on.patch b/0003-fix-kernel-install-do-not-generate-an-initrd-when-on.patch index 07b59e2..f8b2f28 100644 --- a/0003-fix-kernel-install-do-not-generate-an-initrd-when-on.patch +++ b/0003-fix-kernel-install-do-not-generate-an-initrd-when-on.patch @@ -1,7 +1,7 @@ -From 430b1b06e60de78c28ed6e70982a30f41585b219 Mon Sep 17 00:00:00 2001 +From 65705f91734f79d157d1365cef1ce8eb988996b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 18 Jan 2022 18:58:58 +0100 -Subject: [PATCH 03/13] fix(kernel-install): do not generate an initrd when one +Subject: [PATCH 03/16] fix(kernel-install): do not generate an initrd when one was specified According to the synopsis, kernel-install can be called with an @@ -35,5 +35,5 @@ index 3f961b11..076b4f5e 100755 IMAGE_PREGENERATED=${KERNEL_IMAGE%/*}/uki.efi else -- -2.47.1 +2.50.1 diff --git a/0004-fix-resume-always-include-the-resume-module.patch b/0004-fix-resume-always-include-the-resume-module.patch index 1971f7f..d00d77c 100644 --- a/0004-fix-resume-always-include-the-resume-module.patch +++ b/0004-fix-resume-always-include-the-resume-module.patch @@ -1,7 +1,7 @@ -From 67654956c27c159e29701a2b9fd9430d372a9f91 Mon Sep 17 00:00:00 2001 +From 8b0520da9fd68cfb47a128610949636ec88876ef Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Thu, 8 Aug 2024 00:21:12 +0200 -Subject: [PATCH 04/13] fix(resume): always include the resume module +Subject: [PATCH 04/16] fix(resume): always include the resume module as we can't determine with certainity that it won't be needed. @@ -47,5 +47,5 @@ index d419566e..785f681a 100755 if [[ -f /sys/power/resume ]]; then if [[ "$(< /sys/power/resume)" == "0:0" ]]; then -- -2.47.1 +2.50.1 diff --git a/0007-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch b/0005-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch similarity index 79% rename from 0007-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch rename to 0005-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch index e649f05..d45ac81 100644 --- a/0007-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch +++ b/0005-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch @@ -1,7 +1,7 @@ -From 9e9193f6da0348eb476c3aff6d066292b10cefe1 Mon Sep 17 00:00:00 2001 +From 87f4fba8e038e9ba16daf6bf89d20d6be4063998 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Fri, 16 Aug 2024 20:40:15 +0200 -Subject: [PATCH 07/13] feat(lsinitrd.sh): look for initrd in /usr/lib/modules/ +Subject: [PATCH 05/16] feat(lsinitrd.sh): look for initrd in /usr/lib/modules/ Introduce new path for lsinitrd.sh to look into: @@ -19,10 +19,10 @@ Resolves: RHEL-54650 1 file changed, 4 insertions(+) diff --git a/lsinitrd.sh b/lsinitrd.sh -index ac49b5d7..f8696e68 100755 +index ea26a260..3f719201 100755 --- a/lsinitrd.sh +++ b/lsinitrd.sh -@@ -125,6 +125,10 @@ find_initrd_for_kernel_version() { +@@ -133,6 +133,10 @@ find_initrd_for_kernel_version() { echo "/lib/modules/${kernel_version}/initrd" elif [[ -f /lib/modules/${kernel_version}/initramfs.img ]]; then echo "/lib/modules/${kernel_version}/initramfs.img" @@ -32,7 +32,7 @@ index ac49b5d7..f8696e68 100755 + echo "/usr/lib/modules/${kernel_version}/initramfs.img" elif [[ -f /boot/initramfs-${kernel_version}.img ]]; then echo "/boot/initramfs-${kernel_version}.img" - else + elif [[ -f /usr/lib/modules/${kernel_version}/initramfs.img ]]; then -- -2.47.1 +2.50.1 diff --git a/0005-fix-nfs-set-correct-ownership-and-permissions-for-st.patch b/0005-fix-nfs-set-correct-ownership-and-permissions-for-st.patch deleted file mode 100644 index 76b7bc3..0000000 --- a/0005-fix-nfs-set-correct-ownership-and-permissions-for-st.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 3e33ee5ce614059c9e4a81e8003df5142f1312c5 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Mon, 19 Jul 2021 11:27:28 +0200 -Subject: [PATCH 05/13] fix(nfs): set correct ownership and permissions for - statd directory - -The directory ownership for the statd directory should be -rpcuser:rpcuser. - -(cherry picked from commit ed5ab5787177f2be8a620a8d2d63a9ad26fbf149 from PR#583) - -Resolves: RHEL-53361 ---- - modules.d/95nfs/module-setup.sh | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh -index c6fdd506..e36cd144 100755 ---- a/modules.d/95nfs/module-setup.sh -+++ b/modules.d/95nfs/module-setup.sh -@@ -120,8 +120,13 @@ install() { - mkdir -m 0755 -p "$initdir/var/lib/nfs" - mkdir -m 0755 -p "$initdir/var/lib/nfs/rpc_pipefs" - mkdir -m 0770 -p "$initdir/var/lib/rpcbind" -- [ -d "/var/lib/nfs/statd/sm" ] && mkdir -m 0755 -p "$initdir/var/lib/nfs/statd/sm" -- [ -d "/var/lib/nfs/sm" ] && mkdir -m 0755 -p "$initdir/var/lib/nfs/sm" -+ [ -d "$dracutsysrootdir/var/lib/nfs/statd/sm" ] \ -+ && mkdir -m 0700 -p "$initdir/var/lib/nfs/statd" \ -+ && mkdir -m 0755 -p "$initdir/var/lib/nfs/statd/sm" \ -+ && chown -R rpcuser:rpcuser "$initdir/var/lib/nfs/statd" -+ [ -d "$dracutsysrootdir/var/lib/nfs/sm" ] \ -+ && mkdir -m 0755 -p "$initdir/var/lib/nfs/sm" \ -+ && chown -R rpcuser:rpcuser "$initdir/var/lib/nfs/sm" - - # Rather than copy the passwd file in, just set a user for rpcbind - # We'll save the state and restart the daemon from the root anyway --- -2.47.1 - diff --git a/0006-feat-dracut-init.sh-give-force-add-precedence-over-o.patch b/0006-feat-dracut-init.sh-give-force-add-precedence-over-o.patch deleted file mode 100644 index fa0394a..0000000 --- a/0006-feat-dracut-init.sh-give-force-add-precedence-over-o.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 7fea469146481fdf30e6f2c933fa85426b6a2927 Mon Sep 17 00:00:00 2001 -From: Pavel Valena -Date: Sat, 17 Aug 2024 01:43:50 +0200 -Subject: [PATCH 06/13] feat(dracut-init.sh): give --force-add precedence over - --omit - -This gives precedence of force_add_dracutmodules to omit_dracutmodules, -as there is not other way to override omit_dracutmodules list, and users -would expect it to be overriden from command line. - -Ref: https://github.com/dracut-ng/dracut-ng/pull/569 - -This way, `--add` retains it behaviour, and `--force-add` gains additional -functionality in non-hostonly mode. The module may still be skipped -if the module check returns 1, but it should throw error (as I'd expect -for `--force-add`). - -(cherry picked commit a669346f48cbb3278c51ba5e95b1b91f9bfdee0a from PR#584) - -Resolves: RHEL-53791 ---- - dracut-init.sh | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/dracut-init.sh b/dracut-init.sh -index 1ce0d7ed..d78d3cd0 100755 ---- a/dracut-init.sh -+++ b/dracut-init.sh -@@ -935,8 +935,10 @@ check_module() { - [[ $2 ]] || mods_checked_as_dep+=" $_mod " - - if [[ " $omit_dracutmodules " == *\ $_mod\ * ]]; then -- ddebug "Module '$_mod' will not be installed, because it's in the list to be omitted!" -- return 1 -+ if [[ " $force_add_dracutmodules " != *\ $_mod\ * ]]; then -+ ddebug "Module '$_mod' will not be installed, because it's in the list to be omitted!" -+ return 1 -+ fi - fi - - if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules" == *\ $_mod\ * ]]; then --- -2.47.1 - diff --git a/0008-feat-fips-include-fips-module-unconditionally.patch b/0006-feat-fips-include-fips-module-unconditionally.patch similarity index 74% rename from 0008-feat-fips-include-fips-module-unconditionally.patch rename to 0006-feat-fips-include-fips-module-unconditionally.patch index f597926..48fa7ef 100644 --- a/0008-feat-fips-include-fips-module-unconditionally.patch +++ b/0006-feat-fips-include-fips-module-unconditionally.patch @@ -1,7 +1,7 @@ -From c41f441214a98284475f0965973c3541bd158df7 Mon Sep 17 00:00:00 2001 +From 456b922e1610316d3b5980a9749eee62b9b0db34 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Mon, 19 Aug 2024 09:41:27 +0200 -Subject: [PATCH 08/13] feat(fips): include fips module unconditionally +Subject: [PATCH 06/16] feat(fips): include fips module unconditionally rhel-only @@ -11,7 +11,7 @@ Resolves: RHEL-39404 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh -index a497ac5c..e3b7ca33 100755 +index ed4ef20b..60b044ed 100755 --- a/modules.d/01fips/module-setup.sh +++ b/modules.d/01fips/module-setup.sh @@ -2,7 +2,7 @@ @@ -24,5 +24,5 @@ index a497ac5c..e3b7ca33 100755 # called by dracut -- -2.47.1 +2.50.1 diff --git a/0011-revert-fix-rescue-make-rescue-always-no-hostonly.patch b/0007-revert-fix-rescue-make-rescue-always-no-hostonly.patch similarity index 87% rename from 0011-revert-fix-rescue-make-rescue-always-no-hostonly.patch rename to 0007-revert-fix-rescue-make-rescue-always-no-hostonly.patch index 0e78c6b..5772ebd 100644 --- a/0011-revert-fix-rescue-make-rescue-always-no-hostonly.patch +++ b/0007-revert-fix-rescue-make-rescue-always-no-hostonly.patch @@ -1,7 +1,7 @@ -From ad4549b5e8fb66ee33126ba01bbb24f4801a3936 Mon Sep 17 00:00:00 2001 +From ea8bbaac7b4e0d91acc2d1a192d87b3f328e5808 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Wed, 29 Jan 2025 20:25:03 +0100 -Subject: [PATCH 11/13] revert: "fix(rescue): make rescue always no-hostonly" +Subject: [PATCH 07/16] revert: "fix(rescue): make rescue always no-hostonly" This partly reverts commit 224c00914bfb4ba1dee48e094ebb137facfd5947. @@ -26,5 +26,5 @@ index decee283..1be9b882 100755 --kver "$KERNEL_VERSION" \ "$BOOT_DIR_ABS/$INITRD" -- -2.47.1 +2.50.1 diff --git a/0012-fix-dracut-install-initize-fts-pointer.patch b/0008-fix-dracut-install-initize-fts-pointer.patch similarity index 73% rename from 0012-fix-dracut-install-initize-fts-pointer.patch rename to 0008-fix-dracut-install-initize-fts-pointer.patch index 69e080c..d27ed41 100644 --- a/0012-fix-dracut-install-initize-fts-pointer.patch +++ b/0008-fix-dracut-install-initize-fts-pointer.patch @@ -1,7 +1,7 @@ -From 2c33b7315571dd0fd8240111018ce474fc45f667 Mon Sep 17 00:00:00 2001 +From 0466276d2dabc86dde6ac2ce4f5b6387292bc377 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Thu, 13 Feb 2025 22:18:06 +0100 -Subject: [PATCH 12/13] fix(dracut-install): initize fts pointer +Subject: [PATCH 08/16] fix(dracut-install): initize fts pointer Related: RHEL-65204 --- @@ -9,10 +9,10 @@ Related: RHEL-65204 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c -index 96bc2eb6..3cd4e5cb 100644 +index bacbe86e..bd72f0b9 100644 --- a/src/install/dracut-install.c +++ b/src/install/dracut-install.c -@@ -1681,7 +1681,7 @@ static void find_suppliers_for_sys_node(Hashmap *suppliers, const char *node_pat +@@ -1703,7 +1703,7 @@ static void find_suppliers_for_sys_node(Hashmap *suppliers, const char *node_pat static void find_suppliers(struct kmod_ctx *ctx) { @@ -22,5 +22,5 @@ index 96bc2eb6..3cd4e5cb 100644 fts = fts_open(paths, FTS_NOSTAT | FTS_PHYSICAL, NULL); -- -2.47.1 +2.50.1 diff --git a/0013-feat-add-openssl-module.patch b/0009-feat-add-openssl-module.patch similarity index 98% rename from 0013-feat-add-openssl-module.patch rename to 0009-feat-add-openssl-module.patch index 99bf06b..f47ddd2 100644 --- a/0013-feat-add-openssl-module.patch +++ b/0009-feat-add-openssl-module.patch @@ -1,7 +1,7 @@ -From 73122f8b3430e8ecab30a5c261391081f8289d31 Mon Sep 17 00:00:00 2001 +From df9c56dd26d9a31ad9045e7b2ca00e0b366d56a8 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Mon, 20 Jan 2025 14:16:38 +0100 -Subject: [PATCH 13/13] feat: add openssl module +Subject: [PATCH 09/16] feat: add openssl module Resolves: RHEL-76323 --- @@ -60,12 +60,12 @@ Resolves: RHEL-76323 create mode 100644 src/ossl/tests/files/providers.cnf.expected diff --git a/Makefile b/Makefile -index bcb2bc8f..4bc88561 100644 +index 5ce30d5f..f10f72d7 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,7 @@ manpages = $(man1pages) $(man5pages) $(man7pages) $(man8pages) - .PHONY: install clean archive testimage test all check AUTHORS CONTRIBUTORS doc + .PHONY: install clean archive test all check AUTHORS CONTRIBUTORS doc -all: dracut.pc dracut-install src/skipcpio/skipcpio dracut-util +all: dracut.pc dracut-install src/skipcpio/skipcpio dracut-util ossl-config ossl-files @@ -85,7 +85,7 @@ index bcb2bc8f..4bc88561 100644 .PHONY: indent-c indent-c: astyle -n --quiet --options=.astylerc $(wildcard *.[ch] */*.[ch] src/*/*.[ch]) -@@ -208,6 +214,12 @@ endif +@@ -219,6 +225,12 @@ endif if [ -f dracut-util ]; then \ install -m 0755 dracut-util $(DESTDIR)$(pkglibdir)/dracut-util; \ fi @@ -98,16 +98,16 @@ index bcb2bc8f..4bc88561 100644 ifeq ($(enable_dracut_cpio),yes) install -m 0755 dracut-cpio $(DESTDIR)$(pkglibdir)/dracut-cpio endif -@@ -234,6 +246,7 @@ clean: - $(RM) dracut.pc +@@ -252,6 +264,7 @@ clean: $(RM) dracut-cpio src/dracut-cpio/target/release/dracut-cpio* + $(RM) -rf build/ doc_site/modules/ROOT/pages/man/* $(MAKE) -C test clean + $(MAKE) -C src/ossl clean syncheck: @ret=0;for i in dracut-initramfs-restore.sh modules.d/*/*.sh; do \ diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh -index e3b7ca33..206f0456 100755 +index 60b044ed..dc9b7fdd 100755 --- a/modules.d/01fips/module-setup.sh +++ b/modules.d/01fips/module-setup.sh @@ -5,6 +5,10 @@ check() { @@ -1017,5 +1017,5 @@ index 00000000..23b1b7de +/usr/lib64/ossl-modules/pkcs11.so +/usr/lib64/ossl-modules/oqsprovider.so.0.6.0 -- -2.47.1 +2.50.1 diff --git a/0009-fix-systemd-ask-password-do-not-half-install-systemd.patch b/0009-fix-systemd-ask-password-do-not-half-install-systemd.patch deleted file mode 100644 index 183ffb8..0000000 --- a/0009-fix-systemd-ask-password-do-not-half-install-systemd.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 8002a6125bf3f36144a92643ea02ad3abfa5d6d8 Mon Sep 17 00:00:00 2001 -From: Jo Zzsi -Date: Sun, 12 Jan 2025 20:01:09 -0500 -Subject: [PATCH 09/13] fix(systemd-ask-password): do not half-install - systemd-ask-password-wall - -Do not install the path unit when the service unit is not installed -for systemd-ask-password-wall. - -Fixes the following warning on the CI: - -[FAILED] Failed to start Forward Password Requests to Wall Directory Watch. -See 'systemctl status systemd-ask-password-wall.path' for details. -... -systemd[1]: systemd-ask-password-wall.path: Refusing to start, unit systemd-ask-password-wall.service to trigger not loaded. -systemd[1]: Failed to start Forward Password Requests to Wall Directory Watch. - -(cherry picked from commit 4ddc0053e869eb37b7c3d4e08876a687e1a995ae) - -Related: RHEL-65204 ---- - modules.d/01systemd-ask-password/module-setup.sh | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/modules.d/01systemd-ask-password/module-setup.sh b/modules.d/01systemd-ask-password/module-setup.sh -index 40774ab9..8b09b69f 100755 ---- a/modules.d/01systemd-ask-password/module-setup.sh -+++ b/modules.d/01systemd-ask-password/module-setup.sh -@@ -43,7 +43,6 @@ install() { - inst_multiple -o \ - "$systemdsystemunitdir"/systemd-ask-password-console.path \ - "$systemdsystemunitdir"/systemd-ask-password-console.service \ -- "$systemdsystemunitdir"/multi-user.target.wants/systemd-ask-password-wall.path \ - "$systemdsystemunitdir"/sysinit.target.wants/systemd-ask-password-console.path \ - systemd-ask-password \ - systemd-tty-ask-password-agent --- -2.47.1 - diff --git a/0014-fix-openssl-harden-ossl-build-CFLAGS.patch b/0010-fix-openssl-harden-ossl-build-CFLAGS.patch similarity index 81% rename from 0014-fix-openssl-harden-ossl-build-CFLAGS.patch rename to 0010-fix-openssl-harden-ossl-build-CFLAGS.patch index 17c051e..33de6b7 100644 --- a/0014-fix-openssl-harden-ossl-build-CFLAGS.patch +++ b/0010-fix-openssl-harden-ossl-build-CFLAGS.patch @@ -1,7 +1,7 @@ -From a5e477c67c45b4439249ab92590f7b67dab4f7df Mon Sep 17 00:00:00 2001 +From 18de7972b688001e73924a693d0bcd8c83e79f06 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Mon, 17 Feb 2025 06:58:26 +0100 -Subject: [PATCH 14/14] fix(openssl): harden ossl build CFLAGS +Subject: [PATCH 10/16] fix(openssl): harden ossl build CFLAGS Related: RHEL-76323 --- @@ -22,5 +22,5 @@ index 17b418c2..200dcbb5 100644 TESTS_CONFIG = $(wildcard tests/config/*.cnf) -- -2.47.1 +2.50.1 diff --git a/0010-fix-pcsc-add-libpcsclite_real.so.patch b/0010-fix-pcsc-add-libpcsclite_real.so.patch deleted file mode 100644 index 7204023..0000000 --- a/0010-fix-pcsc-add-libpcsclite_real.so.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 8f3b92db19bf4654d7346a1532928fcf172c09e6 Mon Sep 17 00:00:00 2001 -From: Manuel Fombuena -Date: Thu, 31 Oct 2024 12:01:46 +0000 -Subject: [PATCH 10/13] fix(pcsc): add libpcsclite_real.so.* - -systemd-cryptsetup requires libpcsclite_real.so.1 - -Without it you get the following error: - -systemd-cryptsetup[697]: loading "libpcsclite_real.so.1" failed: libpcsclite_real.so.1: cannot open shared object file: No such file or directory - -Signed-off-by: Manuel Fombuena - -(cherry picked from commit bfa00c2a03b07efae5a826aa881317acea9a4ec6) - -Related: RHEL-65204 ---- - modules.d/91pcsc/module-setup.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/modules.d/91pcsc/module-setup.sh b/modules.d/91pcsc/module-setup.sh -index 26b463d4..5ae1272b 100755 ---- a/modules.d/91pcsc/module-setup.sh -+++ b/modules.d/91pcsc/module-setup.sh -@@ -51,7 +51,8 @@ install() { - {"tls/$_arch/",tls/,"$_arch/",}"pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist" \ - {"tls/$_arch/",tls/,"$_arch/",}"pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so" \ - {"tls/$_arch/",tls/,"$_arch/",}"pcsc/drivers/serial/libccidtwin.so" \ -- {"tls/$_arch/",tls/,"$_arch/",}"libpcsclite.so.*" -+ {"tls/$_arch/",tls/,"$_arch/",}"libpcsclite.so.*" \ -+ {"tls/$_arch/",tls/,"$_arch/",}"libpcsclite_real.so.*" - - # Install the hosts local user configurations if enabled. - if [[ $hostonly ]]; then --- -2.47.1 - diff --git a/0015-fix-ossl-copy-executables-for-the-test-suite.patch b/0011-fix-ossl-copy-executables-for-the-test-suite.patch similarity index 89% rename from 0015-fix-ossl-copy-executables-for-the-test-suite.patch rename to 0011-fix-ossl-copy-executables-for-the-test-suite.patch index e33b93b..0e01969 100644 --- a/0015-fix-ossl-copy-executables-for-the-test-suite.patch +++ b/0011-fix-ossl-copy-executables-for-the-test-suite.patch @@ -1,7 +1,7 @@ -From d4b71c7fc24ba1245a86c41f904b05a18cbe3e15 Mon Sep 17 00:00:00 2001 +From 1f5c47ebd37d4f493cb4eab6e955ca8e04c3ef89 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Mon, 17 Feb 2025 17:31:35 +0100 -Subject: [PATCH 15/15] fix(ossl): copy executables for the test suite +Subject: [PATCH 11/16] fix(ossl): copy executables for the test suite and also fix CFLAGS in case of std=c99. @@ -12,7 +12,7 @@ Related: RHEL-76323 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile -index 4bc88561..51095b0a 100644 +index f10f72d7..dd12e8cc 100644 --- a/Makefile +++ b/Makefile @@ -88,11 +88,14 @@ util/util: $(UTIL_OBJECTS) @@ -31,7 +31,7 @@ index 4bc88561..51095b0a 100644 .PHONY: indent-c indent-c: -@@ -205,20 +208,20 @@ endif +@@ -216,20 +219,20 @@ endif $(DESTDIR)$(systemdsystemunitdir)/initrd.target.wants/$$i; \ done \ fi @@ -59,10 +59,10 @@ index 4bc88561..51095b0a 100644 fi ifeq ($(enable_dracut_cpio),yes) install -m 0755 dracut-cpio $(DESTDIR)$(pkglibdir)/dracut-cpio -@@ -245,6 +248,7 @@ clean: - $(RM) $(manpages) +@@ -263,6 +266,7 @@ clean: $(RM) dracut.pc $(RM) dracut-cpio src/dracut-cpio/target/release/dracut-cpio* + $(RM) -rf build/ doc_site/modules/ROOT/pages/man/* + $(RM) ossl-files ossl-config $(MAKE) -C test clean $(MAKE) -C src/ossl clean @@ -81,5 +81,5 @@ index 200dcbb5..43e7b464 100644 TESTS_CONFIG = $(wildcard tests/config/*.cnf) -- -2.47.1 +2.50.1 diff --git a/0016-fix-rescue-create-hmac-file-for-rescue-kernel.patch b/0012-fix-rescue-create-hmac-file-for-rescue-kernel.patch similarity index 88% rename from 0016-fix-rescue-create-hmac-file-for-rescue-kernel.patch rename to 0012-fix-rescue-create-hmac-file-for-rescue-kernel.patch index 47a3d67..3fe348e 100644 --- a/0016-fix-rescue-create-hmac-file-for-rescue-kernel.patch +++ b/0012-fix-rescue-create-hmac-file-for-rescue-kernel.patch @@ -1,7 +1,7 @@ -From 687582799c466e215229336ad6cf6dd3e050c326 Mon Sep 17 00:00:00 2001 +From 13333e5c47d8b9cadb8a1ba881a39c05be186553 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Thu, 6 Mar 2025 14:23:27 +0100 -Subject: [PATCH 16/16] fix(rescue): create hmac file for rescue kernel +Subject: [PATCH 12/16] fix(rescue): create hmac file for rescue kernel Resolves: RHEL-59543 --- @@ -31,5 +31,5 @@ index 1be9b882..030f45ba 100755 # shellcheck disable=SC2046 dracut -f --no-hostonly --no-uefi \ -- -2.48.1 +2.50.1 diff --git a/0013-Revert-feat-systemd-sysusers-run-systemd-sysusers-as.patch b/0013-Revert-feat-systemd-sysusers-run-systemd-sysusers-as.patch new file mode 100644 index 0000000..7afd8be --- /dev/null +++ b/0013-Revert-feat-systemd-sysusers-run-systemd-sysusers-as.patch @@ -0,0 +1,100 @@ +From ad54db31bbe6c006d44c1890a48ddea69c0c2529 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Fri, 11 Jul 2025 01:37:09 -0700 +Subject: [PATCH 13/15] Revert "feat(systemd-sysusers): run systemd-sysusers as + part of the build process" + +This reverts commit f3dacc013d90bd2c0bbfa04f5f9b167b65298440. +It breaks kernel builds on Fedora - see +https://bugzilla.redhat.com/show_bug.cgi?id=2379116 . + +Related: RHEL-97473 +--- + modules.d/01systemd-sysusers/module-setup.sh | 31 +++++++++++++++++++ + .../01systemd-sysusers/sysusers-dracut.conf | 2 ++ + modules.d/99systemd-sysusers/module-setup.sh | 26 ---------------- + 3 files changed, 33 insertions(+), 26 deletions(-) + create mode 100755 modules.d/01systemd-sysusers/module-setup.sh + create mode 100644 modules.d/01systemd-sysusers/sysusers-dracut.conf + delete mode 100755 modules.d/99systemd-sysusers/module-setup.sh + +diff --git a/modules.d/01systemd-sysusers/module-setup.sh b/modules.d/01systemd-sysusers/module-setup.sh +new file mode 100755 +index 00000000..4c6b39d7 +--- /dev/null ++++ b/modules.d/01systemd-sysusers/module-setup.sh +@@ -0,0 +1,31 @@ ++#!/bin/bash ++# This file is part of dracut. ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++# Prerequisite check(s) for module. ++check() { ++ # If the binary(s) requirements are not fulfilled the module can't be installed. ++ require_binaries systemd-sysusers || return 1 ++ ++ # Return 255 to only include the module, if another module requires it. ++ return 255 ++} ++ ++# Install the required file(s) and directories for the module in the initramfs. ++install() { ++ inst_simple "$moddir/sysusers-dracut.conf" "$systemdsystemunitdir/systemd-sysusers.service.d/sysusers-dracut.conf" ++ ++ inst_sysusers basic.conf ++ ++ inst_multiple -o \ ++ "$systemdsystemunitdir"/systemd-sysusers.service \ ++ "$systemdsystemunitdir"/sysinit.target.wants/systemd-sysusers.service \ ++ systemd-sysusers ++ ++ # Install the hosts local user configurations if enabled. ++ if [[ $hostonly ]]; then ++ inst_multiple -H -o \ ++ "$systemdsystemconfdir"/systemd-sysusers.service \ ++ "$systemdsystemconfdir/systemd-sysusers.service.d/*.conf" ++ fi ++} +diff --git a/modules.d/01systemd-sysusers/sysusers-dracut.conf b/modules.d/01systemd-sysusers/sysusers-dracut.conf +new file mode 100644 +index 00000000..9b13364b +--- /dev/null ++++ b/modules.d/01systemd-sysusers/sysusers-dracut.conf +@@ -0,0 +1,2 @@ ++[Unit] ++ConditionNeedsUpdate= +diff --git a/modules.d/99systemd-sysusers/module-setup.sh b/modules.d/99systemd-sysusers/module-setup.sh +deleted file mode 100755 +index c1ef40cd..00000000 +--- a/modules.d/99systemd-sysusers/module-setup.sh ++++ /dev/null +@@ -1,26 +0,0 @@ +-#!/bin/bash +-# This file is part of dracut. +-# SPDX-License-Identifier: GPL-2.0-or-later +- +-# This module should be orders afer all modules that depends on it +-# This is to make sure that all inst_sysusers calls are in place before systemd-sysusers is called. +- +-# Prerequisite check(s) for module. +-check() { +- # If the binary(s) requirements are not fulfilled the module can't be installed. +- require_binaries systemd-sysusers || return 1 +- +- # Return 255 to only include the module, if another module requires it. +- return 255 +-} +- +-# Install the required file(s) and directories for the module in the initramfs. +-install() { +- inst_sysusers basic.conf +- +- # redirect stdout temporarily to FD 3 to use filter stderr +- { +- set -o pipefail +- systemd-sysusers --root="$initdir" 2>&1 >&3 | grep -v "^Creating " >&2 +- } 3>&1 +-} +-- +2.50.1 + diff --git a/0014-Revert-chore-remove-unused-function.patch b/0014-Revert-chore-remove-unused-function.patch new file mode 100644 index 0000000..bcb911c --- /dev/null +++ b/0014-Revert-chore-remove-unused-function.patch @@ -0,0 +1,49 @@ +From 0baf5e0b6c1370b51a20327bd67e0260fc9f8f2e Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 10 Jul 2025 10:33:21 -0700 +Subject: [PATCH 14/15] Revert "chore: remove unused function" + +This reverts commit 81ddde54051351ea17dbb84ef6232820f96740af. +dracut itself may not use inst_library, but external modules do, +at least anaconda's does. + +(cherry picked from commit da64b204418753abce4090892831429c03239fa7) + +Related: RHEL-97473 +--- + dracut-init.sh | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/dracut-init.sh b/dracut-init.sh +index 9be00c56..749801fc 100755 +--- a/dracut-init.sh ++++ b/dracut-init.sh +@@ -350,6 +350,25 @@ dracut_instmods() { + fi + } + ++# this is not used within dracut itself, but external modules use it, ++# do not remove it! ++inst_library() { ++ local _ret _hostonly_install ++ if [[ $1 == "-H" ]]; then ++ _hostonly_install="-H" ++ shift ++ fi ++ [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there ++ [[ -e $1 ]] || return 1 # no source ++ if $DRACUT_INSTALL ${dracutsysrootdir:+-r "$dracutsysrootdir"} ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@"; then ++ return 0 ++ else ++ _ret=$? ++ derror FAILED: "$DRACUT_INSTALL" ${dracutsysrootdir:+-r "$dracutsysrootdir"} ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" ++ return $_ret ++ fi ++} ++ + inst_binary() { + local _ret + if $DRACUT_INSTALL ${dracutsysrootdir:+-r "$dracutsysrootdir"} ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@"; then +-- +2.50.1 + diff --git a/0015-fix-ossl-ignore-compiler-warnings.patch b/0015-fix-ossl-ignore-compiler-warnings.patch new file mode 100644 index 0000000..051f504 --- /dev/null +++ b/0015-fix-ossl-ignore-compiler-warnings.patch @@ -0,0 +1,34 @@ +From e0d1d0707c4694219b6d44d417c4c4e6a0fdc94c Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Wed, 2 Apr 2025 10:45:51 +0200 +Subject: [PATCH 15/15] fix(ossl): ignore compiler warnings + +``` +src/ossl-files.c:37:8: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers] + +src/ossl-files.c:38:34: error: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Werror=sign-compare] +src/ossl-files.c:109:34: error: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Werror=sign-compare] +src/ossl-files.c:150:34: error: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Werror=sign-compare] +``` + +Related: RHEL-97473 +--- + src/ossl/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ossl/Makefile b/src/ossl/Makefile +index 43e7b464..2e76d52a 100644 +--- a/src/ossl/Makefile ++++ b/src/ossl/Makefile +@@ -1,7 +1,7 @@ + .PHONY: all clean tests + + CFLAGS ?= -std=c99 -Wall -Werror -pedantic -D_XOPEN_SOURCE=600 +-CRYPTO_FLAGS = -lcrypto -Wl,-pie -Wl,-z,now -fPIE ++CRYPTO_FLAGS = -lcrypto -Wl,-pie -Wl,-z,now -fPIE -pie -fPIC -Wno-ignored-qualifiers -Wno-sign-compare + TARGETS = src/ossl-config src/ossl-files + + TESTS_CONFIG = $(wildcard tests/config/*.cnf) +-- +2.50.1 + diff --git a/dracut.spec b/dracut.spec index c3355c5..dd17b99 100644 --- a/dracut.spec +++ b/dracut.spec @@ -7,8 +7,8 @@ %global __requires_exclude pkg-config Name: dracut -Version: 105 -Release: 4%{?dist} +Version: 107 +Release: 1%{?dist} Summary: Initramfs generator using udev @@ -34,42 +34,39 @@ Patch3: 0003-fix-kernel-install-do-not-generate-an-initrd-when-on.patch # fix(resume): always include the resume module # Author: Pavel Valena Patch4: 0004-fix-resume-always-include-the-resume-module.patch -# fix(nfs): set correct ownership and permissions for statd directory -# Author: Lukas Nykryn -Patch5: 0005-fix-nfs-set-correct-ownership-and-permissions-for-st.patch -# feat(dracut-init.sh): give --force-add precedence over --omit -# Author: Pavel Valena -Patch6: 0006-feat-dracut-init.sh-give-force-add-precedence-over-o.patch # feat(lsinitrd.sh): look for initrd in /usr/lib/modules/ # Author: Pavel Valena -Patch7: 0007-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch +Patch5: 0005-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch # feat(fips): include fips module unconditionally # Author: Pavel Valena -Patch8: 0008-feat-fips-include-fips-module-unconditionally.patch -# fix(systemd-ask-password): do not half-install systemd-ask-password-wall -# Author: Jo Zzsi -Patch9: 0009-fix-systemd-ask-password-do-not-half-install-systemd.patch -# fix(pcsc): add libpcsclite_real.so.* -# Author: Manuel Fombuena -Patch10: 0010-fix-pcsc-add-libpcsclite_real.so.patch +Patch6: 0006-feat-fips-include-fips-module-unconditionally.patch # revert: "fix(rescue): make rescue always no-hostonly" # Author: Pavel Valena -Patch11: 0011-revert-fix-rescue-make-rescue-always-no-hostonly.patch +Patch7: 0007-revert-fix-rescue-make-rescue-always-no-hostonly.patch # fix(dracut-install): initize fts pointer # Author: Pavel Valena -Patch12: 0012-fix-dracut-install-initize-fts-pointer.patch +Patch8: 0008-fix-dracut-install-initize-fts-pointer.patch # feat: add openssl module # Author: Pavel Valena -Patch13: 0013-feat-add-openssl-module.patch +Patch9: 0009-feat-add-openssl-module.patch # fix(openssl): harden ossl build CFLAGS # Author: Pavel Valena -Patch14: 0014-fix-openssl-harden-ossl-build-CFLAGS.patch +Patch10: 0010-fix-openssl-harden-ossl-build-CFLAGS.patch # fix(ossl): copy executables for the test suite # Author: Pavel Valena -Patch15: 0015-fix-ossl-copy-executables-for-the-test-suite.patch +Patch11: 0011-fix-ossl-copy-executables-for-the-test-suite.patch # fix(rescue): create hmac file for rescue kernel # Author: Pavel Valena -Patch16: 0016-fix-rescue-create-hmac-file-for-rescue-kernel.patch +Patch12: 0012-fix-rescue-create-hmac-file-for-rescue-kernel.patch +# Revert "feat(systemd-sysusers): run systemd-sysusers as part +# Author: Adam Williamson +Patch13: 0013-Revert-feat-systemd-sysusers-run-systemd-sysusers-as.patch +# Revert "chore: remove unused function" +# Author: Adam Williamson +Patch14: 0014-Revert-chore-remove-unused-function.patch +# fix(ossl): ignore compiler warnings +# Author: Pavel Valena +Patch15: 0015-fix-ossl-ignore-compiler-warnings.patch # Please use source-git to work with this spec file: # HowTo: https://packit.dev/source-git/work-with-source-git @@ -208,6 +205,7 @@ cp %{SOURCE1} . %configure --systemdsystemunitdir=%{_unitdir} \ --bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) \ --libdir=%{_prefix}/lib \ + --disable-dracut-cpio \ %if %{without doc} --disable-documentation \ %endif @@ -266,7 +264,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %files %if %{with doc} -%doc README.md docs/HACKING.md AUTHORS NEWS.md dracut.html docs/dracut.png docs/dracut.svg +%doc README.md AUTHORS NEWS.md %endif %license COPYING lgpl-2.1.txt %{_bindir}/dracut @@ -305,7 +303,6 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %endif %{dracutlibdir}/modules.d/00bash -%{dracutlibdir}/modules.d/00shell-interpreter %{dracutlibdir}/modules.d/00systemd %{dracutlibdir}/modules.d/00systemd-network-management %ifnarch s390 s390x @@ -316,6 +313,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/01systemd-ac-power %{dracutlibdir}/modules.d/01systemd-ask-password %{dracutlibdir}/modules.d/01systemd-bsod +%{dracutlibdir}/modules.d/01systemd-battery-check %{dracutlibdir}/modules.d/01systemd-coredump %{dracutlibdir}/modules.d/01systemd-creds %{dracutlibdir}/modules.d/01systemd-cryptsetup @@ -348,10 +346,11 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/09dbus %{dracutlibdir}/modules.d/10i18n %{dracutlibdir}/modules.d/30convertfs +%{dracutlibdir}/modules.d/45drm +%{dracutlibdir}/modules.d/45simpledrm %{dracutlibdir}/modules.d/45net-lib +%{dracutlibdir}/modules.d/45plymouth %{dracutlibdir}/modules.d/45url-lib -%{dracutlibdir}/modules.d/50drm -%{dracutlibdir}/modules.d/50plymouth %{dracutlibdir}/modules.d/62bluetooth %{dracutlibdir}/modules.d/80lvmmerge %{dracutlibdir}/modules.d/80lvmthinpool-monitor @@ -399,6 +398,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/97masterkey %{dracutlibdir}/modules.d/98integrity %{dracutlibdir}/modules.d/97biosdevname +%{dracutlibdir}/modules.d/97systemd-emergency %{dracutlibdir}/modules.d/98dracut-systemd %{dracutlibdir}/modules.d/98ecryptfs %{dracutlibdir}/modules.d/98pollcdrom @@ -411,6 +411,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/99fs-lib %{dracutlibdir}/modules.d/99openssl %{dracutlibdir}/modules.d/99shutdown +%{dracutlibdir}/modules.d/99shell-interpreter %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log %dir %{_sharedstatedir}/initramfs %if %{defined _unitdir} @@ -476,9 +477,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %files squash %{dracutlibdir}/modules.d/99squash -%{dracutlibdir}/modules.d/99squash-lib %{dracutlibdir}/modules.d/95squash-erofs %{dracutlibdir}/modules.d/95squash-squashfs +%{dracutlibdir}/modules.d/99squash-lib %files config-generic %{dracutlibdir}/dracut.conf.d/02-generic-image.conf @@ -488,6 +489,10 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install %changelog +* Thu Jul 17 2025 Pavel Valena - 107-1 +- Upgrade to dracut 107 + Resolves: RHEL-97473 + * Thu Mar 06 2025 Pavel Valena - 105-4 - fix(rescue): create hmac file for rescue kernel diff --git a/sources b/sources index bc9a127..7bbf903 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (105.tar.gz) = 1608fb31d6a53905ea25a279586573db5fc7e084b4f6ff06e52065cbcb4ff503c2d51c0a282345844228232b1b590382b482a224183e0c4ee16c9c9e6932b275 +SHA512 (107.tar.gz) = 3f8e79fbfd40c0d384e856cbabe9257c5cbafbb4a3fe4b56da27832c36844dbbf9c59f12155d165d9343bc7341eda2b90c215148eb46ae873c219fbc93992944