diff --git a/.gitignore b/.gitignore index 97e20cc..6651693 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ /dracut-045.tar.xz /dracut-046.tar.xz /dracut-047.tar.xz +/dracut-048.tar.xz diff --git a/0001.patch b/0001.patch deleted file mode 100644 index 4d8cf8b..0000000 --- a/0001.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 7b3f374a82dd1846a2fcb06490cafd95177b3f59 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 19 Feb 2018 10:16:30 +0100 -Subject: [PATCH] dracut.spec: remove clean section - ---- - dracut.spec | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/dracut.spec b/dracut.spec -index 4b5f0146..f16e69f7 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -336,9 +336,6 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - > $RPM_BUILD_ROOT/etc/system-fips - %endif - --%clean --rm -rf -- $RPM_BUILD_ROOT -- - %files - %defattr(-,root,root,0755) - %if %{with doc} - diff --git a/0002.patch b/0002.patch deleted file mode 100644 index 308b8b8..0000000 --- a/0002.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0a68b6a5181cf147b5706b52fd032901b347d5cb Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 19 Feb 2018 10:17:36 +0100 -Subject: [PATCH] dracut.spec: remove BuildRoot - ---- - dracut.spec | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/dracut.spec b/dracut.spec -index f16e69f7..445d6adb 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -45,17 +45,12 @@ BuildRequires: kmod-devel >= 23 - BuildRequires: gcc - - %if 0%{?fedora} || 0%{?rhel} --BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - BuildRequires: pkgconfig - %endif - %if 0%{?fedora} - BuildRequires: bash-completion - %endif - --%if 0%{?suse_version} --BuildRoot: %{_tmppath}/%{name}-%{version}-build --%endif -- - %if %{with doc} - %if 0%{?fedora} || 0%{?rhel} - BuildRequires: docbook-style-xsl docbook-dtds libxslt - diff --git a/0003.patch b/0003.patch deleted file mode 100644 index 0f4425b..0000000 --- a/0003.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3ed33db54a34e5d398a063f578f0d15d834816db Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 26 Feb 2018 11:22:55 +0100 -Subject: [PATCH] Update %description a bit - ---- - dracut.spec | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/dracut.spec b/dracut.spec -index 445d6adb..725f89d6 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -127,11 +127,12 @@ Requires: util-linux-ng >= 2.21 - Conflicts: mdadm < 3.2.6-14 - - %description --dracut contains tools to create a bootable initramfs for 2.6 Linux kernels. --Unlike existing implementations, dracut does hard-code as little as possible --into the initramfs. dracut contains various modules which are driven by the --event-based udev. Having root on MD, DM, LVM2, LUKS is supported as well as --NFS, iSCSI, NBD, FCoE with the dracut-network package. -+dracut contains tools to create bootable initramfses for the Linux -+kernel. Unlike previous implementations, dracut hard-codes as little -+as possible into the initramfs. dracut contains various modules which -+are driven by the event-based udev. Having root on MD, DM, LVM2, LUKS -+is supported as well as NFS, iSCSI, NBD, FCoE with the dracut-network -+package. - - %package network - Summary: dracut modules to build a dracut initramfs with network support - diff --git a/0004.patch b/0004.patch deleted file mode 100644 index d002b66..0000000 --- a/0004.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 48723f28aa4451b1793373c35527d3627b001b7e Mon Sep 17 00:00:00 2001 -From: Daniel Molkentin -Date: Thu, 1 Mar 2018 10:24:29 +0100 -Subject: [PATCH] 90kernel-modules: Ensure PCI host modules are included - -The includes modules like the Intel Volume Management Device driver, -which is required to boot from disk on some systems. - -Reference: boo#1079924 ---- - modules.d/90kernel-modules/module-setup.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh -index 076f1e8a..94592e6b 100755 ---- a/modules.d/90kernel-modules/module-setup.sh -+++ b/modules.d/90kernel-modules/module-setup.sh -@@ -17,6 +17,7 @@ installkernel() { - "=drivers/input/serio" \ - "=drivers/input/keyboard" \ - "=drivers/usb/storage" \ -+ "=drivers/pci/host" \ - ${NULL} - - instmods \ - diff --git a/0005.patch b/0005.patch deleted file mode 100644 index 8c0ec7c..0000000 --- a/0005.patch +++ /dev/null @@ -1,143 +0,0 @@ -From b39b8452d23d098aa4f6898a2bdb8391aa45836e Mon Sep 17 00:00:00 2001 -From: Javier Martinez Canillas -Date: Wed, 28 Feb 2018 09:39:12 +0100 -Subject: [PATCH] 5?-dracut*.install: Allow scripts to install the initramfs in - /boot dir - -The GRUB 2 bootloaders expect the initrd to be installed in /boot instead -of /boot/$MACHINE_ID/$KERNEL_VERSION/{linux,initrd}, so if that directory -doesn't exists, install the initramfs images on the /boot directory. - -Signed-off-by: Javier Martinez Canillas ---- - 50-dracut.install | 17 ++++++++++----- - 51-dracut-rescue.install | 55 ++++++++++++++++++++++++++++++++++-------------- - 2 files changed, 51 insertions(+), 21 deletions(-) - -diff --git a/50-dracut.install b/50-dracut.install -index f1314d02..64e3549f 100755 ---- a/50-dracut.install -+++ b/50-dracut.install -@@ -11,6 +11,13 @@ if ! [[ ${KERNEL_INSTALL_MACHINE_ID-x} ]]; then - exit 0 - fi - -+if [[ -d "$BOOT_DIR_ABS" ]]; then -+ INITRD="initrd" -+else -+ BOOT_DIR_ABS="/boot" -+ INITRD="initramfs-${KERNEL_VERSION}.img" -+fi -+ - ret=0 - case "$COMMAND" in - add) -@@ -18,9 +25,9 @@ case "$COMMAND" in - if [[ -f ${INITRD_IMAGE_PREGENERATED} ]]; then - # we found an initrd at the same place as the kernel - # use this and don't generate a new one -- cp --reflink=auto "$INITRD_IMAGE_PREGENERATED" "$BOOT_DIR_ABS/initrd" \ -- && chown root:root "$BOOT_DIR_ABS/initrd" \ -- && chmod 0600 "$BOOT_DIR_ABS/initrd" \ -+ cp --reflink=auto "$INITRD_IMAGE_PREGENERATED" "$BOOT_DIR_ABS/$INITRD" \ -+ && chown root:root "$BOOT_DIR_ABS/$INITRD" \ -+ && chmod 0600 "$BOOT_DIR_ABS/$INITRD" \ - && exit 0 - fi - -@@ -42,11 +49,11 @@ case "$COMMAND" in - break - fi - done -- dracut ${noimageifnotneeded:+--noimageifnotneeded} "$BOOT_DIR_ABS"/initrd "$KERNEL_VERSION" -+ dracut ${noimageifnotneeded:+--noimageifnotneeded} "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION" - ret=$? - ;; - remove) -- rm -f -- "$BOOT_DIR_ABS"/initrd -+ rm -f -- "$BOOT_DIR_ABS/$INITRD" - ret=$? - ;; - esac -diff --git a/51-dracut-rescue.install b/51-dracut-rescue.install -index 7fbeac1d..3f07a698 100755 ---- a/51-dracut-rescue.install -+++ b/51-dracut-rescue.install -@@ -63,15 +63,30 @@ if ! [[ ${BOOT_OPTIONS[*]} ]]; then - exit 1 - fi - --BOOT_DIR="/${MACHINE_ID}/0-rescue" --BOOT_ROOT=${BOOT_DIR_ABS%$BOOT_DIR} --LOADER_ENTRY="$BOOT_ROOT/loader/entries/${MACHINE_ID}-0-rescue.conf" -+if [[ -d "$BOOT_DIR_ABS" ]]; then -+ BOOT_DIR="/${MACHINE_ID}/0-rescue" -+ BOOT_ROOT=${BOOT_DIR_ABS%$BOOT_DIR} -+ LOADER_ENTRY="$BOOT_ROOT/loader/entries/${MACHINE_ID}-0-rescue.conf" -+ KERNEL="linux" -+ INITRD="initrd" -+else -+ BLS_DIR="/boot/loader/entries" -+ if [ -d /sys/firmware/efi ]; then -+ BLS_DIR="/boot/efi/EFI/${ID}/loader/entries" -+ fi -+ -+ BOOT_DIR_ABS="/boot" -+ LOADER_ENTRY="$BLS_DIR/${MACHINE_ID}-0-rescue.conf" -+ KERNEL="vmlinuz-0-rescue-${MACHINE_ID}" -+ INITRD="initramfs-0-rescue-${MACHINE_ID}.img" -+fi - - ret=0 - - case "$COMMAND" in - add) -- [[ -f "$LOADER_ENTRY" ]] && exit 0 -+ [[ -f "$LOADER_ENTRY" ]] && [[ -f "$BOOT_DIR_ABS/$KERNEL" ]] \ -+ && [[ -f "$BOOT_DIR_ABS/$INITRD" ]] && exit 0 - - # source our config dir - for f in $(dropindirs_sort ".conf" "/etc/dracut.conf.d" "/usr/lib/dracut/dracut.conf.d"); do -@@ -82,21 +97,29 @@ case "$COMMAND" in - - [[ -d "$BOOT_DIR_ABS" ]] || mkdir -p "$BOOT_DIR_ABS" - -- if ! cp --reflink=auto "$KERNEL_IMAGE" "$BOOT_DIR_ABS"/linux; then -- echo "Can't copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'!" >&2 -+ if ! cp --reflink=auto "$KERNEL_IMAGE" "$BOOT_DIR_ABS/$KERNEL"; then -+ echo "Can't copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/$KERNEL'!" >&2 - fi - -- dracut --no-hostonly -a "rescue" "$BOOT_DIR_ABS"/initrd "$KERNEL_VERSION" -- ((ret+=$?)) -+ if [[ ! -f "$BOOT_DIR_ABS/$INITRD" ]]; then -+ dracut --no-hostonly -a "rescue" "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION" -+ ((ret+=$?)) -+ fi -+ -+ if [[ -d "$BOOT_DIR" ]]; then -+ { -+ echo "title $PRETTY_NAME - Rescue Image" -+ echo "version $KERNEL_VERSION" -+ echo "machine-id $MACHINE_ID" -+ echo "options ${BOOT_OPTIONS[@]} rd.auto=1" -+ echo "linux $BOOT_DIR/linux" -+ echo "initrd $BOOT_DIR/initrd" -+ } > $LOADER_ENTRY -+ else -+ cp -aT "${KERNEL_IMAGE%/*}/bls.conf" $LOADER_ENTRY -+ sed -i 's/'$KERNEL_VERSION'/0-rescue-'${MACHINE_ID}'/' $LOADER_ENTRY -+ fi - -- { -- echo "title $PRETTY_NAME - Rescue Image" -- echo "version $KERNEL_VERSION" -- echo "machine-id $MACHINE_ID" -- echo "options ${BOOT_OPTIONS[@]} rd.auto=1" -- echo "linux $BOOT_DIR/linux" -- echo "initrd $BOOT_DIR/initrd" -- } > $LOADER_ENTRY - ((ret+=$?)) - ;; - - diff --git a/0006.patch b/0006.patch deleted file mode 100644 index bd016c8..0000000 --- a/0006.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 3aa37cafde734719f2377600a17459fad30edfbc Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 2 Mar 2018 12:29:46 +0100 -Subject: [PATCH] all: fix issues found by shellcheck - -Error: SHELLCHECK_WARNING: -/usr/lib/dracut/dracut-init.sh:939:20: error: Argument to implicit -n is always true due to literal strings. [SC2157] - 937| dracut_kernel_post() { - 938| for _f in modules.builtin.bin modules.builtin modules.order; do - 939|-> [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" - 940| done - 941| - -Error: SHELLCHECK_WARNING: -/usr/lib/dracut/modules.d/98syslog/parse-syslog-opts.sh:18:12: error: This expression is constant. Did you forget a $ somewhere? [SC2078] - 16| elif [ -e /sbin/syslogd ]; then - 17| syslogtype="syslogd" - 18|-> elif [ /sbin/syslog-ng ]; then - 19| syslogtype="syslog-ng" - 20| else - -Error: SHELLCHECK_WARNING: -/usr/lib/dracut/modules.d/90crypt/crypt-lib.sh:15:29: error: Since you double quoted this, it will not word split, and the loop will only run once. [SC2066] - 13| strstr "$d" "${luks##luks-}" && return 0 - 14| if [ -n "$dev" ]; then - 15|-> for _dev in "$(devnames $d)"; do - 16| [ "$dev" -ef "$_dev" ] && return 0 - 17| done ---- - dracut-init.sh | 2 +- - modules.d/90crypt/crypt-lib.sh | 2 +- - modules.d/98syslog/parse-syslog-opts.sh | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/dracut-init.sh b/dracut-init.sh -index 53e6f13a..1278c638 100644 ---- a/dracut-init.sh -+++ b/dracut-init.sh -@@ -942,7 +942,7 @@ for_each_kmod_dep() { - - dracut_kernel_post() { - for _f in modules.builtin.bin modules.builtin modules.order; do -- [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" -+ [[ -e $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" - done - - # generate module dependencies for the initrd -diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh -index 532b9a71..bbf485e0 100755 ---- a/modules.d/90crypt/crypt-lib.sh -+++ b/modules.d/90crypt/crypt-lib.sh -@@ -12,7 +12,7 @@ crypttab_contains() { - strstr "${l##luks-}" "${luks##luks-}" && return 0 - strstr "$d" "${luks##luks-}" && return 0 - if [ -n "$dev" ]; then -- for _dev in "$(devnames $d)"; do -+ for _dev in $(devnames $d); do - [ "$dev" -ef "$_dev" ] && return 0 - done - fi -diff --git a/modules.d/98syslog/parse-syslog-opts.sh b/modules.d/98syslog/parse-syslog-opts.sh -index 50ec2759..9ec6ad47 100755 ---- a/modules.d/98syslog/parse-syslog-opts.sh -+++ b/modules.d/98syslog/parse-syslog-opts.sh -@@ -15,7 +15,7 @@ detect_syslog() { - syslogtype="rsyslogd" - elif [ -e /sbin/syslogd ]; then - syslogtype="syslogd" -- elif [ /sbin/syslog-ng ]; then -+ elif [ -e /sbin/syslog-ng ]; then - syslogtype="syslog-ng" - else - warn "Could not find any syslog binary although the syslogmodule is selected to be installed. Please check." - diff --git a/0007.patch b/0007.patch deleted file mode 100644 index a43a4f4..0000000 --- a/0007.patch +++ /dev/null @@ -1,22 +0,0 @@ -From f8e0c7cc6296909cff92f718ed360ff9ef1f7bae Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 5 Mar 2018 09:55:39 +0100 -Subject: [PATCH] kernel-modules: add mmc/core for arm - ---- - modules.d/90kernel-modules/module-setup.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh -index 94592e6b..7de44735 100755 ---- a/modules.d/90kernel-modules/module-setup.sh -+++ b/modules.d/90kernel-modules/module-setup.sh -@@ -36,6 +36,7 @@ installkernel() { - "=drivers/hwspinlock" \ - "=drivers/i2c/busses" \ - "=drivers/mfd" \ -+ "=drivers/mmc/core" \ - "=drivers/phy" \ - "=drivers/power" \ - "=drivers/regulator" \ - diff --git a/0008.patch b/0008.patch deleted file mode 100644 index 40f239e..0000000 --- a/0008.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f8c24964cdde2b8c1569ab33225108573682d3b7 Mon Sep 17 00:00:00 2001 -From: Javier Martinez Canillas -Date: Fri, 9 Mar 2018 18:54:49 +0100 -Subject: [PATCH] 51-dracut-rescue.install: fix initramfs not generated in - /boot case - -Commit 5e574046e76e ("5?-dracut*.install: Allow scripts to install -the initramfs in /boot dir") added support to generate initramfs -images in the /boot directory and copy the respective BLS files. - -Unfortunately, it broke the rescue initramfs generation when it's -not installed on /boot due not checking for the correct condition. - -It checks for the 0-rescue sub-dir to exist, but this is created so -instead if the parent sub-dir exists has to be checked. Also, check -if the destination directory is /boot or not, instead if it exists. - -Signed-off-by: Javier Martinez Canillas ---- - 51-dracut-rescue.install | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/51-dracut-rescue.install b/51-dracut-rescue.install -index 3f07a698..679e94b1 100755 ---- a/51-dracut-rescue.install -+++ b/51-dracut-rescue.install -@@ -63,7 +63,7 @@ if ! [[ ${BOOT_OPTIONS[*]} ]]; then - exit 1 - fi - --if [[ -d "$BOOT_DIR_ABS" ]]; then -+if [[ -d "${BOOT_DIR_ABS%/*}" ]]; then - BOOT_DIR="/${MACHINE_ID}/0-rescue" - BOOT_ROOT=${BOOT_DIR_ABS%$BOOT_DIR} - LOADER_ENTRY="$BOOT_ROOT/loader/entries/${MACHINE_ID}-0-rescue.conf" -@@ -106,7 +106,7 @@ case "$COMMAND" in - ((ret+=$?)) - fi - -- if [[ -d "$BOOT_DIR" ]]; then -+ if [[ "${BOOT_DIR_ABS}" != "/boot" ]]; then - { - echo "title $PRETTY_NAME - Rescue Image" - echo "version $KERNEL_VERSION" - diff --git a/0009.patch b/0009.patch deleted file mode 100644 index 9528ce1..0000000 --- a/0009.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ebfd53e1d9f3fabbf336086492f42be0a399ca51 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 15 Mar 2018 09:56:18 +0100 -Subject: [PATCH] lsinitrd.sh: fixed zstd file signature - ---- - lsinitrd.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lsinitrd.sh b/lsinitrd.sh -index dbcc330f..80fbf922 100755 ---- a/lsinitrd.sh -+++ b/lsinitrd.sh -@@ -219,7 +219,7 @@ case $bin in - $'\x89'LZO$'\0'*) - CAT="lzop -d -c" - ;; -- $'0xFD2FB528'*) -+ $'\x28\xB5\x2F\xFD'*) - CAT="zstd -d -c" - ;; - *) - diff --git a/0010.patch b/0010.patch deleted file mode 100644 index c27b81d..0000000 --- a/0010.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d23f32dd4b927f4ac6c6a67c2ff17d5c82a132c9 Mon Sep 17 00:00:00 2001 -From: Daniel Molkentin -Date: Fri, 16 Mar 2018 15:17:41 +0100 -Subject: [PATCH] 90kernel-modules: Include Intel Volume Management Device - support - -Reference: bsc#1079924 ---- - modules.d/90kernel-modules/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh -index 7de44735..35b4af7f 100755 ---- a/modules.d/90kernel-modules/module-setup.sh -+++ b/modules.d/90kernel-modules/module-setup.sh -@@ -24,7 +24,7 @@ installkernel() { - yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \ - atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus \ - virtio virtio_blk virtio_ring virtio_pci virtio_scsi \ -- "=drivers/pcmcia" =ide nvme -+ "=drivers/pcmcia" =ide nvme vmd - - if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then - # arm/aarch64 specific modules - diff --git a/0011.patch b/0011.patch deleted file mode 100644 index 10ec5ee..0000000 --- a/0011.patch +++ /dev/null @@ -1,271 +0,0 @@ -From 0bb9a683d4df27427a0ab1d247b6dbb8343d820e Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Thu, 15 Mar 2018 16:57:47 +0100 -Subject: [PATCH] spec: drop support for legacy distributions - -rhel <= 7 has its own branch and there is no point in supporting the old -fedora ---- - 51-dracut-rescue-postinst.sh | 68 --------------------------------------- - dracut.spec | 75 +++++++------------------------------------- - 2 files changed, 12 insertions(+), 131 deletions(-) - -diff --git a/51-dracut-rescue-postinst.sh b/51-dracut-rescue-postinst.sh -deleted file mode 100755 -index 67f5b717..00000000 ---- a/51-dracut-rescue-postinst.sh -+++ /dev/null -@@ -1,68 +0,0 @@ --#!/bin/bash -- --export LANG=C -- --KERNEL_VERSION="$1" --KERNEL_IMAGE="$2" -- --[[ -f /etc/os-release ]] && . /etc/os-release -- --if [[ ! -f /etc/machine-id ]] || [[ ! -s /etc/machine-id ]]; then -- systemd-machine-id-setup --fi -- --[[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id -- --[[ $MACHINE_ID ]] || exit 1 --[[ -f $KERNEL_IMAGE ]] || exit 1 -- --INITRDFILE="/boot/initramfs-0-rescue-${MACHINE_ID}.img" --NEW_KERNEL_IMAGE="${KERNEL_IMAGE%/*}/vmlinuz-0-rescue-${MACHINE_ID}" -- --[[ -f $INITRDFILE ]] && [[ -f $NEW_KERNEL_IMAGE ]] && exit 0 -- --dropindirs_sort() --{ -- suffix=$1; shift -- args=("$@") -- files=$( -- while (( $# > 0 )); do -- for i in ${1}/*${suffix}; do -- [[ -f $i ]] && echo ${i##*/} -- done -- shift -- done | sort -Vu -- ) -- -- for f in $files; do -- for d in "${args[@]}"; do -- if [[ -f "$d/$f" ]]; then -- echo "$d/$f" -- continue 2 -- fi -- done -- done --} -- --# source our config dir --for f in $(dropindirs_sort ".conf" "/etc/dracut.conf.d" "/usr/lib/dracut/dracut.conf.d"); do -- [[ -e $f ]] && . "$f" --done -- --[[ $dracut_rescue_image != "yes" ]] && exit 0 -- --if [[ ! -f $INITRDFILE ]]; then -- dracut --no-hostonly -a "rescue" "$INITRDFILE" "$KERNEL_VERSION" -- ((ret+=$?)) --fi -- --if [[ ! -f $NEW_KERNEL_IMAGE ]]; then -- cp --reflink=auto "$KERNEL_IMAGE" "$NEW_KERNEL_IMAGE" -- ((ret+=$?)) --fi -- --new-kernel-pkg --install "$KERNEL_VERSION" --kernel-image "$NEW_KERNEL_IMAGE" --initrdfile "$INITRDFILE" --banner "$NAME $VERSION_ID Rescue $MACHINE_ID" -- --((ret+=$?)) -- --exit $ret -diff --git a/dracut.spec b/dracut.spec -index 725f89d6..9c2fc9d4 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -5,15 +5,6 @@ - # strip the automatically generated dep here and instead co-own the - # directory. - %global __requires_exclude pkg-config -- --# Variables must be defined --%define with_nbd 1 -- --# nbd in Fedora only --%if 0%{?rhel} >= 6 --%define with_nbd 0 --%endif -- - %define dist_free_release xxx - - Name: dracut -@@ -46,6 +37,7 @@ BuildRequires: gcc - - %if 0%{?fedora} || 0%{?rhel} - BuildRequires: pkgconfig -+BuildRequires: systemd - %endif - %if 0%{?fedora} - BuildRequires: bash-completion -@@ -63,31 +55,11 @@ BuildRequires: docbook-style-xsl docbook-dtds libxslt - BuildRequires: asciidoc - %endif - --%if 0%{?fedora} > 12 || 0%{?rhel} --# no "provides", because dracut does not offer --# all functionality of the obsoleted packages --Obsoletes: mkinitrd < 6.0.94 --Obsoletes: mkinitrd-devel < 6.0.94 --Obsoletes: nash < 6.0.94 --Obsoletes: libbdevid-python < 6.0.94 --%endif -- --%if 0%{?fedora} > 16 || 0%{?rhel} > 6 --BuildRequires: systemd-units --%endif -- - %if 0%{?suse_version} > 9999 - Obsoletes: mkinitrd < 2.6.1 - Provides: mkinitrd = 2.6.1 - %endif - --Obsoletes: dracut-kernel < 005 --Provides: dracut-kernel = %{version}-%{release} -- --Obsoletes: dracut < 030 --Obsoletes: dracut-norescue < 030 --Provides: dracut-norescue = %{version}-%{release} -- - Requires: bash >= 4 - Requires: coreutils - Requires: cpio -@@ -99,33 +71,23 @@ Requires: sed - Requires: xz - Requires: gzip - --%if 0%{?fedora} > 22 || 0%{?rhel} > 7 -+%if 0%{?fedora} || 0%{?rhel} - Recommends: grubby - Recommends: hardlink - Recommends: pigz - Recommends: kpartx --%else --Requires: hardlink --Requires: gzip --Requires: kpartx --%endif -- --%if 0%{?fedora} || 0%{?rhel} > 6 - Requires: util-linux >= 2.21 - Requires: systemd >= 219 - Requires: systemd-udev >= 219 - Requires: procps-ng --Conflicts: grubby < 8.23 --Conflicts: initscripts < 8.63-1 --Conflicts: plymouth < 0.8.0-0.2009.29.09.19.1 --Conflicts: bcache-tools < 0-0.14.20130909git - %else -+Requires: hardlink -+Requires: gzip -+Requires: kpartx - Requires: udev > 166 - Requires: util-linux-ng >= 2.21 - %endif - --Conflicts: mdadm < 3.2.6-14 -- - %description - dracut contains tools to create bootable initramfses for the Linux - kernel. Unlike previous implementations, dracut hard-codes as little -@@ -155,17 +117,12 @@ Provides: dracut-generic = %{version}-%{release} - This package requires everything which is needed to build a generic - all purpose initramfs with network support with dracut. - --%if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version} -+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} - %package fips - Summary: dracut modules to build a dracut initramfs with an integrity check - Requires: %{name} = %{version}-%{release} - Requires: hmaccalc --%if 0%{?rhel} > 5 --# For Alpha 3, we want nss instead of nss-softokn - Requires: nss --%else --Requires: nss-softokn --%endif - Requires: nss-softokn-freebl - - %description fips -@@ -250,9 +207,6 @@ cp %{SOURCE1} . - make %{?_smp_mflags} - - %install --%if 0%{?fedora} || 0%{?rhel} --rm -rf -- $RPM_BUILD_ROOT --%endif - make %{?_smp_mflags} install \ - DESTDIR=$RPM_BUILD_ROOT \ - libdir=%{_prefix}/lib -@@ -314,16 +268,12 @@ install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT%{dracutlibdir} - install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/40-fips.conf - %endif - --%if 0%{?fedora} <= 12 && 0%{?rhel} < 6 && 0%{?suse_version} <= 9999 -+%if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} <= 9999 - rm -f -- $RPM_BUILD_ROOT%{_bindir}/mkinitrd - rm -f -- $RPM_BUILD_ROOT%{_bindir}/lsinitrd - %endif - --%if 0%{?fedora} || 0%{?rhel} > 6 --# FIXME: remove after F19 --mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d --install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d/51-dracut-rescue-postinst.sh -- -+%if 0%{?fedora} || 0%{?rhel} - echo 'hostonly="no"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-generic-image.conf - echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-rescue.conf - %endif -@@ -342,7 +292,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - %{_bindir}/dracut - %{_datadir}/bash-completion/completions/dracut - %{_datadir}/bash-completion/completions/lsinitrd --%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999 -+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} > 9999 - %{_bindir}/mkinitrd - %{_bindir}/lsinitrd - %endif -@@ -368,7 +318,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - %if %{with doc} - %{_mandir}/man8/dracut.8* - %{_mandir}/man8/*service.8* --%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999 -+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} > 9999 - %{_mandir}/man8/mkinitrd.8* - %{_mandir}/man1/lsinitrd.1* - %endif -@@ -462,7 +412,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - %{_unitdir}/initrd.target.wants/dracut-pre-udev.service - - %endif --%if 0%{?fedora} || 0%{?rhel} > 6 -+%if 0%{?fedora} || 0%{?rhel} - %{_prefix}/lib/kernel/install.d/50-dracut.install - %endif - -@@ -527,9 +477,8 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - %files config-rescue - %defattr(-,root,root,0755) - %{dracutlibdir}/dracut.conf.d/02-rescue.conf --%if 0%{?fedora} || 0%{?rhel} > 6 -+%if 0%{?fedora} || 0%{?rhel} - %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install --%{_sysconfdir}/kernel/postinst.d/51-dracut-rescue-postinst.sh - %endif - - %changelog - diff --git a/0012.patch b/0012.patch deleted file mode 100644 index 78fb97f..0000000 --- a/0012.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 1f50d5b86d3c9b5c212a9d2201483a1bddb19013 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Mon, 19 Mar 2018 13:02:24 +0100 -Subject: [PATCH] spec: merge fips subpackages to main package - ---- - dracut.spec | 53 ++++++++++++----------------------------------------- - 1 file changed, 12 insertions(+), 41 deletions(-) - -diff --git a/dracut.spec b/dracut.spec -index 9c2fc9d4..5a31a1f3 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -88,6 +88,12 @@ Requires: udev > 166 - Requires: util-linux-ng >= 2.21 - %endif - -+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} -+Requires: hmaccalc -+Requires: nss -+Requires: nss-softokn-freebl -+%endif -+ - %description - dracut contains tools to create bootable initramfses for the Linux - kernel. Unlike previous implementations, dracut hard-codes as little -@@ -117,27 +123,6 @@ Provides: dracut-generic = %{version}-%{release} - This package requires everything which is needed to build a generic - all purpose initramfs with network support with dracut. - --%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} --%package fips --Summary: dracut modules to build a dracut initramfs with an integrity check --Requires: %{name} = %{version}-%{release} --Requires: hmaccalc --Requires: nss --Requires: nss-softokn-freebl -- --%description fips --This package requires everything which is needed to build an --initramfs with dracut, which does an integrity check. --%endif -- --%package fips-aesni --Summary: dracut modules to build a dracut initramfs with an integrity check with aesni-intel --Requires: %{name}-fips = %{version}-%{release} -- --%description fips-aesni --This package requires everything which is needed to build an --initramfs with dracut, which does an integrity check and adds the aesni-intel kernel module. -- - %package caps - Summary: dracut modules to build a dracut initramfs which drops capabilities - Requires: %{name} = %{version}-%{release} -@@ -264,10 +249,6 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/man?/*suse* - install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/01-dist.conf - %endif - --%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} --install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/40-fips.conf --%endif -- - %if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} <= 9999 - rm -f -- $RPM_BUILD_ROOT%{_bindir}/mkinitrd - rm -f -- $RPM_BUILD_ROOT%{_bindir}/lsinitrd -@@ -278,10 +259,6 @@ echo 'hostonly="no"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-generic-i - echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-rescue.conf - %endif - --%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} --> $RPM_BUILD_ROOT/etc/system-fips --%endif -- - %files - %defattr(-,root,root,0755) - %if %{with doc} -@@ -416,6 +393,12 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - %{_prefix}/lib/kernel/install.d/50-dracut.install - %endif - -+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} -+%defattr(-,root,root,0755) -+%{dracutlibdir}/modules.d/01fips -+%{dracutlibdir}/modules.d/02fips-aesni -+%endif -+ - %files network - %defattr(-,root,root,0755) - %{dracutlibdir}/modules.d/02systemd-networkd -@@ -435,18 +418,6 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - %endif - %{dracutlibdir}/modules.d/99uefi-lib - --%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} --%files fips --%defattr(-,root,root,0755) --%{dracutlibdir}/modules.d/01fips --%{dracutlibdir}/dracut.conf.d/40-fips.conf --%config(missingok) /etc/system-fips --%endif -- --%files fips-aesni --%defattr(-,root,root,0755) --%{dracutlibdir}/modules.d/02fips-aesni -- - %files caps - %defattr(-,root,root,0755) - %{dracutlibdir}/modules.d/02caps - diff --git a/0013.patch b/0013.patch deleted file mode 100644 index c43967c..0000000 --- a/0013.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3c3b2cf093302b1441206cc690bd77c487e0b06d Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Thu, 22 Mar 2018 16:25:46 +0100 -Subject: [PATCH] spec: add missing obsoletes and provides for removed fips - subpackages - ---- - dracut.spec | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/dracut.spec b/dracut.spec -index 5a31a1f3..3bfbd5c4 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -60,6 +60,11 @@ Obsoletes: mkinitrd < 2.6.1 - Provides: mkinitrd = 2.6.1 - %endif - -+Obsoletes: dracut-fips <= 047 -+Provides: dracut-fips = %{version}-%{release} -+Obsoletes: dracut-fips-aesni <= 047 -+Provides: dracut-fips-aesni = %{version}-%{release} -+ - Requires: bash >= 4 - Requires: coreutils - Requires: cpio - diff --git a/0014.patch b/0014.patch deleted file mode 100644 index ddf5465..0000000 --- a/0014.patch +++ /dev/null @@ -1,28 +0,0 @@ -From fe6c7e0f06cde65effb3503a47c31ac39aceefb6 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Fri, 23 Mar 2018 11:52:27 +0300 -Subject: [PATCH] plymouth: fix detection of plymouth directory - -Some distros have both /usr/lib/plymouth and /usr/libexec/plymouth -directorirs, so we should check the existance of plymouth-populate-initrd -script. - -Fixes: 421b46f8ae89cfe2b62e880a8a5079ee8c1b3aae ---- - modules.d/50plymouth/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh -index 5fbca8b0..b51913e8 100755 ---- a/modules.d/50plymouth/module-setup.sh -+++ b/modules.d/50plymouth/module-setup.sh -@@ -6,7 +6,7 @@ pkglib_dir() { - _dirs+=" /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/plymouth" - fi - for _dir in $_dirs; do -- if [ -d $_dir ]; then -+ if [ -x $_dir/plymouth-populate-initrd ]; then - echo $_dir - return - fi - diff --git a/0015.patch b/0015.patch deleted file mode 100644 index 1b8103d..0000000 --- a/0015.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 2b5192c18d9190980a58abc665b1455c4ac8ab89 Mon Sep 17 00:00:00 2001 -From: Enno Boland -Date: Fri, 30 Mar 2018 15:46:04 +0200 -Subject: [PATCH] make failing installation of drm modules nonfatal - ---- - modules.d/50drm/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh -index 382f51a9..eb3fc9d3 100755 ---- a/modules.d/50drm/module-setup.sh -+++ b/modules.d/50drm/module-setup.sh -@@ -40,6 +40,6 @@ installkernel() { - fi - done - else -- dracut_instmods -s "drm_crtc_init" "=drivers/gpu/drm" "=drivers/staging" -+ dracut_instmods -o -s "drm_crtc_init" "=drivers/gpu/drm" "=drivers/staging" - fi - } - diff --git a/0016.patch b/0016.patch deleted file mode 100644 index bf947d5..0000000 --- a/0016.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 65cfabf7a6778f513119eace254826feda718833 Mon Sep 17 00:00:00 2001 -From: Marcos Mello -Date: Fri, 6 Apr 2018 08:17:30 -0300 -Subject: [PATCH] fs-lib: remove redundancy - ---- - modules.d/99fs-lib/module-setup.sh | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh -index bd61838b..e614fe5f 100755 ---- a/modules.d/99fs-lib/module-setup.sh -+++ b/modules.d/99fs-lib/module-setup.sh -@@ -20,9 +20,6 @@ echo_fs_helper() { - ext?) - echo -n " e2fsck " - ;; -- f2fs) -- echo -n " fsck.f2fs " -- ;; - jfs) - echo -n " jfs_fsck " - ;; -@@ -74,7 +71,7 @@ install() { - _helpers="\ - umount mount /sbin/fsck* - xfs_db xfs_check xfs_repair xfs_metadump -- e2fsck fsck.f2fs jfs_fsck reiserfsck btrfsck -+ e2fsck jfs_fsck reiserfsck btrfsck - " - if [[ $hostonly ]]; then - _helpers="umount mount " - diff --git a/0017.patch b/0017.patch deleted file mode 100644 index fd4fdef..0000000 --- a/0017.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 384eeedd2d24b6953a8591524edde810ab880883 Mon Sep 17 00:00:00 2001 -From: Marcos Mello -Date: Fri, 6 Apr 2018 08:19:27 -0300 -Subject: [PATCH] fs-lib: install crc32c for ext4 - -EXT4 filesystems created with metadata_csum (enabled by default in mke2fs 1.44+) or ea_inode need crc32c. - -https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=d0b9e0a6aa7d6805338a43b4e372623352d8df09 -https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/fs/ext4/super.c?h=v4.15.15#n3491 ---- - modules.d/99fs-lib/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh -index e614fe5f..b69277e2 100755 ---- a/modules.d/99fs-lib/module-setup.sh -+++ b/modules.d/99fs-lib/module-setup.sh -@@ -38,7 +38,7 @@ echo_fs_helper() { - include_fs_helper_modules() { - local dev=$1 fs=$2 - case "$fs" in -- xfs|btrfs) -+ xfs|btrfs|ext4) - instmods crc32c - ;; - f2fs) - diff --git a/0018.patch b/0018.patch deleted file mode 100644 index c191a66..0000000 --- a/0018.patch +++ /dev/null @@ -1,48 +0,0 @@ -From ccaf52901fbbdfedbf1764b88ef45be89419a2c8 Mon Sep 17 00:00:00 2001 -From: Marcos Mello -Date: Mon, 16 Apr 2018 07:59:09 -0300 -Subject: [PATCH] fs-lib: install crc32 in no-hostonly - -It is needed by f2fs. ---- - modules.d/99fs-lib/module-setup.sh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh -index b69277e2..68726614 100755 ---- a/modules.d/99fs-lib/module-setup.sh -+++ b/modules.d/99fs-lib/module-setup.sh -@@ -15,7 +15,7 @@ echo_fs_helper() { - local dev=$1 fs=$2 - case "$fs" in - xfs) -- echo -n " xfs_db xfs_repair xfs_check xfs_metadump" -+ echo -n " xfs_db xfs_repair xfs_check xfs_metadump " - ;; - ext?) - echo -n " e2fsck " -@@ -49,12 +49,12 @@ include_fs_helper_modules() { - - # called by dracut - installkernel() { -- # xfs and btrfs needs crc32c... -+ # xfs/btrfs/ext4 need crc32c, f2fs needs crc32 - if [[ $hostonly ]]; then - for_each_host_dev_fs include_fs_helper_modules - : - else -- instmods crc32c -+ instmods crc32c crc32 - fi - } - -@@ -81,7 +81,7 @@ install() { - _helpers="$fscks" - fi - -- if [[ "$_helpers" == *e2fsck* ]] && [ -e /etc/e2fsck.conf ]; then -+ if [[ "$_helpers" == *e2fsck* ]] && [ -e /etc/e2fsck.conf ]; then - inst_simple /etc/e2fsck.conf - fi - - diff --git a/0019.patch b/0019.patch deleted file mode 100644 index 27340ac..0000000 --- a/0019.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 654484b82bf6a3983244e76e4f38e9a2d080cb9b Mon Sep 17 00:00:00 2001 -From: tpgxyz -Date: Wed, 18 Apr 2018 20:57:33 +0200 -Subject: [PATCH] fix zstd magic header - ---- - modules.d/99img-lib/img-lib.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/99img-lib/img-lib.sh b/modules.d/99img-lib/img-lib.sh -index 43785812..f4774153 100755 ---- a/modules.d/99img-lib/img-lib.sh -+++ b/modules.d/99img-lib/img-lib.sh -@@ -8,7 +8,7 @@ - # works with stdin if $1 is not set. - det_archive() { - # NOTE: echo -e works in ash and bash, but not dash -- local bz="BZh" xz="$(echo -e '\xfd7zXZ')" gz="$(echo -e '\x1f\x8b')" zs="$(echo -e '0xFD2FB528')" -+ local bz="BZh" xz="$(echo -e '\xfd7zXZ')" gz="$(echo -e '\x1f\x8b')" zs="$(echo -e '\x28\xB5\x2F\xFD')" - local headerblock="$(dd ${1:+if=$1} bs=262 count=1 2>/dev/null)" - case "$headerblock" in - $xz*) echo "xz" ;; - diff --git a/0020.patch b/0020.patch deleted file mode 100644 index 82b3d5a..0000000 --- a/0020.patch +++ /dev/null @@ -1,99 +0,0 @@ -From c4f8329cc2b158c8d91ad9d9b7776b3970d3735a Mon Sep 17 00:00:00 2001 -From: Tony Asleson -Date: Mon, 2 Apr 2018 09:32:12 -0500 -Subject: [PATCH] Initial Stratis support - -Ref. https://github.com/stratis-storage - -Signed-off-by: Tony Asleson ---- - modules.d/90stratis/module-setup.sh | 34 +++++++++++++++++++++++++++++++ - modules.d/90stratis/stratisd-init.service | 15 ++++++++++++++ - modules.d/90stratis/stratisd-start.sh | 3 +++ - modules.d/90stratis/stratisd-stop.sh | 6 ++++++ - 4 files changed, 58 insertions(+) - -diff --git a/modules.d/90stratis/module-setup.sh b/modules.d/90stratis/module-setup.sh -new file mode 100755 -index 00000000..2787b63b ---- /dev/null -+++ b/modules.d/90stratis/module-setup.sh -@@ -0,0 +1,34 @@ -+#!/bin/bash -+ -+# called by dracut -+check() { -+ require_binaries stratisd-init thin_check thin_repair || return 1 -+ return 255 -+} -+ -+# called by dracut -+depends() { -+ echo dm -+ return 0 -+} -+ -+# called by dracut -+installkernel() { -+ instmods xfs -+} -+ -+# called by dracut -+install() { -+ -+ inst_multiple stratisd-init thin_check thin_repair -+ -+ if dracut_module_included "systemd"; then -+ inst_simple "${moddir}/stratisd-init.service" "${systemdsystemunitdir}/stratisd-init.service" -+ mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants" -+ ln -rfs "${initdir}${systemdsystemunitdir}/stratisd-init.service" "${initdir}${systemdsystemunitdir}/sysinit.target.wants/stratisd-init.service" -+ else -+ inst_hook cmdline 25 "$moddir/stratisd-start.sh" -+ inst_hook cleanup 25 "$moddir/stratisd-stop.sh" -+ fi -+} -+ -diff --git a/modules.d/90stratis/stratisd-init.service b/modules.d/90stratis/stratisd-init.service -new file mode 100644 -index 00000000..318e8c27 ---- /dev/null -+++ b/modules.d/90stratis/stratisd-init.service -@@ -0,0 +1,15 @@ -+[Unit] -+Description=A daemon that manages a pool of block devices to create flexible file systems -+Documentation=man:stratisd(8) -+Before=local-fs-pre.target -+DefaultDependencies=no -+ -+[Service] -+Type=simple -+ExecStart=/sbin/stratisd-init --debug -+KillSignal=SIGINT -+StandardOutput=syslog -+StandardError=syslog -+ -+[Install] -+WantedBy=sysinit.target -diff --git a/modules.d/90stratis/stratisd-start.sh b/modules.d/90stratis/stratisd-start.sh -new file mode 100755 -index 00000000..afcd81fd ---- /dev/null -+++ b/modules.d/90stratis/stratisd-start.sh -@@ -0,0 +1,3 @@ -+#!/bin/sh -+ -+stratisd-init --debug > /dev/kmsg 2>&1 & -\ No newline at end of file -diff --git a/modules.d/90stratis/stratisd-stop.sh b/modules.d/90stratis/stratisd-stop.sh -new file mode 100755 -index 00000000..f394a843 ---- /dev/null -+++ b/modules.d/90stratis/stratisd-stop.sh -@@ -0,0 +1,6 @@ -+#!/bin/sh -+ -+[ -f /lib/dracut-lib.sh ] && . /lib/dracut-lib.sh -+ -+pid=$(pidof stratisd-init) -+[ -n "$pid" ] && kill ${pid} - diff --git a/0021.patch b/0021.patch deleted file mode 100644 index 32312f0..0000000 --- a/0021.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3c8a69677b53562dcde0849f5497fd90e7bd358e Mon Sep 17 00:00:00 2001 -From: Hendrik Brueckner -Date: Wed, 25 Apr 2018 17:29:26 +0200 -Subject: [PATCH] crypt: correct s390 arch to include arch-specific crypto - modules - -Convert the s390x into s390 to also include s390-specific crypto -modules, for example, aes_s390 into the initramfs. - -Signed-off-by: Hendrik Brueckner ---- - modules.d/90crypt/module-setup.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh -index b7232e98..1ec59096 100755 ---- a/modules.d/90crypt/module-setup.sh -+++ b/modules.d/90crypt/module-setup.sh -@@ -27,6 +27,7 @@ installkernel() { - hostonly="" instmods drbg - arch=$(arch) - [[ $arch == x86_64 ]] && arch=x86 -+ [[ $arch == s390x ]] && arch=s390 - instmods dm_crypt =crypto =drivers/crypto =arch/$arch/crypto - } - - diff --git a/0022.patch b/0022.patch deleted file mode 100644 index a0d3258..0000000 --- a/0022.patch +++ /dev/null @@ -1,23 +0,0 @@ -From cae0004dbe27fcedea8e762b2bf725f18fc6b151 Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Fri, 27 Apr 2018 12:00:53 +0900 -Subject: [PATCH] spec: add stratis module - -Follow-up for c4f8329cc2b158c8d91ad9d9b7776b3970d3735a. ---- - dracut.spec | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dracut.spec b/dracut.spec -index 3bfbd5c4..d25adcb0 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -336,6 +336,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - %{dracutlibdir}/modules.d/90mdraid - %{dracutlibdir}/modules.d/90multipath - %{dracutlibdir}/modules.d/90multipath-hostonly -+%{dracutlibdir}/modules.d/90stratis - %{dracutlibdir}/modules.d/90qemu - %{dracutlibdir}/modules.d/91crypt-gpg - %{dracutlibdir}/modules.d/91crypt-loop - diff --git a/0023.patch b/0023.patch deleted file mode 100644 index bcf1435..0000000 --- a/0023.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3161dea8e116625ef5267fa745409a4949a36ecf Mon Sep 17 00:00:00 2001 -From: Michael McCracken -Date: Thu, 26 Apr 2018 23:27:17 -0700 -Subject: [PATCH] Update dracut.modules.7.asc - -Update manpage to reflect code behavior for `inst` with >2 args. - -Signed-off-by: Michael McCracken ---- - dracut.modules.7.asc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/dracut.modules.7.asc b/dracut.modules.7.asc -index 9c3f5475..69ac6c44 100644 ---- a/dracut.modules.7.asc -+++ b/dracut.modules.7.asc -@@ -255,7 +255,9 @@ not lead to an error. - ==== inst [] - - installs _one_ file either to the same place in the initramfs or to an --optional . -+optional . inst with more than two arguments is treated the same as -+inst_multiple, all arguments are treated as files to install and none as -+install destinations. - - ==== inst_hook - - diff --git a/0024.patch b/0024.patch deleted file mode 100644 index 7709073..0000000 --- a/0024.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 740e41b84380bfccf1dd93278f8b89f1403e89ec Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Wed, 2 May 2018 11:11:59 -0400 -Subject: [PATCH] Suppress sync/fsfreeze if not running on a live 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. - -Another case where this happens is rpm-ostree, which performs its own sync/fsfreeze -globally. See e.g. https://github.com/ostreedev/ostree/commit/8642ef5ab3fec3ac8eb8f193054852f83a8bc4d0 ---- - dracut.sh | 23 +++++++++++++++-------- - 1 file changed, 15 insertions(+), 8 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 8b0465df..f52d38ac 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1832,15 +1832,22 @@ fi - - command -v restorecon &>/dev/null && restorecon -- "$outfile" - --if ! sync "$outfile" 2> /dev/null; then -- dinfo "dracut: sync operation on newly created initramfs $outfile failed" -- exit 1 --fi -+# 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. -+# Another case where this happens is rpm-ostree, which performs its own sync/fsfreeze -+# globally. See e.g. https://github.com/ostreedev/ostree/commit/8642ef5ab3fec3ac8eb8f193054852f83a8bc4d0 -+if test -d /run/systemd/system; then -+ if ! sync "$outfile" 2> /dev/null; then -+ dinfo "dracut: sync operation on newly created initramfs $outfile failed" -+ exit 1 -+ fi - --# use fsfreeze only if we're not writing to / --if [[ "$(stat -c %m -- "$outfile")" != "/" && "$(stat -f -c %T -- "$outfile")" != "msdos" ]]; 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")" -+ # use fsfreeze only if we're not writing to / -+ if [[ "$(stat -c %m -- "$outfile")" != "/" && "$(stat -f -c %T -- "$outfile")" != "msdos" ]]; 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 - fi - fi - - diff --git a/0025.patch b/0025.patch deleted file mode 100644 index a9ff03a..0000000 --- a/0025.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c9b5165daa666d5aec44a3ac6c56786b8df1b58f Mon Sep 17 00:00:00 2001 -From: Daniel Molkentin -Date: Fri, 27 Apr 2018 16:59:47 +0200 -Subject: [PATCH] 10i18n: Fix possible infinite recursion - ---- - modules.d/10i18n/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh -index 7320a919..08971814 100755 ---- a/modules.d/10i18n/module-setup.sh -+++ b/modules.d/10i18n/module-setup.sh -@@ -45,7 +45,7 @@ install() { - - for INCL in $($cmd "^include " $map | while read a a b || [ -n "$a" ]; do echo ${a//\"/}; done); do - for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do -- findkeymap $FN -+ strstr "$KEYMAPS" "$FN" || findkeymap $FN - done - done - done - diff --git a/0026.patch b/0026.patch deleted file mode 100644 index 3de991a..0000000 --- a/0026.patch +++ /dev/null @@ -1,23 +0,0 @@ -From bfa4e45fa74fabf70ca0d80869e3b209f300ef6d Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 7 May 2018 10:26:05 +0200 -Subject: [PATCH] s/find_btrfs_devs/btrfs_devs - ---- - dracut.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut.sh b/dracut.sh -index f52d38ac..5b5b27e3 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1236,7 +1236,7 @@ if [[ $hostonly ]] && [[ "$hostonly_default_device" != "no" ]]; then - - push_host_devs "$_dev" - if [[ "$_t" == btrfs ]]; then -- for i in $(find_btrfs_devs "$_m"); do -+ for i in $(btrfs_devs "$_m"); do - push_host_devs "$i" - done - fi - diff --git a/0027.patch b/0027.patch deleted file mode 100644 index 8655d92..0000000 --- a/0027.patch +++ /dev/null @@ -1,13 +0,0 @@ -From b2a024991f82a15e45df7d5eb2cc3e3e894a5dc8 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 7 May 2018 10:40:32 +0200 -Subject: [PATCH] 80lvmmerge/README.md: remove executable bits - ---- - modules.d/80lvmmerge/README.md | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - -diff --git a/modules.d/80lvmmerge/README.md b/modules.d/80lvmmerge/README.md -old mode 100755 -new mode 100644 - diff --git a/0028.patch b/0028.patch deleted file mode 100644 index 5c3315a..0000000 --- a/0028.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 8ad32155907fc4accd0a822365f6fcf1c355cfcb Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 7 May 2018 15:21:35 +0200 -Subject: [PATCH] don't error out, if no modules were installed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -dracut-install … -m -s drm_crtc_init =drivers/staging -should not return an error, if no module was found in =drivers/staging - -https://bugzilla.redhat.com/show_bug.cgi?id=1575527 ---- - install/dracut-install.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/install/dracut-install.c b/install/dracut-install.c -index 4b2ff896..14fc0ab9 100644 ---- a/install/dracut-install.c -+++ b/install/dracut-install.c -@@ -1394,6 +1394,7 @@ static int install_modules(int argc, char **argv) - const char *abskpath = NULL; - char *p; - int i; -+ int modinst = 0; - - ctx = kmod_new(kerneldir, NULL); - abskpath = kmod_get_dirname(ctx); -@@ -1498,6 +1499,7 @@ static int install_modules(int argc, char **argv) - return -ENOENT; - }; - ret = ( ret == 0 ? 0 : r ); -+ modinst = 1; - } - } else if (argv[i][0] == '=') { - _cleanup_free_ char *path1 = NULL, *path2 = NULL, *path3 = NULL; -@@ -1592,6 +1594,7 @@ static int install_modules(int argc, char **argv) - return -ENOENT; - }; - ret = ( ret == 0 ? 0 : r ); -+ modinst = 1; - } - } - if (errno) { -@@ -1638,10 +1641,11 @@ static int install_modules(int argc, char **argv) - return -ENOENT; - }; - ret = ( ret == 0 ? 0 : r ); -+ modinst = 1; - } - } - -- if ((ret != 0) && (!arg_optional)) { -+ if ((modinst != 0) && (ret != 0) && (!arg_optional)) { - if (!arg_silent) - log_error("ERROR: installing '%s'", argv[i]); - return EXIT_FAILURE; - diff --git a/0029.patch b/0029.patch deleted file mode 100644 index f2c3f01..0000000 --- a/0029.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 731b37e92902fd659270da89b1b46f92264db538 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 7 May 2018 15:23:04 +0200 -Subject: [PATCH] dracut-install.c: untabify - ---- - install/dracut-install.c | 25 ++++++++++++------------- - 1 file changed, 12 insertions(+), 13 deletions(-) - -diff --git a/install/dracut-install.c b/install/dracut-install.c -index 14fc0ab9..f104f664 100644 ---- a/install/dracut-install.c -+++ b/install/dracut-install.c -@@ -402,9 +402,9 @@ static int resolve_deps(const char *src) - _cleanup_pclose_ FILE *fptr = NULL; - _cleanup_free_ char *cmd = NULL; - -- buf = malloc(LINE_MAX); -- if (buf == NULL) -- return -errno; -+ buf = malloc(LINE_MAX); -+ if (buf == NULL) -+ return -errno; - - if (strstr(src, ".so") == 0) { - _cleanup_close_ int fd = -1; -@@ -456,11 +456,11 @@ static int resolve_deps(const char *src) - break; - } - -- /* musl ldd */ -- if (strstr(buf, "Not a valid dynamic program")) -- break; -+ /* musl ldd */ -+ if (strstr(buf, "Not a valid dynamic program")) -+ break; - -- /* glibc */ -+ /* glibc */ - if (strstr(buf, "cannot execute binary file")) - break; - -@@ -1061,7 +1061,7 @@ static int install_one(const char *src, const char *dst) - if (strchr(src, '/') == NULL) { - char **p = find_binary(src); - if (p) { -- char **q = NULL; -+ char **q = NULL; - STRV_FOREACH(q, p) { - char *newsrc = *q; - log_debug("dracut_install '%s' '%s'", newsrc, dst); -@@ -1097,7 +1097,7 @@ static int install_all(int argc, char **argv) - if (strchr(argv[i], '/') == NULL) { - char **p = find_binary(argv[i]); - if (p) { -- char **q = NULL; -+ char **q = NULL; - STRV_FOREACH(q, p) { - char *newsrc = *q; - log_debug("dracut_install '%s'", newsrc); -@@ -1440,12 +1440,11 @@ static int install_modules(int argc, char **argv) - for (i = 0; i < argc; i++) { - int r = 0; - int ret = -1; -- - log_debug("Handle module '%s'", argv[i]); - - if (argv[i][0] == '/') { - _cleanup_kmod_module_unref_list_ struct kmod_list *modlist = NULL; -- _cleanup_free_ const char *modname = NULL; -+ _cleanup_free_ const char *modname = NULL; - - r = kmod_module_new_from_path(ctx, argv[i], &mod_o); - if (r < 0) { -@@ -1532,7 +1531,7 @@ static int install_modules(int argc, char **argv) - - for (FTSENT *ftsent = fts_read(fts); ftsent != NULL; ftsent = fts_read(fts)) { - _cleanup_kmod_module_unref_list_ struct kmod_list *modlist = NULL; -- _cleanup_free_ const char *modname = NULL; -+ _cleanup_free_ const char *modname = NULL; - - if((ftsent->fts_info == FTS_D) && !check_module_path(ftsent->fts_accpath)) { - fts_set(fts, ftsent, FTS_SKIP); -@@ -1602,7 +1601,7 @@ static int install_modules(int argc, char **argv) - } - } else { - _cleanup_kmod_module_unref_list_ struct kmod_list *modlist = NULL; -- char *modname = argv[i]; -+ char *modname = argv[i]; - - if (endswith(modname, ".ko")) { - int len = strlen(modname); - diff --git a/0030.patch b/0030.patch deleted file mode 100644 index 49040ea..0000000 --- a/0030.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 08e11e30e328ad2789fd0485dc477a48745af4d6 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 7 May 2018 15:27:22 +0200 -Subject: [PATCH] dracut.spec: do not recommend grubby - ---- - dracut.spec | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/dracut.spec b/dracut.spec -index d25adcb0..ca8accb5 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -77,7 +77,6 @@ Requires: xz - Requires: gzip - - %if 0%{?fedora} || 0%{?rhel} --Recommends: grubby - Recommends: hardlink - Recommends: pigz - Recommends: kpartx - diff --git a/0031.patch b/0031.patch deleted file mode 100644 index 1b47ab1..0000000 --- a/0031.patch +++ /dev/null @@ -1,71 +0,0 @@ -From df6bb5e959178cba06118493a7c8d019e84d54e7 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 15 May 2018 13:37:53 +0200 -Subject: [PATCH] shutdown: sleep a little, if a process was killed - -If a process (maybe plymouth) was still pinning /oldroot, then shutdown -would -- kill -9 $pid -- umount_a -- umount_a -in a very short timeframe. A small sleep hopefully lets the scheduler free -up /oldroot in the mean time. ---- - modules.d/99base/dracut-lib.sh | 7 ++++++- - modules.d/99shutdown/module-setup.sh | 2 +- - modules.d/99shutdown/shutdown.sh | 2 +- - 3 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index 99cb9dbc..b78272a3 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -118,6 +118,7 @@ str_replace() { - killall_proc_mountpoint() { - local _pid - local _t -+ local _killed=0 - for _pid in /proc/*; do - _pid=${_pid##/proc/} - case $_pid in -@@ -125,8 +126,12 @@ killall_proc_mountpoint() { - esac - [ -e "/proc/$_pid/exe" ] || continue - [ -e "/proc/$_pid/root" ] || continue -- strstr "$(ls -l -- "/proc/$_pid" "/proc/$_pid/fd" 2>/dev/null)" "$1" && kill -9 "$_pid" -+ if strstr "$(ls -l -- "/proc/$_pid" "/proc/$_pid/fd" 2>/dev/null)" "$1" ; then -+ kill -9 "$_pid" -+ _killed=1 -+ fi - done -+ return $_killed - } - - getcmdline() { -diff --git a/modules.d/99shutdown/module-setup.sh b/modules.d/99shutdown/module-setup.sh -index 5cb3594a..dfd6caa2 100755 ---- a/modules.d/99shutdown/module-setup.sh -+++ b/modules.d/99shutdown/module-setup.sh -@@ -14,7 +14,7 @@ depends() { - # called by dracut - install() { - local _d -- inst_multiple umount poweroff reboot halt losetup stat -+ inst_multiple umount poweroff reboot halt losetup stat sleep - inst_multiple -o kexec - inst "$moddir/shutdown.sh" "$prefix/shutdown" - [ -e "${initdir}/lib" ] || mkdir -m 0755 -p ${initdir}/lib -diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh -index 918a8a4f..f21cc811 100755 ---- a/modules.d/99shutdown/shutdown.sh -+++ b/modules.d/99shutdown/shutdown.sh -@@ -38,7 +38,7 @@ source_hook pre-shutdown - - warn "Killing all remaining processes" - --killall_proc_mountpoint /oldroot -+killall_proc_mountpoint /oldroot || sleep 0.2 - - umount_a() { - local _did_umount="n" - diff --git a/0032.patch b/0032.patch deleted file mode 100644 index 2238085..0000000 --- a/0032.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f6e777ec4b1031b18b835cd34ed644ebf4a2ace6 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 22 May 2018 09:48:23 +0200 -Subject: [PATCH] cleanup empty ldconfig_paths directories - -https://bugzilla.redhat.com/show_bug.cgi?id=1324746 ---- - dracut.sh | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/dracut.sh b/dracut.sh -index 5b5b27e3..a4406dd9 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1643,6 +1643,11 @@ if [[ $do_strip = yes ]] ; then - done - fi - -+# cleanup empty ldconfig_paths directories -+for d in $(ldconfig_paths); do -+ rmdir -p --ignore-fail-on-non-empty "$initdir/$d" >/dev/null 2>&1 -+done -+ - if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then - dinfo "*** Stripping files ***" - find "$initdir" -type f \ - diff --git a/0033.patch b/0033.patch deleted file mode 100644 index 6e0a444..0000000 --- a/0033.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 67354eebbcd4c358b8194ba5fd1ab1cf7dbd42aa Mon Sep 17 00:00:00 2001 -From: Pingfan Liu -Date: Tue, 24 Apr 2018 16:41:21 +0800 -Subject: [PATCH] 40network: introduce ip=either6 option - -In kdump, if dump-target is ssh on ipv6, we need to sync until ipv6 addr -is ready. Currently ip=auto6/dhcp6 provides such function. But in 1st kernel, -it is hard to know whether the ipv6 addr is got by dhcpv6 or SLAAC. -E.g ifcfg-eth* contains DHCPV6C=yes direction, but there is no dhcpv6 -server in the network, and then after the system is up, the user -echo 1 > /proc/sys/net/ipv6/conf/eth0/autoconf && accept_ra by manual -to obtain a ipv6 addr. Or vice. -So this patch suggests to make dhcpv6 as auto6 fallback - -Signed-off-by: Pingfan Liu ---- - dracut.cmdline.7.asc | 4 +++- - modules.d/40network/ifup.sh | 6 +++++- - modules.d/40network/net-lib.sh | 4 ++-- - modules.d/40network/parse-ip-opts.sh | 1 + - 4 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc -index 8f86efe0..ada15e9f 100644 ---- a/dracut.cmdline.7.asc -+++ b/dracut.cmdline.7.asc -@@ -480,7 +480,7 @@ USB Android phone:: - * enp0s29u1u2 - ===================== - --**ip=**__{dhcp|on|any|dhcp6|auto6}__:: -+**ip=**__{dhcp|on|any|dhcp6|auto6|either6}__:: - dhcp|on|any::: get ip from dhcp server from all interfaces. If root=dhcp, - loop sequentially through all interfaces (eth0, eth1, ...) and use the first - with a valid DHCP root-path. -@@ -489,6 +489,8 @@ USB Android phone:: - - dhcp6::: IPv6 DHCP - -+ either6::: if auto6 fails, then dhcp6 -+ - **ip=**____:__{dhcp|on|any|dhcp6|auto6}__[:[____][:____]]:: - This parameter can be specified multiple times. - + -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 0db3c021..fb672413 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -70,16 +70,18 @@ load_ipv6() { - } - - do_ipv6auto() { -+ local ret - load_ipv6 - echo 0 > /proc/sys/net/ipv6/conf/$netif/forwarding - echo 1 > /proc/sys/net/ipv6/conf/$netif/accept_ra - echo 1 > /proc/sys/net/ipv6/conf/$netif/accept_redirects - linkup $netif - wait_for_ipv6_auto $netif -+ ret=$? - - [ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname - -- return 0 -+ return $ret - } - - # Handle static ip configuration -@@ -416,6 +418,8 @@ for p in $(getargs ip=); do - do_dhcp -6 ;; - auto6) - do_ipv6auto ;; -+ either6) -+ do_ipv6auto || do_dhcp -6 ;; - *) - do_static ;; - esac -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 71a665cd..eac1c5eb 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -458,7 +458,7 @@ ip_to_var() { - fi - - if [ $# -eq 1 ]; then -- # format: ip={dhcp|on|any|dhcp6|auto6} -+ # format: ip={dhcp|on|any|dhcp6|auto6|either6} - # or - # ip= means anaconda-style static config argument cluster - autoconf="$1" -@@ -485,7 +485,7 @@ ip_to_var() { - return 0 - fi - -- if [ "$2" = "dhcp" -o "$2" = "on" -o "$2" = "any" -o "$2" = "dhcp6" -o "$2" = "auto6" ]; then -+ if [ "$2" = "dhcp" -o "$2" = "on" -o "$2" = "any" -o "$2" = "dhcp6" -o "$2" = "auto6" -o "$2" = "either6" ]; then - # format: ip=:{dhcp|on|any|dhcp6|auto6}[:[][:]] - [ -n "$1" ] && dev="$1" - [ -n "$2" ] && autoconf="$2" -diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh -index 5779ef88..10a2d19b 100755 ---- a/modules.d/40network/parse-ip-opts.sh -+++ b/modules.d/40network/parse-ip-opts.sh -@@ -76,6 +76,7 @@ for p in $(getargs ip=); do - die "Sorry, automatic calculation of netmask is not yet supported" - ;; - auto6);; -+ either6);; - dhcp|dhcp6|on|any) \ - [ -n "$NEEDBOOTDEV" ] && [ -z "$dev" ] && \ - die "Sorry, 'ip=$p' does not make sense for multiple interface configurations" diff --git a/dracut.spec b/dracut.spec index 5b80368..6168deb 100644 --- a/dracut.spec +++ b/dracut.spec @@ -5,10 +5,10 @@ # strip the automatically generated dep here and instead co-own the # directory. %global __requires_exclude pkg-config -%define dist_free_release 34.git20180604.1 +%define dist_free_release 1 Name: dracut -Version: 047 +Version: 048 Release: %{dist_free_release}%{?dist} Summary: Initramfs generator using udev @@ -28,45 +28,6 @@ URL: https://dracut.wiki.kernel.org/ # Source can be generated by # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%%{version};sf=tgz Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz -Patch1: 0001.patch -Patch2: 0002.patch -Patch3: 0003.patch -Patch4: 0004.patch -Patch5: 0005.patch -Patch6: 0006.patch -Patch7: 0007.patch -Patch8: 0008.patch -Patch9: 0009.patch -Patch10: 0010.patch -Patch11: 0011.patch -Patch12: 0012.patch -Patch13: 0013.patch -Patch14: 0014.patch -Patch15: 0015.patch -Patch16: 0016.patch -Patch17: 0017.patch -Patch18: 0018.patch -Patch19: 0019.patch -Patch20: 0020.patch -Patch21: 0021.patch -Patch22: 0022.patch -Patch23: 0023.patch -Patch24: 0024.patch -Patch25: 0025.patch -Patch26: 0026.patch -Patch27: 0027.patch -Patch28: 0028.patch -Patch29: 0029.patch -Patch30: 0030.patch -Patch31: 0031.patch -Patch32: 0032.patch -Patch33: 0033.patch - -# Include virtio DRM drivers in hostonly initramfs -# Fixes RHBZ#1593028 -# https://github.com/dracutdevs/dracut/pull/418 -Patch1000: 0001-Include-virtio-DRM-drivers-in-hostonly-initramfs.patch - Source1: https://www.gnu.org/licenses/lgpl-2.1.txt BuildRequires: bash @@ -132,9 +93,7 @@ Requires: util-linux-ng >= 2.21 %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} -Requires: hmaccalc -Requires: nss -Requires: nss-softokn-freebl +Requires: libkcapi-hmaccalc %endif %description @@ -243,7 +202,6 @@ echo "DRACUT_VERSION=%{version}-%{release}" > $RPM_BUILD_ROOT/%{dracutlibdir}/dr %if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} == 0 rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips -rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni %endif %if %{defined _unitdir} @@ -273,6 +231,7 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_mod rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_rules rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dcssblk +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95qeth_rules rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp_rules rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95znet @@ -373,7 +332,6 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/90lvm %{dracutlibdir}/modules.d/90mdraid %{dracutlibdir}/modules.d/90multipath -%{dracutlibdir}/modules.d/90multipath-hostonly %{dracutlibdir}/modules.d/90stratis %{dracutlibdir}/modules.d/90qemu %{dracutlibdir}/modules.d/91crypt-gpg @@ -394,6 +352,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/95dasd_mod %{dracutlibdir}/modules.d/95dasd_rules %{dracutlibdir}/modules.d/95dcssblk +%{dracutlibdir}/modules.d/95qeth_rules %{dracutlibdir}/modules.d/95zfcp %{dracutlibdir}/modules.d/95zfcp_rules %endif @@ -440,7 +399,6 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} %defattr(-,root,root,0755) %{dracutlibdir}/modules.d/01fips -%{dracutlibdir}/modules.d/02fips-aesni %endif %files network @@ -497,6 +455,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %endif %changelog +* Fri Jul 06 2018 Harald Hoyer - 048-1 +- version 048 + * Fri Jun 22 2018 Adam Williamson - 047-34.git20180604.1 - Test build with proposed fix for #1593028 diff --git a/sources b/sources index 347073c..8b9a5ec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dracut-047.tar.xz) = 03369726b6c2b682d0c9dead7b7dbd1c3989aaf2b4a561015634d33a94e5230d03cb634c3890191b19dd8c1c83389533ae1a46d45d2024ba885e0d2d46c5d035 +SHA512 (dracut-048.tar.xz) = 73f1ce3df680586c43c096564ed6fa576078270eddcfca4439094d2d83746b630dae2d7c1c4f857b644c62ebf732ce86c885538a09153e5dc020017c08f1b863