diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest index fefa851..c16b255 100644 --- a/sys-kernel/dracut/Manifest +++ b/sys-kernel/dracut/Manifest @@ -1,14 +1,9 @@ -AUX 050-Makefile-fix-VERSION-again.patch 1057 BLAKE2B 8373a43030c02bc0273aacb3f0f286d4f98812039c459ec16607e3e5b9bd83c367420c6b67d7cc8d2f6d9469bca2e5e5770f20390348e50abdbec7f12c4f36a3 SHA512 89e5ae4cf88d65ec5f31384c334b46f8e6e74a31e0225a62523524f87f35ead8cae221d3a0f8e5f837a1e22b51833db75b2d3f3b07fa3ac4ded5dac9012a8027 -AUX 050-Makefile-merge-main-version-and-git-version-earlier.patch 3071 BLAKE2B 0d20b6ca7bb92aca21b3afaaee6fffb94c23de806ebe46383074979e0afedc893aec478122391d7c6015882b7882dd3f6e4124fa1f6fa1dc0bb48beae50d4d9d SHA512 ad9219c66b0a921b2fcb9dc325d1afd4c17d447228ee3b95b7a7e799acdc9d48d1d963842643d6ee6e90f8891d5c924c707331041cde53701261cb670adbcd33 -AUX 050-btrfs-force-preload-btrfs-module.patch 960 BLAKE2B 9837361b8f3559d87dc39374ca9cd8e2717f257dbb428d542e356672623c6b02d2a8aea5c0cbd2c64b01564a1ec08fc7288b993f46c7043327300ca684469168 SHA512 8fcd5579486ce2afc3164970bcd2eb23306d00bef3ce1458fd6f41664299a16c5772ed3f0d823861b698b01cf7a495412afb7f3a200e4c07e96ca3b617d8d6bf -AUX 050-busybox-module-fix.patch 3468 BLAKE2B a5292669c358f46ededf184e654213298e1e2a193e27b90cdb3913149cae40c2bfb70a8a211515ea7d3109fe87676ad71f93166dce793b7033ecfc05691e822c SHA512 a85d8f157d466e642c53436276777e6caf42aa3280cfa2d635c1541919484c50cccc232802131ce6776b1059151bdcfabdd3e4f69d697012d2e4d24a4793794b -AUX 050-dracut-lib.sh-quote-variables-in-parameter-expansion.patch 3655 BLAKE2B dc48d86fa1d78622bf0a7e5714de23d046515d3ad866f321769b0c56c243bdc6d6b45c69eb09e02477a79d90a546bdfcd767551b838f647f07179c9174ff46f7 SHA512 774602605b552343b0f26bcc7311c118bbb816bae9a1d798e650b72105c7a44ada8bfe238a66619ef6ee345534ef6a6d3c6449eaad51ba0ecf483fcc4aac1fb8 -AUX 050-dracut.sh-don-t-call-fsfreeze-on-subvol-of-root-file.patch 2779 BLAKE2B edb10ef79fd22863aef5184ca0d7abc88602cf3e8a3cfd198047e0970d10e9aa56e1222dc44a089afb3a0f15caa87e4e3233b32980b5fd56e9975196350000f4 SHA512 a31cfceb9ab53e53ce3f69ed6388bf7cfcf40ad7b036197194f34cd973a74e28ac8bfb7bf7d79068b48fc8c5feaf26540948b8008c1fdab997587bf4b31f8b71 -AUX 050-lvm-fix-removal-of-pvscan-from-udev-rules.patch 1270 BLAKE2B ac4b93d0ed469ca9d2ba2ad9ca83b1f0efce590758bdd824278e9409fd4706e975d3fa9a10733775cc5b0a3a4665260d8869291de5a1f89c810c01a7cf0889e4 SHA512 7466c66f570c9a097b701a91d2735469187e879d2dec2ff2d10322ad39c86f3a5c70fc778d13b42014ba9754a6d1bea6d37f3ee456cbe4ec075dd676cf09093d -AUX 050-network-manager-ensure-that-nm-run.sh-is-executed-wh.patch 1627 BLAKE2B c45b8efef1612ede5021be1bfe2135586286b4ac8d501ce6cde518eefb699c143fec1ec858e4320ba473feb06e88896ab0f4b2f738c6a5a98c20a161d11f508a SHA512 e070f24f0d0e95a14ee503e0cbc62d87b32ad678c12a8054c1a0c505d9ae833cd37052d51fe8d1a2a608fd06a8894d06ea4da626aadf5e9e4dd39b2ea883aaae -AUX 050-systemd-remove-obsolete-syslog-parameter.patch 8176 BLAKE2B abf1619f4010cd38d98814f8827d592394a7ed7acc4c19392751adea4a98ce4acfce12bae1c2d264c392c73081ae04a205cfccd3591de651b87301352bbbe68c SHA512 3609ea93b85f79d3451fc810164c1be61def3f8e016a1fc0963088f2a690c56680d0c49bad5f8398af80150bd07bf953de50fe8832a5b88da5c01eead5fdbe7f -AUX 051-dracut.sh-move-ldconfig.patch 2064 BLAKE2B 91d60d66cc3dd788f97900e4765761b918425abb603ce09b3101ec242222f17e6e7166af7faaa8ad47cff7aa1a9259af90832066ee67f7bee25c400bdfd302cb SHA512 060f968f39bd11822b1154baa7d28a1190ead371f57e43d4a997e8013f39d48e1509908b2fe3859b9315de57dc4ed03b8e4beab1ec743dc56186c9e6a1d9c116 -AUX crypt-ssh-luks.patch 4691 BLAKE2B 6b73b9e399e089e081e98d44af971c1afcc371c62c89c145ccde496e8007c8493ef3156a4acc312d4cde1d17fcd80d8395cbdb7f78785c9957b4afb6f3a0c6bf SHA512 74768f06daf9f02344064065613d4ca202906579ba9dce1f0ffaa618698fa6d6efe6af712c735ef13316415e6f8c63c0ea37cac3612130d60bbd1e25a9025295 +AUX 053-network-manager.patch 840 BLAKE2B d9dca01ad97015d636dfda3eb2b99a9289dabbc2554ea79159f6e971ab0baa912d21866204d91b4e6cdf9f8f5d953f2ca045aa7979396237e8af053f09e9e173 SHA512 63babf06fc3ad151c2026267cb766817a7902858ddab0cb625551c95a1c83d44b8cafa1bf22ce4e124aa5968b258c6946dadfdd5375f2c532b19173b84623008 +AUX 055-fix-base-do-not-quote-initargs-for-switch_root.patch 1095 BLAKE2B 35e2fbc027db3c6e642939d2139a2ef22b7273d4a11e957fb9e6376b14b8ba26daf39281bb8494251b9940a54cd78b42c357f88bc7469a64307a936b62fc1ca1 SHA512 f59624deb66644e8488e15079d8dbfa1e428bdd325ecd3f879fd1f07869ca7aae001109dabd1816875aeeb5962c05496ce0e2261ee3562fa1800a5e4b61d446a +AUX 055-fix-crypt-remove-quotes-from-cryptsetupopts.patch 1404 BLAKE2B 4956f8df0b76c204279032fdf545f230f063fd7ea5393e3ade80587e10eb50dfba2e0677da04e641da17d1ce79564b3084274c739b3af59dab2226852b0835b2 SHA512 11243e311aeae6b9f1b6481521a92e4fd962e5fd24b1bd279e04f1f1618ba4ae0c4243d94274dda8e16d0311c377e0fbf2bae5c64c508e29caaf64d123c365a3 +AUX 055-fix-usrmount-do-not-empty-_dev-variable.patch 1358 BLAKE2B 9a0b5e698884eb4e333ff3d519245bbe7bb909247ff999edac7bfce4b37a384f7b6ab7d0a4ffc14d638c46b137430d44d50de41193f46ba799b070bd2031e138 SHA512 1d9d01a6df6c0d9e77e2b0e4ca0881e33abbf3430817416660122960575d428f832a64c6925a2588d56bd042a32a2a68da7cf173f62b4cd23e12ea2e1b49d588 +AUX crypt-ssh-luks.patch 4280 BLAKE2B 28d9e5ff0ae5c75a959b16aa40af6dacdd2645b6336ced98318095f483af6d6d86ffe3781f1870d4b493e7590193a80bf4c2142b51dce986822669c62d9739b6 SHA512 7a12fe767950c77ca76e895fecfd7f6d29df9da9646a5f8d6f6e7112391cd6e11e8f081783a0a535a7c8d49842a7edc42b173c924f43ace457a66c721f1d377d +AUX gentoo-ldconfig-paths-r1.patch 1423 BLAKE2B e8bce9ee4b1b2546d4dbaa22a6167f9e3520df4f5f3b67509e430e4a6dd89d9fd18e53328c4bd6ee817e6b27ffcccf29fbdd922707c98f4fe67f6d44d76de2ff SHA512 fd44643e671d59ca51822d0f68b7ce7756035faca780ec784e64950770944f0aefd00a1dd2424f07568d5d97d46c0080c8e740856e0bff79bcf6a7e14b08ab8f AUX gentoo-ldconfig-paths.patch 1420 BLAKE2B 3ff093e1d244288585c369f0e3c1bc346abe1ee2ce8ee399098559765fa4e3a96611269de5f4edebe435e5a71fa1bb99eb650fcb221fad188e019837261645f4 SHA512 aa99bb08dbc8e38ee1794b7d77e5e6656afa7f6c67684d1b3fb6368861630ea7c7711d84cc48c2c5cf3b1fd98aa2673f816e4f5ebf651b63a07ded93b00d371a -DIST dracut-050.tar.xz 333592 BLAKE2B cb0bfa5a8e7547260b8a80a3606eb284182c062926269c85b09e07d26ad177df0eeaa64b17005bff9290611f1c83fc8cd8e2216cfe14b5e66ec7f659d4c2fa7b SHA512 eba046cf1c8013369a398e585e0bff233daa8595d469ce9acc8bbc6a32d55c6a5429d4219db19abbf6001104be05b357f0961f9e66b7f926039a5d3ee7c2b850 -EBUILD dracut-050-r2.ebuild 5340 BLAKE2B d4ec5701f82859ab58c81619a737a88a0edf14b0ead3cedd6461c734f5acd8efc90d91148170db6d2604f95ff4d608e2c96fcee0f90d75e4a963f3eededd5f38 SHA512 4b1b6ee247a3efdc4a35a83b87ccb39d2f12abc329bbc767e2d8c2ce1d767c2f159a3aee02cbff290effe6fa17031962e3a6efadf6ac5f5335116d208a0d0b76 +DIST dracut-053.tar.xz 354668 BLAKE2B d20d0f1675e18cf44615a98255c8b1a73f23e9c665a771a1fe99716d3bf0b6082961ab20fe058bf31c106c4f521d9e8708e2ae98cff00f613197bbf9dd3abda3 SHA512 4736f84442bda208a38d3285ffeb8b845f06e52e3bf60d2aaea121240cf695e1369208c2d2cee1137a6c1d3f8f7794385675006beaf5cd86ade259d5f42d039a +EBUILD dracut-053-r2.ebuild 4557 BLAKE2B 3a4104349cdece36650f6265e1926fa3f0944f9a8415aa7183bdf74005c6962dd9a88da7705e12b6a92414b179d7d09c18390c39e696336ba52774d1f5b7707e SHA512 ad4f5289cc84e58690215e9125a82e9138581831d8d3048bf58d6ca4cc038511a6efbb375dde0a2b986681ad0d63931933ecef97b36d4a4528938fea9f82a3d7 diff --git a/sys-kernel/dracut/dracut-050-r2.ebuild b/sys-kernel/dracut/dracut-053-r2.ebuild similarity index 82% rename from sys-kernel/dracut/dracut-050-r2.ebuild rename to sys-kernel/dracut/dracut-053-r2.ebuild index 8028fe7..7469c08 100644 --- a/sys-kernel/dracut/dracut-050-r2.ebuild +++ b/sys-kernel/dracut/dracut-053-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -58,23 +58,14 @@ BDEPEND=" virtual/pkgconfig " -DOCS=( AUTHORS HACKING NEWS README.md README.generic README.kernel README.modules - README.testsuite TODO ) +DOCS=( AUTHORS README.md README.generic README.kernel ) QA_MULTILIB_PATHS="usr/lib/dracut/.*" PATCHES=( - "${FILESDIR}"/050-Makefile-merge-main-version-and-git-version-earlier.patch - "${FILESDIR}"/050-dracut.sh-don-t-call-fsfreeze-on-subvol-of-root-file.patch - "${FILESDIR}"/050-Makefile-fix-VERSION-again.patch - "${FILESDIR}"/050-btrfs-force-preload-btrfs-module.patch - "${FILESDIR}"/050-network-manager-ensure-that-nm-run.sh-is-executed-wh.patch - "${FILESDIR}"/050-dracut-lib.sh-quote-variables-in-parameter-expansion.patch - "${FILESDIR}"/050-busybox-module-fix.patch - "${FILESDIR}"/050-systemd-remove-obsolete-syslog-parameter.patch - "${FILESDIR}"/050-lvm-fix-removal-of-pvscan-from-udev-rules.patch + "${FILESDIR}"/053-network-manager.patch "${FILESDIR}"/gentoo-ldconfig-paths.patch - "${FILESDIR}"/crypt-ssh-luks.patch + "${FILESDIR}"/crypt-ssh-luks.patch ) src_configure() { @@ -99,9 +90,6 @@ src_configure() { src_install() { default - insinto /etc/logrotate.d - newins dracut.logrotate dracut - docinto html dodoc dracut.html } @@ -134,9 +122,6 @@ pkg_postinst() { ewarn "" fi - elog "To get additional features, a number of optional runtime" - elog "dependencies may be installed:" - elog "" optfeature "Networking support" net-misc/networkmanager optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \ sys-apps/iproute2 "net-misc/iputils[arping]" diff --git a/sys-kernel/dracut/files/050-Makefile-fix-VERSION-again.patch b/sys-kernel/dracut/files/050-Makefile-fix-VERSION-again.patch deleted file mode 100644 index a091e4c..0000000 --- a/sys-kernel/dracut/files/050-Makefile-fix-VERSION-again.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a76aa8e39016a8564adb0f18f93bbf2e15d3243f Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Sun, 8 Mar 2020 05:47:50 +0300 -Subject: [PATCH] Makefile: fix VERSION again - -The variable is not undefined anymore after the first assignment, so -we should check if variable is empty instead. ---- - Makefile | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index c69e2dfc..02e2c4b5 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,9 +1,13 @@ - -include dracut-version.sh - - DRACUT_MAIN_VERSION ?= $(shell env GIT_CEILING_DIRECTORIES=$(CWD)/.. git describe --abbrev=0 --tags --always 2>/dev/null || :) --DRACUT_MAIN_VERSION ?= $(DRACUT_VERSION) -+ifeq ($(DRACUT_MAIN_VERSION),) -+DRACUT_MAIN_VERSION = $(DRACUT_VERSION) -+endif - DRACUT_FULL_VERSION ?= $(shell env GIT_CEILING_DIRECTORIES=$(CWD)/.. git describe --tags --always 2>/dev/null || :) --DRACUT_FULL_VERSION ?= $(DRACUT_VERSION) -+ifeq ($(DRACUT_FULL_VERSION),) -+DRACUT_FULL_VERSION = $(DRACUT_VERSION) -+endif - - -include Makefile.inc - --- -2.24.1 - diff --git a/sys-kernel/dracut/files/050-Makefile-merge-main-version-and-git-version-earlier.patch b/sys-kernel/dracut/files/050-Makefile-merge-main-version-and-git-version-earlier.patch deleted file mode 100644 index 49c532b..0000000 --- a/sys-kernel/dracut/files/050-Makefile-merge-main-version-and-git-version-earlier.patch +++ /dev/null @@ -1,78 +0,0 @@ -From eb8a7a96351b6e1cfd9dc34f1e854333a8f4a4e0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= - -Date: Fri, 6 Mar 2020 08:46:36 +0700 -Subject: [PATCH] Makefile: merge main-version and git-version earlier - -With GNU Make 4.3 on both ArchLinux, and VoidLinux, -GITVERION is always empty because of bad substitution. -Change '\#' to simply '#' can fix it, -but we don't need that complation. - -We can merge DRACUT_MAIN_VERSION and GITVERSION into DRACUT_FULL_VERSION. -Because, GITVERSION will be attached back to DRACUT_MAIN_VERSION in all -situation. - -While we're at it, detect if we're in git worktree by: -limiting GIT_CEILING_DIRECTORIES to parent directory of -dracut's top level directory; instead of checking for .git directory, -in order to support git-worktree, in such case, .git will be a file, see -gitrepository-layout(5) ---- - Makefile | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git a/Makefile b/Makefile -index 22b584f1..c69e2dfc 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,8 +1,9 @@ - -include dracut-version.sh - --DRACUT_MAIN_VERSION ?= $(shell [ -d .git ] && git describe --abbrev=0 --tags --always 2>/dev/null || :) -+DRACUT_MAIN_VERSION ?= $(shell env GIT_CEILING_DIRECTORIES=$(CWD)/.. git describe --abbrev=0 --tags --always 2>/dev/null || :) - DRACUT_MAIN_VERSION ?= $(DRACUT_VERSION) --GITVERSION ?= $(shell [ -d .git ] && { v=$$(git describe --tags --always 2>/dev/null); [ -n "$$v" ] && [ $${v\#*-} != $$v ] && echo -$${v\#*-}; } ) -+DRACUT_FULL_VERSION ?= $(shell env GIT_CEILING_DIRECTORIES=$(CWD)/.. git describe --tags --always 2>/dev/null || :) -+DRACUT_FULL_VERSION ?= $(DRACUT_VERSION) - - -include Makefile.inc - -@@ -92,14 +93,14 @@ endif - - %.xml: %.asc - @rm -f -- "$@" -- asciidoc -a "version=$(DRACUT_MAIN_VERSION)$(GITVERSION)" -d manpage -b docbook -o "$@" $< -+ asciidoc -a "version=$(DRACUT_FULL_VERSION)" -d manpage -b docbook -o "$@" $< - - dracut.8: dracut.usage.asc dracut.8.asc - - dracut.html: dracut.asc $(manpages) dracut.css dracut.usage.asc - @rm -f -- dracut.xml - asciidoc -a "mainversion=$(DRACUT_MAIN_VERSION)" \ -- -a "version=$(DRACUT_MAIN_VERSION)$(GITVERSION)" \ -+ -a "version=$(DRACUT_FULL_VERSION)" \ - -a numbered \ - -d book -b docbook -o dracut.xml dracut.asc - @rm -f -- dracut.html -@@ -112,7 +113,7 @@ dracut.html: dracut.asc $(manpages) dracut.css dracut.usage.asc - dracut.pc: Makefile.inc Makefile - @echo "Name: dracut" > dracut.pc - @echo "Description: dracut" >> dracut.pc -- @echo "Version: $(DRACUT_MAIN_VERSION)$(GITVERSION)" >> dracut.pc -+ @echo "Version: $(DRACUT_FULL_VERSION)" >> dracut.pc - @echo "dracutdir=$(pkglibdir)" >> dracut.pc - @echo "dracutmodulesdir=$(pkglibdir)/modules.d" >> dracut.pc - @echo "dracutconfdir=$(pkglibdir)/dracut.conf.d" >> dracut.pc -@@ -182,7 +183,7 @@ endif - - dracut-version.sh: - @rm -f dracut-version.sh -- @echo "DRACUT_VERSION=$(DRACUT_MAIN_VERSION)$(GITVERSION)" > dracut-version.sh -+ @echo "DRACUT_VERSION=$(DRACUT_FULL_VERSION)" > dracut-version.sh - - clean: - $(RM) *~ --- -2.24.1 - diff --git a/sys-kernel/dracut/files/050-btrfs-force-preload-btrfs-module.patch b/sys-kernel/dracut/files/050-btrfs-force-preload-btrfs-module.patch deleted file mode 100644 index 386722c..0000000 --- a/sys-kernel/dracut/files/050-btrfs-force-preload-btrfs-module.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0402b3777b1c64bd716f588ff7457b905e98489d Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 11 Mar 2020 12:56:52 +0100 -Subject: [PATCH] btrfs: force preload btrfs module - -fixes https://github.com/dracutdevs/dracut/issues/658 - -raid6_pq and xor takes time doing benchmarking - -[ 3.983009] request_module fs-btrfs succeeded, but still no fs? ---- - modules.d/90btrfs/module-setup.sh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh -index b0d0058b..66a254e1 100755 ---- a/modules.d/90btrfs/module-setup.sh -+++ b/modules.d/90btrfs/module-setup.sh -@@ -48,5 +48,7 @@ install() { - - inst_multiple -o btrfsck btrfs-zero-log - inst $(command -v btrfs) /sbin/btrfs -+ # Hack for slow machines -+ # see https://github.com/dracutdevs/dracut/issues/658 -+ echo "rd.driver.pre=btrfs" > ${initdir}/etc/cmdline.d/00-btrfs.conf - } -- --- -2.26.2 - diff --git a/sys-kernel/dracut/files/050-busybox-module-fix.patch b/sys-kernel/dracut/files/050-busybox-module-fix.patch deleted file mode 100644 index faaf026..0000000 --- a/sys-kernel/dracut/files/050-busybox-module-fix.patch +++ /dev/null @@ -1,102 +0,0 @@ -From f769154bccf22d2b5caf5e4888f88bf7edde2662 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Mon, 25 May 2020 19:02:05 +0300 -Subject: [PATCH 1/2] dracut-functions: fix find_binary() to return full path - -Fixes: a01204202b30 (Allow running on a cross-compiled rootfs) ---- - dracut-functions.sh | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 3cb9c7af..b5c28248 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -41,31 +41,36 @@ str_ends() { [ "${1%*"$2"}" != "$1" ]; } - # search in the usual places to find the binary. - find_binary() { - local _delim -+ local _path - local l - local p - [[ -z ${1##/*} ]] || _delim="/" - - if [[ "$1" == *.so* ]]; then - for l in libdirs ; do -- if { $DRACUT_LDD "$dracutsysrootdir$l$_delim$1" &>/dev/null; }; then -- printf "%s\n" "$1" -+ _path="${l}${_delim}${1}" -+ if { $DRACUT_LDD "${dracutsysrootdir}${_path}" &>/dev/null; }; then -+ printf "%s\n" "${_path}" - return 0 - fi - done -- if { $DRACUT_LDD "$dracutsysrootdir$_delim$1" &>/dev/null; }; then -- printf "%s\n" "$1" -+ _path="${_delim}${1}" -+ if { $DRACUT_LDD "${dracutsysrootdir}${_path}" &>/dev/null; }; then -+ printf "%s\n" "${_path}" - return 0 - fi - fi - if [[ "$1" == */* ]]; then -- if [[ -L $dracutsysrootdir$_delim$1 ]] || [[ -x $dracutsysrootdir$_delim$1 ]]; then -- printf "%s\n" "$1" -+ _path="${_delim}${1}" -+ if [[ -L ${dracutsysrootdir}${_path} ]] || [[ -x ${dracutsysrootdir}${_path} ]]; then -+ printf "%s\n" "${_path}" - return 0 - fi - fi - for p in $DRACUT_PATH ; do -- if [[ -L $dracutsysrootdir$p$_delim$1 ]] || [[ -x $dracutsysrootdir$p$_delim$1 ]]; then -- printf "%s\n" "$1" -+ _path="${p}${_delim}${1}" -+ if [[ -L ${dracutsysrootdir}${_path} ]] || [[ -x ${dracutsysrootdir}${_path} ]]; then -+ printf "%s\n" "${_path}" - return 0 - fi - done --- -2.26.2 - -From 50cc23ba32b0fda63eff7623b529dbeb4e6a38c6 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Mon, 25 May 2020 17:49:20 +0300 -Subject: [PATCH 2/2] busybox: simplify listing of supported utilities - -'--list' option is supported since busybox-1.20.0, which was released -in 2010. ---- - modules.d/05busybox/module-setup.sh | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/modules.d/05busybox/module-setup.sh b/modules.d/05busybox/module-setup.sh -index ecbd6a13..5d88c5d1 100755 ---- a/modules.d/05busybox/module-setup.sh -+++ b/modules.d/05busybox/module-setup.sh -@@ -14,15 +14,16 @@ depends() { - - # called by dracut - install() { -- local _i _progs _path _busybox -+ local _i _path _busybox -+ local _progs=() - _busybox=$(type -P busybox) - inst $_busybox /usr/bin/busybox -- for _i in $($_busybox | sed -ne '1,/Currently/!{s/,//g; s/busybox//g; p}') -- do -- _progs="$_progs $_i" -+ for _i in $($_busybox --list); do -+ [[ ${_i} == busybox ]] && continue -+ _progs+=("${_i}") - done - -- for _i in $_progs; do -+ for _i in "${_progs[@]}"; do - _path=$(find_binary "$_i") - [ -z "$_path" ] && continue - ln_r /usr/bin/busybox $_path --- -2.26.2 - diff --git a/sys-kernel/dracut/files/050-dracut-lib.sh-quote-variables-in-parameter-expansion.patch b/sys-kernel/dracut/files/050-dracut-lib.sh-quote-variables-in-parameter-expansion.patch deleted file mode 100644 index 11ca7ad..0000000 --- a/sys-kernel/dracut/files/050-dracut-lib.sh-quote-variables-in-parameter-expansion.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 8e1a4dc5f8a777fc718db490414ffdc9dc755f66 Mon Sep 17 00:00:00 2001 -From: Jonas Witschel -Date: Sat, 18 Apr 2020 14:55:41 +0200 -Subject: [PATCH] dracut-lib.sh: quote variables in parameter expansion - patterns - -According to POSIX.1-2017, 2.6.2 Parameter Expansion: - -${parameter%[word]} [...] The word shall be expanded to produce a -pattern. - -This means if word contains variables that itself contain special -characters like asterisks or backslashes, these are treated as pattern -characters unless the variable is quoted. Try e.g. the following example -in bash, dash or (busybox) ash: - -i='a\c'; j='\'; echo "${i%$j*}" - -This prints "a\c" because "$j*" is expanded to "\*", escaping the -asterisk. In contrast, - -i='a\c'; j='\'; echo "${i%"$j"*}" - -produces the expected result "a" because the backslash is not specially -treated any more after quoting. - -The quotes that this commit adds have been previously removed in commit -f9c96cf56fed390841eac05c43826e62014c9188, citing issues with busybox -hush without further specifying the actual error. I tested a recent -busybox build (upstream commit 9aa751b08ab03d6396f86c3df77937a19687981b) -and couldn't find any problems. Note that the above example always -produces "a\c" in hush regardless of quoting $j, making hush unsuitable -for use with dracut, but using quotes in parameter expansions generally -works. - -The unquoted variables break the "rd.luks.uuid/name" kernel command line -options in dracut 050 because - -str_replace "$luksname" '\' '\\' - -in modules.d/90crypt/parse-crypt.sh is not able to escape the -backslashes any more, see GH-723, GH-727: backslashes in the -systemd-cryptsetup@.service unit name stay unescaped for use in udev -(cf. commit 0f6d93eb9d63695a64002ec8b0421fbc9fc8a7a3), leading to -failures in starting the unit. - -This partially reverts commit f9c96cf56fed390841eac05c43826e62014c9188. ---- - modules.d/99base/dracut-lib.sh | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index c53cd13b..c57523d3 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -24,7 +24,7 @@ debug_on() { - - # returns OK if $1 contains literal string $2 (and isn't empty) - strstr() { -- [ "${1##*$2*}" != "$1" ] -+ [ "${1##*"$2"*}" != "$1" ] - } - - # returns OK if $1 matches (completely) glob pattern $2 -@@ -43,18 +43,18 @@ strglobin() { - - # returns OK if $1 contains literal string $2 at the beginning, and isn't empty - str_starts() { -- [ "${1#$2*}" != "$1" ] -+ [ "${1#"$2"*}" != "$1" ] - } - - # returns OK if $1 contains literal string $2 at the end, and isn't empty - str_ends() { -- [ "${1%*$2}" != "$1" ] -+ [ "${1%*"$2"}" != "$1" ] - } - - trim() { - local var="$*" -- var="${var#${var%%[![:space:]]*}}" # remove leading whitespace characters -- var="${var%${var##*[![:space:]]}}" # remove trailing whitespace characters -+ var="${var#"${var%%[![:space:]]*}"}" # remove leading whitespace characters -+ var="${var%"${var##*[![:space:]]}"}" # remove trailing whitespace characters - printf "%s" "$var" - } - -@@ -108,9 +108,9 @@ str_replace() { - local out='' - - while strstr "${in}" "$s"; do -- chop="${in%%$s*}" -+ chop="${in%%"$s"*}" - out="${out}${chop}$r" -- in="${in#*$s}" -+ in="${in#*"$s"}" - done - echo "${out}${in}" - } -@@ -396,7 +396,7 @@ splitsep() { - while [ -n "$str" -a "$#" -gt 1 ]; do - tmp="${str%%$sep*}" - eval "$1='${tmp}'" -- str="${str#$tmp}" -+ str="${str#"$tmp"}" - str="${str#$sep}" - shift - done --- -2.26.2 - diff --git a/sys-kernel/dracut/files/050-dracut.sh-don-t-call-fsfreeze-on-subvol-of-root-file.patch b/sys-kernel/dracut/files/050-dracut.sh-don-t-call-fsfreeze-on-subvol-of-root-file.patch deleted file mode 100644 index cf54cab..0000000 --- a/sys-kernel/dracut/files/050-dracut.sh-don-t-call-fsfreeze-on-subvol-of-root-file.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 0386e4627779cb51f4292b3c642d90586d5e71b4 Mon Sep 17 00:00:00 2001 -From: Martin Wilck -Date: Wed, 29 Jan 2020 23:53:29 +0100 -Subject: [PATCH] dracut.sh: don't call fsfreeze on subvol of root file system - -dracut.sh already doesn't call fsfreeze if the output file is on -the root file system. For btrfs, however, this is not sufficient. -Because fsfreeze is a superblock operation, and all btrfs subvolumes -share the same superblock, fsfreeze may freeze the entire system -if the subvolume on which the output file is written and / are -subvolumes of the same file system. Avoid this by comparing file -system UUIDs for btrfs. - -Fixes: de576db3c225 ("call fsfreeze(8) on /boot to flush initramfs data & metadata to media") ---- - dracut.sh | 36 +++++++++++++++++++++++++++++++++++- - 1 file changed, 35 insertions(+), 1 deletion(-) - -diff --git a/dracut.sh b/dracut.sh -index af346f3a..c14f6c0b 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -2075,6 +2075,40 @@ fi - - command -v restorecon &>/dev/null && restorecon -- "$outfile" - -+btrfs_uuid() { -+ btrfs filesystem show "$1" | sed -n '1s/^.*uuid: //p' -+} -+ -+freeze_ok_for_btrfs() { -+ local mnt uuid1 uuid2 -+ # If the output file is on btrfs, we need to make sure that it's -+ # not on a subvolume of the same file system as the root FS. -+ # Otherwise, fsfreeze() might freeze the entire system. -+ # This is most conveniently checked by comparing the FS uuid. -+ -+ [[ "$(stat -f -c %T -- "/")" == "btrfs" ]] || return 0 -+ mnt=$(stat -c %m -- "$1") -+ uuid1=$(btrfs_uuid "$mnt") -+ uuid2=$(btrfs_uuid "/") -+ [[ "$uuid1" && "$uuid2" && "$uuid1" != "$uuid2" ]] -+} -+ -+freeze_ok_for_fstype() { -+ local outfile=$1 -+ local fstype -+ -+ [[ "$(stat -c %m -- "$outfile")" == "/" ]] && return 1 -+ fstype=$(stat -f -c %T -- "$outfile") -+ case $fstype in -+ msdos) -+ return 1;; -+ btrfs) -+ freeze_ok_for_btrfs "$outfile";; -+ *) -+ return 0;; -+ esac -+} -+ - # We sync/fsfreeze only if we're operating on a live booted system. - # It's possible for e.g. `kernel` to be installed as an RPM BuildRequires or equivalent, - # and there's no reason to sync, and *definitely* no reason to fsfreeze. -@@ -2087,7 +2121,7 @@ if test -d $dracutsysrootdir/run/systemd/system; then - fi - - # use fsfreeze only if we're not writing to / -- if [[ "$(stat -c %m -- "$outfile")" != "/" && "$(stat -f -c %T -- "$outfile")" != "msdos" ]]; then -+ if [[ "$(stat -c %m -- "$outfile")" != "/" ]] && freeze_ok_for_fstype "$outfile"; then - if ! $(fsfreeze -f $(dirname "$outfile") 2>/dev/null && fsfreeze -u $(dirname "$outfile") 2>/dev/null); then - dinfo "dracut: warning: could not fsfreeze $(dirname "$outfile")" - fi --- -2.24.1 - diff --git a/sys-kernel/dracut/files/050-lvm-fix-removal-of-pvscan-from-udev-rules.patch b/sys-kernel/dracut/files/050-lvm-fix-removal-of-pvscan-from-udev-rules.patch deleted file mode 100644 index 8b93afc..0000000 --- a/sys-kernel/dracut/files/050-lvm-fix-removal-of-pvscan-from-udev-rules.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 07417b7fc5cb261187519c916e4735189f20f4c6 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Sat, 23 May 2020 18:03:47 +0300 -Subject: [PATCH] lvm: fix removal of pvscan from udev rules - -udev rules provided by lvm 2.02.128 and newer uses '+=' instead of '='. ---- - modules.d/90lvm/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh -index d6d2c185..52c803f7 100755 ---- a/modules.d/90lvm/module-setup.sh -+++ b/modules.d/90lvm/module-setup.sh -@@ -101,7 +101,7 @@ install() { - sed -i -e 's/^ENV{SYSTEMD_ALIAS}=.*/# No LVM pvscan in dracut - lvmetad is not running yet/' \ - ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules - sed -i -e 's/^ENV{ID_MODEL}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -- sed -i -e 's/^ENV{SYSTEMD_WANTS}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -+ sed -i -e 's/^ENV{SYSTEMD_WANTS}+\?=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules - else - sed -i -e 's/.*lvm pvscan.*/# No LVM pvscan for in dracut - lvmetad is not running yet/' \ - ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules --- -2.26.2 - diff --git a/sys-kernel/dracut/files/050-network-manager-ensure-that-nm-run.sh-is-executed-wh.patch b/sys-kernel/dracut/files/050-network-manager-ensure-that-nm-run.sh-is-executed-wh.patch deleted file mode 100644 index d97193c..0000000 --- a/sys-kernel/dracut/files/050-network-manager-ensure-that-nm-run.sh-is-executed-wh.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 3dcaa97ca4dcfa8092252a22df62c60941e59ce3 Mon Sep 17 00:00:00 2001 -From: Beniamino Galvani -Date: Wed, 11 Mar 2020 09:40:50 +0100 -Subject: [PATCH] network-manager: ensure that nm-run.sh is executed when - needed - -The network-manager command line hook must install a -initqueue/finished hook to ensure that nm-run.sh is executed when -there are network connections to activate. - -Fixes: #694 ---- - modules.d/35network-manager/nm-config.sh | 11 +++++++++++ - modules.d/35network-manager/nm-run.sh | 2 ++ - 2 files changed, 13 insertions(+) - -diff --git a/modules.d/35network-manager/nm-config.sh b/modules.d/35network-manager/nm-config.sh -index 1efa737c..39a1c8bd 100755 ---- a/modules.d/35network-manager/nm-config.sh -+++ b/modules.d/35network-manager/nm-config.sh -@@ -5,3 +5,14 @@ if [ -n "$netroot" ] || [ -e /tmp/net.ifaces ]; then - fi - - /usr/libexec/nm-initrd-generator -- $(getcmdline) -+ -+if getargbool 0 rd.neednet; then -+ for i in /usr/lib/NetworkManager/system-connections/* \ -+ /run/NetworkManager/system-connections/* \ -+ /etc/NetworkManager/system-connections/* \ -+ /etc/sysconfig/network-scripts/ifcfg-*; do -+ [ -f "$i" ] || continue -+ echo '[ -f /tmp/nm.done ]' >$hookdir/initqueue/finished/nm.sh -+ break -+ done -+fi -diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh -index 4079b735..fc5280a1 100755 ---- a/modules.d/35network-manager/nm-run.sh -+++ b/modules.d/35network-manager/nm-run.sh -@@ -22,3 +22,5 @@ do - source_hook initqueue/online $ifname - /sbin/netroot $ifname - done -+ -+> /tmp/nm.done --- -2.26.2 - diff --git a/sys-kernel/dracut/files/050-systemd-remove-obsolete-syslog-parameter.patch b/sys-kernel/dracut/files/050-systemd-remove-obsolete-syslog-parameter.patch deleted file mode 100644 index f24cf11..0000000 --- a/sys-kernel/dracut/files/050-systemd-remove-obsolete-syslog-parameter.patch +++ /dev/null @@ -1,241 +0,0 @@ -From 265f696b532f63f0ac1f9f341e0469a6eafe2fdd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:26:00 +0000 -Subject: [PATCH 01/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/90stratis/stratisd-init.service | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/modules.d/90stratis/stratisd-init.service b/modules.d/90stratis/stratisd-init.service -index 318e8c27..1be2e33b 100644 ---- a/modules.d/90stratis/stratisd-init.service -+++ b/modules.d/90stratis/stratisd-init.service -@@ -8,8 +8,6 @@ DefaultDependencies=no - Type=simple - ExecStart=/sbin/stratisd-init --debug - KillSignal=SIGINT --StandardOutput=syslog --StandardError=syslog - - [Install] - WantedBy=sysinit.target --- -2.26.2 - -From 38ba90bf88b38228e128c65be40a2da287c0b1ed Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:29:34 +0000 -Subject: [PATCH 02/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/99squash/squash-mnt-clear.service | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/modules.d/99squash/squash-mnt-clear.service b/modules.d/99squash/squash-mnt-clear.service -index 84441f60..9d94c524 100644 ---- a/modules.d/99squash/squash-mnt-clear.service -+++ b/modules.d/99squash/squash-mnt-clear.service -@@ -12,6 +12,6 @@ ConditionPathExists=/squash/root - Type=oneshot - RemainAfterExit=no - StandardInput=null --StandardOutput=syslog+console --StandardError=syslog+console -+StandardOutput=journal+console -+StandardError=journal+console - ExecStart=/squash/clear-squash.sh --- -2.26.2 - -From 5cb2a4004d18e4b96ddc18f221fae922350a9000 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:31:17 +0000 -Subject: [PATCH 03/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/98dracut-systemd/dracut-pre-trigger.service | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/98dracut-systemd/dracut-pre-trigger.service b/modules.d/98dracut-systemd/dracut-pre-trigger.service -index 7bf16167..6f1ba521 100644 ---- a/modules.d/98dracut-systemd/dracut-pre-trigger.service -+++ b/modules.d/98dracut-systemd/dracut-pre-trigger.service -@@ -20,8 +20,7 @@ Environment=NEWROOT=/sysroot - Type=oneshot - ExecStart=-/bin/dracut-pre-trigger - StandardInput=null --StandardOutput=syslog --StandardError=syslog+console -+StandardError=journal+console - KillMode=process - RemainAfterExit=yes - --- -2.26.2 - -From 317d841c788e841d3533515ceda5597a099eb64e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:31:59 +0000 -Subject: [PATCH 04/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/98dracut-systemd/dracut-initqueue.service | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/98dracut-systemd/dracut-initqueue.service b/modules.d/98dracut-systemd/dracut-initqueue.service -index 207d545d..3a8679a5 100644 ---- a/modules.d/98dracut-systemd/dracut-initqueue.service -+++ b/modules.d/98dracut-systemd/dracut-initqueue.service -@@ -21,8 +21,7 @@ Environment=NEWROOT=/sysroot - Type=oneshot - ExecStart=-/bin/dracut-initqueue - StandardInput=null --StandardOutput=syslog --StandardError=syslog+console -+StandardError=journal+console - KillMode=process - RemainAfterExit=yes - --- -2.26.2 - -From 0c1bd016ecfb9c6d194c4356199b509d90db4071 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:32:44 +0000 -Subject: [PATCH 05/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/98dracut-systemd/dracut-pre-pivot.service | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/98dracut-systemd/dracut-pre-pivot.service b/modules.d/98dracut-systemd/dracut-pre-pivot.service -index 9a1f0854..e893d1dd 100644 ---- a/modules.d/98dracut-systemd/dracut-pre-pivot.service -+++ b/modules.d/98dracut-systemd/dracut-pre-pivot.service -@@ -27,8 +27,7 @@ Environment=NEWROOT=/sysroot - Type=oneshot - ExecStart=-/bin/dracut-pre-pivot - StandardInput=null --StandardOutput=syslog --StandardError=syslog+console -+StandardError=journal+console - KillMode=process - RemainAfterExit=yes - --- -2.26.2 - -From e1130a83405648777210fdc99f7eee087eebaadc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:33:33 +0000 -Subject: [PATCH 06/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/98dracut-systemd/dracut-pre-udev.service | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/98dracut-systemd/dracut-pre-udev.service b/modules.d/98dracut-systemd/dracut-pre-udev.service -index 570ec02d..e4092e35 100644 ---- a/modules.d/98dracut-systemd/dracut-pre-udev.service -+++ b/modules.d/98dracut-systemd/dracut-pre-udev.service -@@ -24,8 +24,7 @@ Environment=NEWROOT=/sysroot - Type=oneshot - ExecStart=-/bin/dracut-pre-udev - StandardInput=null --StandardOutput=syslog --StandardError=syslog+console -+StandardError=journal+console - KillMode=process - RemainAfterExit=yes - --- -2.26.2 - -From c437933cb0490e800e776cb7695d2ea0e95056a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:34:17 +0000 -Subject: [PATCH 07/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/98dracut-systemd/dracut-pre-mount.service | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/98dracut-systemd/dracut-pre-mount.service b/modules.d/98dracut-systemd/dracut-pre-mount.service -index d3909689..18c9730c 100644 ---- a/modules.d/98dracut-systemd/dracut-pre-mount.service -+++ b/modules.d/98dracut-systemd/dracut-pre-mount.service -@@ -19,8 +19,7 @@ Environment=NEWROOT=/sysroot - Type=oneshot - ExecStart=-/bin/dracut-pre-mount - StandardInput=null --StandardOutput=syslog --StandardError=syslog+console -+StandardError=journal+console - KillMode=process - RemainAfterExit=yes - --- -2.26.2 - -From d9149c6ca7c52c204c1b346e9b6a32bbadd0b2ff Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:35:02 +0000 -Subject: [PATCH 08/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/98dracut-systemd/dracut-cmdline.service | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/98dracut-systemd/dracut-cmdline.service b/modules.d/98dracut-systemd/dracut-cmdline.service -index e577ec88..a8078bd2 100644 ---- a/modules.d/98dracut-systemd/dracut-cmdline.service -+++ b/modules.d/98dracut-systemd/dracut-cmdline.service -@@ -23,8 +23,7 @@ Environment=NEWROOT=/sysroot - Type=oneshot - ExecStart=-/bin/dracut-cmdline - StandardInput=null --StandardOutput=syslog --StandardError=syslog+console -+StandardError=journal+console - KillMode=process - RemainAfterExit=yes - --- -2.26.2 - -From 8cb5ac1b30be458df9497911ba601d90e68f4d5b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Wed, 15 Jul 2020 14:35:38 +0000 -Subject: [PATCH 09/10] As of v246 of systemd "syslog" and "syslog-console" - switches have been deprecated - ---- - modules.d/98dracut-systemd/dracut-mount.service | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/98dracut-systemd/dracut-mount.service b/modules.d/98dracut-systemd/dracut-mount.service -index 77d34f62..c88e6d84 100644 ---- a/modules.d/98dracut-systemd/dracut-mount.service -+++ b/modules.d/98dracut-systemd/dracut-mount.service -@@ -19,8 +19,7 @@ Environment=NEWROOT=/sysroot - Type=oneshot - ExecStart=-/bin/dracut-mount - StandardInput=null --StandardOutput=syslog --StandardError=syslog+console -+StandardError=journal+console - KillMode=process - RemainAfterExit=yes - --- -2.26.2 - diff --git a/sys-kernel/dracut/files/051-dracut.sh-move-ldconfig.patch b/sys-kernel/dracut/files/051-dracut.sh-move-ldconfig.patch deleted file mode 100644 index d6d97f7..0000000 --- a/sys-kernel/dracut/files/051-dracut.sh-move-ldconfig.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 48258fae9fa58046d7d1a246ea3d821530180643 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Fri, 18 Dec 2020 00:01:32 +0300 -Subject: [PATCH] dracut.sh: Move ldconfig after library workaround - -This fixes boot failures when libgcc_s.so.1 is in a non-standard -directory. - -Bug: https://bugs.gentoo.org/760249 -Fixes: de3cb0e3214c (dracut.sh: Move the library workaround after squash) ---- - dracut.sh | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 0f4648397..c6c361acc 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1724,20 +1724,6 @@ for ((i=0; i < ${#include_src[@]}; i++)); do - fi - done - --if [[ $kernel_only != yes ]]; then -- # make sure that library links are correct and up to date -- for f in $dracutsysrootdir/etc/ld.so.conf $dracutsysrootdir/etc/ld.so.conf.d/*; do -- [[ -f $f ]] && inst_simple "${f#$dracutsysrootdir}" -- done -- if ! $DRACUT_LDCONFIG -r "$initdir" -f /etc/ld.so.conf; then -- if [[ $EUID = 0 ]]; then -- derror "ldconfig exited ungracefully" -- else -- derror "ldconfig might need uid=0 (root) for chroot()" -- fi -- fi --fi -- - if [[ $do_hardlink = yes ]] && command -v hardlink >/dev/null; then - dinfo "*** Hardlinking files ***" - hardlink "$initdir" 2>&1 -@@ -1920,6 +1906,20 @@ if [[ $kernel_only != yes ]]; then - fi - fi - -+if [[ $kernel_only != yes ]]; then -+ # make sure that library links are correct and up to date -+ for f in $dracutsysrootdir/etc/ld.so.conf $dracutsysrootdir/etc/ld.so.conf.d/*; do -+ [[ -f $f ]] && inst_simple "${f#$dracutsysrootdir}" -+ done -+ if ! $DRACUT_LDCONFIG -r "$initdir" -f /etc/ld.so.conf; then -+ if [[ $EUID = 0 ]]; then -+ derror "ldconfig exited ungracefully" -+ else -+ derror "ldconfig might need uid=0 (root) for chroot()" -+ fi -+ fi -+fi -+ - if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then - dinfo "*** Stripping files ***" - find "$initdir" -type f \ diff --git a/sys-kernel/dracut/files/053-network-manager.patch b/sys-kernel/dracut/files/053-network-manager.patch new file mode 100644 index 0000000..c3b3377 --- /dev/null +++ b/sys-kernel/dracut/files/053-network-manager.patch @@ -0,0 +1,24 @@ +From ba4bcf5f4f11ad624c647ddf4f566997186135e7 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 31 Mar 2021 16:11:41 +0200 +Subject: [PATCH] fix(network-manager): no default deps for nm-run.service + +Otherwise nm-run.service will run only in basic.target, which is too +late in the initramfs. +--- + modules.d/35network-manager/nm-run.service | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules.d/35network-manager/nm-run.service b/modules.d/35network-manager/nm-run.service +index 63fe7564d0..f3493c41a3 100644 +--- a/modules.d/35network-manager/nm-run.service ++++ b/modules.d/35network-manager/nm-run.service +@@ -2,6 +2,8 @@ + # SPDX-License-Identifier: GPL-2.0-or-later + + [Unit] ++DefaultDependencies=no ++ + #make sure all devices showed up + Wants=systemd-udev-settle.service + After=systemd-udev-settle.service diff --git a/sys-kernel/dracut/files/055-fix-base-do-not-quote-initargs-for-switch_root.patch b/sys-kernel/dracut/files/055-fix-base-do-not-quote-initargs-for-switch_root.patch new file mode 100644 index 0000000..5568c22 --- /dev/null +++ b/sys-kernel/dracut/files/055-fix-base-do-not-quote-initargs-for-switch_root.patch @@ -0,0 +1,32 @@ +From 285e2ad01035743ff51005a74e486e09fcbb0a0d Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Fri, 23 Jul 2021 14:35:07 -0400 +Subject: [PATCH] fix(base): do not quote $initargs for switch_root + +We want word splitting to occur so that the arguments are passed +separately, and we don't end up passing an empty string if no arguments +are specified. + +Bug: https://bugs.gentoo.org/803548 +Fixes: 2fabaaa62dcfd31e593ca45e1374e55adae29d6b +--- + modules.d/99base/init.sh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh +index 978adb6f..ab62bb44 100755 +--- a/modules.d/99base/init.sh ++++ b/modules.d/99base/init.sh +@@ -387,7 +387,8 @@ if [ -f /etc/capsdrop ]; then + } + else + unset RD_DEBUG +- exec "$SWITCH_ROOT" "$NEWROOT" "$INIT" "$initargs" || { ++ # shellcheck disable=SC2086 ++ exec "$SWITCH_ROOT" "$NEWROOT" "$INIT" $initargs || { + warn "Something went very badly wrong in the initramfs. Please " + warn "file a bug against dracut." + emergency_shell +-- +2.32.0 + diff --git a/sys-kernel/dracut/files/055-fix-crypt-remove-quotes-from-cryptsetupopts.patch b/sys-kernel/dracut/files/055-fix-crypt-remove-quotes-from-cryptsetupopts.patch new file mode 100644 index 0000000..355cdc4 --- /dev/null +++ b/sys-kernel/dracut/files/055-fix-crypt-remove-quotes-from-cryptsetupopts.patch @@ -0,0 +1,39 @@ +From e0abf88a15d23fbf793cf872397016ad86aeaaa8 Mon Sep 17 00:00:00 2001 +From: lapseofreason +Date: Tue, 8 Jun 2021 16:01:58 +0200 +Subject: [PATCH] fix(crypt): remove quotes from cryptsetupopts + +Fixes #1528. +--- + modules.d/90crypt/cryptroot-ask.sh | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/modules.d/90crypt/cryptroot-ask.sh b/modules.d/90crypt/cryptroot-ask.sh +index 37a4deea..b1f8df81 100755 +--- a/modules.d/90crypt/cryptroot-ask.sh ++++ b/modules.d/90crypt/cryptroot-ask.sh +@@ -138,8 +138,9 @@ unset allowdiscards + ask_passphrase=1 + + if [ -n "$luksfile" -a "$luksfile" != "none" -a -e "$luksfile" ]; then ++ # shellcheck disable=SC2086 + if readkey "$luksfile" / "$device" \ +- | cryptsetup -d - "$cryptsetupopts" luksOpen "$device" "$luksname"; then ++ | cryptsetup -d - $cryptsetupopts luksOpen "$device" "$luksname"; then + ask_passphrase=0 + fi + elif [ "$is_keysource" -ne 0 ]; then +@@ -164,8 +165,9 @@ else + unset tmp + + info "Using '$keypath' on '$keydev'" ++ # shellcheck disable=SC2086 + readkey "$keypath" "$keydev" "$device" \ +- | cryptsetup -d - "$cryptsetupopts" luksOpen "$device" "$luksname" \ ++ | cryptsetup -d - $cryptsetupopts luksOpen "$device" "$luksname" \ + && ask_passphrase=0 + unset keypath keydev + break +-- +2.32.0 + diff --git a/sys-kernel/dracut/files/055-fix-usrmount-do-not-empty-_dev-variable.patch b/sys-kernel/dracut/files/055-fix-usrmount-do-not-empty-_dev-variable.patch new file mode 100644 index 0000000..e46f8bb --- /dev/null +++ b/sys-kernel/dracut/files/055-fix-usrmount-do-not-empty-_dev-variable.patch @@ -0,0 +1,36 @@ +From 4afdcba212793f136aea012b30dd7bdb5b641a5a Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy +Date: Mon, 16 Aug 2021 18:54:34 +0300 +Subject: [PATCH] fix(usrmount): do not empty _dev variable + +Currently $_dev is always overridden with the value returned by +label_uuid_to_dev(). This results in an empty value if $_dev is a +device path. Fix this by calling label_uuid_to_dev() conditionally. + +Bug: https://bugs.gentoo.org/807971 +Fixes: d3532978de04c78f53664dad7b37705a49a7ee54 +--- + modules.d/98usrmount/mount-usr.sh | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh +index 23ed06aa..c8e1893b 100755 +--- a/modules.d/98usrmount/mount-usr.sh ++++ b/modules.d/98usrmount/mount-usr.sh +@@ -55,7 +55,12 @@ mount_usr() { + while read -r _dev _mp _fs _opts _freq _passno || [ -n "$_dev" ]; do + [ "${_dev%%#*}" != "$_dev" ] && continue + if [ "$_mp" = "/usr" ]; then +- _dev="$(label_uuid_to_dev "$_dev")" ++ case "$_dev" in ++ LABEL=* | UUID=* | PARTUUID=* | PARTLABEL=*) ++ _dev="$(label_uuid_to_dev "$_dev")" ++ ;; ++ *) ;; ++ esac + + if strstr "$_opts" "subvol=" \ + && [ "${root#block:}" -ef "$_dev" ] \ +-- +2.31.1 + diff --git a/sys-kernel/dracut/files/crypt-ssh-luks.patch b/sys-kernel/dracut/files/crypt-ssh-luks.patch index c01354c..e7bfd18 100644 --- a/sys-kernel/dracut/files/crypt-ssh-luks.patch +++ b/sys-kernel/dracut/files/crypt-ssh-luks.patch @@ -1,16 +1,8 @@ -commit 2e091e01691ac86f014d52504f13c6e1cc0990c3 -Author: Stefan Reimer -Date: Fri Feb 19 13:50:45 2021 +0100 - - crypt-ssh module: This modules allows for unlocking LUKS encrypted root filesystems remotely over SSH. - By setting rd.luks.ssh and having a /root/.ssh/authorized_keys file dracut will wait - until an authorized users logs in and enters a passphrase to open the LUKS device. - diff --git a/modules.d/90crypt/cryptroot-ask.sh b/modules.d/90crypt/cryptroot-ask.sh -index 1ea77ccc..e73743ef 100755 +index 37a4deea..320eca82 100755 --- a/modules.d/90crypt/cryptroot-ask.sh +++ b/modules.d/90crypt/cryptroot-ask.sh -@@ -173,15 +173,26 @@ fi +@@ -174,15 +174,25 @@ fi if [ $ask_passphrase -ne 0 ]; then luks_open="$(command -v cryptsetup) $cryptsetupopts luksOpen" @@ -21,11 +13,10 @@ index 1ea77ccc..e73743ef 100755 - --ply-prompt "Password ($device)" \ - --tty-tries 1 \ - --tty-cmd "$luks_open -T5 -t $_timeout $device $luksname" -+ + if getargbool 0 rd.luks.ssh; then + # Setup authorized_key file, inject forced cmd for each entry + while read key; do -+ echo "command=\"$luks_open -T5 $device $luksname && rm -f /tmp/crypt-ssh-block\" $key" >> /root/.ssh/authorized_keys ++ echo "command=\"$luks_open -T5 $device $luksname && rm -f /tmp/crypt-ssh-block\" $key" >> /root/.ssh/authorized_keys + done < /root/.ssh/key.pub + rm -f /root/.ssh/key.pub + # Create flock to prevent initqueue from timing out waiting for someone to login @@ -44,9 +35,9 @@ index 1ea77ccc..e73743ef 100755 - unset _timeout fi - if [ "$is_keysource" -ne 0 -a ${luksname##luks-} != "$luksname" ]; then + if [ "$is_keysource" -ne 0 -a "${luksname##luks-}" != "$luksname" ]; then diff --git a/modules.d/92crypt-ssh/crypt-ssh-cleanup.sh b/modules.d/92crypt-ssh/crypt-ssh-cleanup.sh -new file mode 100644 +new file mode 100755 index 00000000..03b05d84 --- /dev/null +++ b/modules.d/92crypt-ssh/crypt-ssh-cleanup.sh @@ -98,7 +89,7 @@ index 00000000..4fd2aadf + inst_hook cleanup 99 "$moddir/crypt-ssh-cleanup.sh" +} diff --git a/modules.d/92crypt-ssh/start-ssh.sh b/modules.d/92crypt-ssh/start-ssh.sh -new file mode 100644 +new file mode 100755 index 00000000..ac1c5ec3 --- /dev/null +++ b/modules.d/92crypt-ssh/start-ssh.sh diff --git a/sys-kernel/dracut/files/gentoo-ldconfig-paths-r1.patch b/sys-kernel/dracut/files/gentoo-ldconfig-paths-r1.patch new file mode 100644 index 0000000..53349a1 --- /dev/null +++ b/sys-kernel/dracut/files/gentoo-ldconfig-paths-r1.patch @@ -0,0 +1,39 @@ +From e6a5f02038954ede223cc75901386acf43ec4264 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy +Date: Mon, 9 Mar 2020 02:47:07 +0300 +Subject: [PATCH] Remove redundant gcc paths in ldconfig_paths() + +Bug: https://bugs.gentoo.org/705728 +--- + dracut-functions.sh | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index 5206bd21..a119fb15 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -81,7 +81,20 @@ find_binary() { + } + + ldconfig_paths() { +- $DRACUT_LDCONFIG ${dracutsysrootdir:+-r ${dracutsysrootdir} -f /etc/ld.so.conf} -pN 2> /dev/null | grep -E -v '/(lib|lib64|usr/lib|usr/lib64)/[^/]*$' | sed -n 's,.* => \(.*\)/.*,\1,p' | sort | uniq ++ local gccpath ++ ++ if type -P gcc-config &>/dev/null; then ++ gccpath=$(gcc-config -c) ++ gccpath=/usr/lib/gcc/${gccpath%-*}/${gccpath##*-} ++ fi ++ ++ while read -r line; do ++ if [[ ${line} != /usr/lib/gcc/* || -z ${gccpath} ]]; then ++ echo ${line} ++ elif [[ ${line} == ${gccpath} ]]; then ++ echo ${line} ++ fi ++ done < <($DRACUT_LDCONFIG ${dracutsysrootdir:+-r ${dracutsysrootdir} -f /etc/ld.so.conf} -pN 2>/dev/null | grep -E -v '/(lib|lib64|usr/lib|usr/lib64)/[^/]*$' | sed -n 's,.* => \(.*\)/.*,\1,p' | sort | uniq) + } + + # Version comparision function. Assumes Linux style version scheme. +-- +2.32.0 +