From ac8a9b0f0b0f17eddf8a038d9083542881a05972 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Mon, 13 Feb 2023 12:30:50 +0100 Subject: [PATCH] Update to 059 --- .gitignore | 2 +- ...ot-Run-checkisomd5-on-correct-device.patch | 90 ---- ...ve-add-new-dmsquash-live-autooverlay.patch | 400 ------------------ ...o-initramfs-to-handle-modprobe-files.patch | 29 -- dracut.spec | 30 +- sources | 2 +- 6 files changed, 15 insertions(+), 538 deletions(-) delete mode 100644 1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch delete mode 100644 1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch delete mode 100644 2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch diff --git a/.gitignore b/.gitignore index 79197b6..8c2bdbf 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/dracut-*.tar.xz +/dracut-*.tar.* diff --git a/1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch b/1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch deleted file mode 100644 index 8803e85..0000000 --- a/1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 0636c42eaddef24903b66aa8d0cb392ba24b9a3d Mon Sep 17 00:00:00 2001 -From: "Brian C. Lane" -Date: Fri, 22 Jul 2022 16:10:20 -0700 -Subject: [PATCH] fix(dmsquash-live): run checkisomd5 on correct device - -When the new grub2 iso is written to a usb drive the disk label points -to a partition that does not include the full iso image. This causes -checkisomd5 to run with the wrong data and it fails. - -This patch adds a check that will test to see if there is a parent -device that is a disk, and to run checkisomd5 on it instead of on the -partition pointed to by the label. - -When running from an iso this will return the original -/dev/disk/by-label/ path, and when running from a usb drive it will -return the parent device (eg. /dev/sda). - -Resolves: rhbz#2107858 ---- - .../90dmsquash-live/dmsquash-live-root.sh | 33 +++++++++++++++++-- - modules.d/90dmsquash-live/module-setup.sh | 2 +- - 2 files changed, 31 insertions(+), 4 deletions(-) - -diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh -index abc68407f4..665bff87c1 100755 ---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh -+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh -@@ -33,8 +33,35 @@ overlay_size=$(getarg rd.live.overlay.size=) - getargbool 0 rd.live.overlay.thin && thin_snapshot="yes" - getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes" - -+# Take a path to a disk label and return the parent disk if it is a partition -+# Otherwise returns the original path -+function get_check_dev() { -+ local _udevinfo -+ dev_path="$(udevadm info -q path --name "$1")" -+ _udevinfo="$(udevadm info -q property --path "${dev_path}")" -+ strstr "$_udevinfo" "DEVTYPE=partition" || { -+ echo "$1" -+ return -+ } -+ parent="${dev_path%/*}" -+ _udevinfo="$(udevadm info -q property --path "${parent}")" -+ strstr "$_udevinfo" "DEVTYPE=disk" || { -+ echo "$1" -+ return -+ } -+ strstr "$_udevinfo" "ID_FS_TYPE=iso9660" || { -+ echo "$1" -+ return -+ } -+ -+ # Return the name of the parent disk device -+ echo "$_udevinfo" | grep "DEVNAME=" | sed 's/DEVNAME=//' -+} -+ -+# Find the right device to run check on -+check_dev=$(get_check_dev "$livedev") - # CD/DVD media check --[ -b "$livedev" ] && fs=$(blkid -s TYPE -o value "$livedev") -+[ -b "$check_dev" ] && fs=$(blkid -s TYPE -o value "$check_dev") - if [ "$fs" = "iso9660" -o "$fs" = "udf" ]; then - check="yes" - fi -@@ -42,10 +69,10 @@ getarg rd.live.check -d check || check="" - if [ -n "$check" ]; then - type plymouth > /dev/null 2>&1 && plymouth --hide-splash - if [ -n "$DRACUT_SYSTEMD" ]; then -- p=$(dev_unit_name "$livedev") -+ p=$(dev_unit_name "$check_dev") - systemctl start checkisomd5@"${p}".service - else -- checkisomd5 --verbose "$livedev" -+ checkisomd5 --verbose "$check_dev" - fi - if [ $? -eq 1 ]; then - die "CD check failed!" -diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh -index dc35ba6579..b305ce1aa3 100755 ---- a/modules.d/90dmsquash-live/module-setup.sh -+++ b/modules.d/90dmsquash-live/module-setup.sh -@@ -22,7 +22,7 @@ installkernel() { - - # called by dracut - install() { -- inst_multiple umount dmsetup blkid dd losetup blockdev find rmdir -+ inst_multiple umount dmsetup blkid dd losetup blockdev find rmdir grep - inst_multiple -o checkisomd5 - inst_hook cmdline 30 "$moddir/parse-dmsquash-live.sh" - inst_hook cmdline 31 "$moddir/parse-iso-scan.sh" diff --git a/1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch b/1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch deleted file mode 100644 index e3c8b04..0000000 --- a/1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch +++ /dev/null @@ -1,400 +0,0 @@ -From 732361736810166aeba87616c93206b3e252aabe Mon Sep 17 00:00:00 2001 -From: Matt Coleman -Date: Fri, 23 Sep 2022 19:28:25 -0400 -Subject: [PATCH] feat(dmsquash-live): add new dmsquash-live-autooverlay module - -(cherry picked from commit a3c67d27e75223bb45df19f850d246ced9a09938) ---- - man/dracut.cmdline.7.asc | 4 + - .../create-overlay-genrules.sh | 10 ++ - .../create-overlay.sh | 119 ++++++++++++++++++ - .../module-setup.sh | 25 ++++ - pkgbuild/dracut.spec | 3 +- - test/TEST-16-DMSQUASH/create-root.sh | 12 +- - test/TEST-16-DMSQUASH/test-init.sh | 6 + - test/TEST-16-DMSQUASH/test.sh | 38 +++++- - test/container/Dockerfile-Arch | 4 +- - test/container/Dockerfile-Debian | 1 + - test/container/Dockerfile-Fedora-latest | 1 + - test/container/Dockerfile-OpenSuse-latest | 2 +- - 12 files changed, 216 insertions(+), 9 deletions(-) - create mode 100755 modules.d/90dmsquash-live-autooverlay/create-overlay-genrules.sh - create mode 100755 modules.d/90dmsquash-live-autooverlay/create-overlay.sh - create mode 100755 modules.d/90dmsquash-live-autooverlay/module-setup.sh - -diff --git a/man/dracut.cmdline.7.asc b/man/dracut.cmdline.7.asc -index fda62fd1..40d13d83 100644 ---- a/man/dracut.cmdline.7.asc -+++ b/man/dracut.cmdline.7.asc -@@ -1161,6 +1161,10 @@ rd.live.overlay=/dev/sdb1:persistent-overlay.img - rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4 - -- - -+**rd.live.overlay.cowfs=**__[btrfs|ext4|xfs]__:: -+Specifies the filesystem to use when formatting the overlay partition. -+The default is ext4. -+ - **rd.live.overlay.size=**____:: - Specifies a non-persistent Device-mapper overlay size in MiB. The default is - _32768_. -diff --git a/modules.d/90dmsquash-live-autooverlay/create-overlay-genrules.sh b/modules.d/90dmsquash-live-autooverlay/create-overlay-genrules.sh -new file mode 100755 -index 00000000..ed168d9f ---- /dev/null -+++ b/modules.d/90dmsquash-live-autooverlay/create-overlay-genrules.sh -@@ -0,0 +1,10 @@ -+#!/bin/sh -+ -+# shellcheck disable=SC2154 -+case "$root" in -+ live:/dev/*) -+ printf 'SYMLINK=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/create-overlay %s"\n' \ -+ "${root#live:/dev/}" "${root#live:}" >> /etc/udev/rules.d/95-create-overlay.rules -+ wait_for_dev -n "${root#live:}" -+ ;; -+esac -diff --git a/modules.d/90dmsquash-live-autooverlay/create-overlay.sh b/modules.d/90dmsquash-live-autooverlay/create-overlay.sh -new file mode 100755 -index 00000000..c89bda2b ---- /dev/null -+++ b/modules.d/90dmsquash-live-autooverlay/create-overlay.sh -@@ -0,0 +1,119 @@ -+#!/bin/sh -+ -+type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh -+ -+if getargbool 0 rd.live.debug -n -y rdlivedebug; then -+ exec > /tmp/create-overlay.$$.out -+ exec 2>> /tmp/create-overlay.$$.out -+ set -x -+fi -+ -+gatherData() { -+ overlay=$(getarg rd.live.overlay) -+ if [ -z "$overlay" ]; then -+ info "Skipping overlay creation: kernel command line parameter 'rd.live.overlay' is not set" -+ exit 0 -+ fi -+ # shellcheck disable=SC2086 -+ if ! str_starts ${overlay} LABEL=; then -+ die "Overlay creation failed: the partition must be set by LABEL in the 'rd.live.overlay' kernel parameter" -+ fi -+ -+ overlayLabel=${overlay#LABEL=} -+ # shellcheck disable=SC2086 -+ if [ -b /dev/disk/by-label/${overlayLabel} ]; then -+ info "Skipping overlay creation: overlay already exists" -+ exit 0 -+ fi -+ -+ filesystem=$(getarg rd.live.overlay.cowfs) -+ [ -z "$filesystem" ] && filesystem="ext4" -+ if [ "$filesystem" != "ext4" ] && [ "$filesystem" != "xfs" ] && [ "$filesystem" != "btrfs" ]; then -+ die "Overlay creation failed: only ext4, xfs, and btrfs are supported in the 'rd.live.overlay.cowfs' kernel parameter" -+ fi -+ -+ live_dir=$(getarg rd.live.dir) -+ [ -z "$live_dir" ] && live_dir="LiveOS" -+ -+ [ -z "$1" ] && exit 1 -+ rootDevice=$1 -+ -+ # The kernel command line's 'root=' parameter was parsed into the $root variable by the dmsquash-live module. -+ # $root contains the path to a symlink within /dev/disk/by-label, which points to a partition. -+ # This script needs that partition's parent block device. -+ # shellcheck disable=SC2046 -+ # shellcheck disable=SC2086 -+ rootDeviceAbsolutePath=$(readlink -f ${rootDevice}) -+ rootDeviceSysfsPath=/sys/class/block/${rootDeviceAbsolutePath##*/} -+ if [ -f "${rootDeviceSysfsPath}/partition" ]; then -+ # shellcheck disable=SC2086 -+ partition=$(cat ${rootDeviceSysfsPath}/partition) -+ else -+ partition=0 -+ fi -+ # shellcheck disable=SC2086 -+ readonly=$(cat ${rootDeviceSysfsPath}/ro) -+ # shellcheck disable=SC2086 -+ if [ "$partition" != "1" ] || [ "$readonly" != "0" ]; then -+ info "Skipping overlay creation: unpartitioned or read-only media detected" -+ exit 0 -+ fi -+ # shellcheck disable=SC2046 -+ # shellcheck disable=SC2086 -+ fullDriveSysfsPath=$(readlink -f ${rootDeviceSysfsPath}/..) -+ blockDevice=/dev/${fullDriveSysfsPath##*/} -+ currentPartitionCount=$(grep --count -E "${blockDevice#/dev/}[0-9]+" /proc/partitions) -+ -+ # shellcheck disable=SC2086 -+ freeSpaceStart=$(parted --script ${blockDevice} unit % print free \ -+ | awk -v x=${currentPartitionCount} '$1 == x {getline; print $1}') -+ if [ -z "$freeSpaceStart" ]; then -+ info "Skipping overlay creation: there is no free space after the last partition" -+ exit 0 -+ fi -+ partitionStart=$((${freeSpaceStart%.*} + 1)) -+ if [ $partitionStart -eq 100 ]; then -+ info "Skipping overlay creation: there is not enough free space after the last partition" -+ exit 0 -+ fi -+ -+ overlayPartition=${blockDevice}$((currentPartitionCount + 1)) -+ -+ label=$(blkid --match-tag LABEL --output value "$rootDevice") -+ uuid=$(blkid --match-tag UUID --output value "$rootDevice") -+ if [ -z "$label" ] || [ -z "$uuid" ]; then -+ die "Overlay creation failed: failed to look up root device label and UUID" -+ fi -+} -+ -+createPartition() { -+ # shellcheck disable=SC2086 -+ parted --script --align optimal ${blockDevice} mkpart primary ${partitionStart}% 100% -+} -+ -+createFilesystem() { -+ # shellcheck disable=SC2086 -+ mkfs.${filesystem} -L ${overlayLabel} ${overlayPartition} -+ -+ baseDir=/run/initramfs/create-overlayfs -+ mkdir -p ${baseDir} -+ # shellcheck disable=SC2086 -+ mount -t auto ${overlayPartition} ${baseDir} -+ -+ mkdir -p ${baseDir}/${live_dir}/ovlwork -+ # shellcheck disable=SC2086 -+ mkdir ${baseDir}/${live_dir}/overlay-${label}-${uuid} -+ -+ umount ${baseDir} -+ rm -r ${baseDir} -+} -+ -+main() { -+ gatherData "$1" -+ createPartition -+ udevsettle -+ createFilesystem -+ udevsettle -+} -+ -+main "$1" -diff --git a/modules.d/90dmsquash-live-autooverlay/module-setup.sh b/modules.d/90dmsquash-live-autooverlay/module-setup.sh -new file mode 100755 -index 00000000..c3712eba ---- /dev/null -+++ b/modules.d/90dmsquash-live-autooverlay/module-setup.sh -@@ -0,0 +1,25 @@ -+#!/bin/bash -+ -+check() { -+ # including a module dedicated to live environments in a host-only initrd doesn't make sense -+ [[ $hostonly ]] && return 1 -+ return 255 -+} -+ -+depends() { -+ echo dmsquash-live -+ return 0 -+} -+ -+installkernel() { -+ instmods btrfs ext4 xfs -+} -+ -+install() { -+ inst_multiple awk blkid cat grep mkdir mount parted readlink rmdir tr umount -+ inst_multiple -o mkfs.btrfs mkfs.ext4 mkfs.xfs -+ # shellcheck disable=SC2154 -+ inst_hook pre-udev 25 "$moddir/create-overlay-genrules.sh" -+ inst_script "$moddir/create-overlay.sh" "/sbin/create-overlay" -+ dracut_need_initqueue -+} -diff --git a/pkgbuild/dracut.spec b/pkgbuild/dracut.spec -index 71b7421c..0f3efda7 100644 ---- a/pkgbuild/dracut.spec -+++ b/pkgbuild/dracut.spec -@@ -141,7 +141,7 @@ Requires: %{name} >= %{version}-%{dist_free_release} - Requires: %{name} = %{version}-%{release} - %endif - Requires: %{name}-network = %{version}-%{release} --Requires: tar gzip coreutils bash device-mapper curl -+Requires: tar gzip coreutils bash device-mapper curl parted - %if 0%{?fedora} - Requires: fuse ntfs-3g - %endif -@@ -464,6 +464,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ - %files live - %{dracutlibdir}/modules.d/99img-lib - %{dracutlibdir}/modules.d/90dmsquash-live -+%{dracutlibdir}/modules.d/90dmsquash-live-autooverlay - %{dracutlibdir}/modules.d/90dmsquash-live-ntfs - %{dracutlibdir}/modules.d/90livenet - -diff --git a/test/TEST-16-DMSQUASH/create-root.sh b/test/TEST-16-DMSQUASH/create-root.sh -index 9bc1aa5d..c11e17e0 100755 ---- a/test/TEST-16-DMSQUASH/create-root.sh -+++ b/test/TEST-16-DMSQUASH/create-root.sh -@@ -11,9 +11,17 @@ udevadm control --reload - set -e - - udevadm settle --mkfs.ext4 -q -L dracut /dev/disk/by-id/ata-disk_root -+ -+# create a single partition using 50% of the capacity of the image file created by test_setup() in test.sh -+sfdisk /dev/disk/by-id/ata-disk_root << EOF -+2048,161792 -+EOF -+ -+udevadm settle -+ -+mkfs.ext4 -q -L dracut /dev/disk/by-id/ata-disk_root-part1 - mkdir -p /root --mount /dev/disk/by-id/ata-disk_root /root -+mount /dev/disk/by-id/ata-disk_root-part1 /root - mkdir -p /root/run /root/testdir - echo "Creating squashfs" - mksquashfs /source /root/testdir/rootfs.img -quiet -diff --git a/test/TEST-16-DMSQUASH/test-init.sh b/test/TEST-16-DMSQUASH/test-init.sh -index 068e8f38..959fa25f 100755 ---- a/test/TEST-16-DMSQUASH/test-init.sh -+++ b/test/TEST-16-DMSQUASH/test-init.sh -@@ -9,6 +9,12 @@ exec > /dev/console 2>&1 - - echo "dracut-root-block-success" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker - -+if grep -qF ' rd.live.overlay=LABEL=persist ' /proc/cmdline; then -+ # Writing to a file in the root filesystem lets test_run() verify that the autooverlay module successfully created -+ # and formatted the overlay partition and that the dmsquash-live module used it when setting up the rootfs overlay. -+ echo "dracut-autooverlay-success" > /overlay-marker -+fi -+ - export TERM=linux - export PS1='initramfs-test:\w\$ ' - [ -f /etc/mtab ] || ln -sfn /proc/mounts /etc/mtab -diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh -index cf433489..a446b3c9 100755 ---- a/test/TEST-16-DMSQUASH/test.sh -+++ b/test/TEST-16-DMSQUASH/test.sh -@@ -5,8 +5,9 @@ TEST_DESCRIPTION="live root on a squash filesystem" - - KVERSION="${KVERSION-$(uname -r)}" - --# Uncomment this to debug failures --# DEBUGFAIL="rd.shell rd.debug loglevel=7" -+# Uncomment these to debug failures -+#DEBUGFAIL="rd.shell rd.debug rd.live.debug loglevel=7" -+#DEBUGTOOLS="setsid ls cat sfdisk" - - test_run() { - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 -@@ -23,6 +24,27 @@ test_run() { - -initrd "$TESTDIR"/initramfs.testing - - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success -- "$TESTDIR"/marker.img || return 1 -+ -+ rootPartitions=$(sfdisk -d "$TESTDIR"/root.img | grep -c 'root\.img[0-9]') -+ [ "$rootPartitions" -eq 1 ] || return 1 -+ -+ "$testdir"/run-qemu \ -+ "${disk_args[@]}" \ -+ -boot order=d \ -+ -append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.overlay=LABEL=persist rd.live.dir=testdir root=LABEL=dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \ -+ -initrd "$TESTDIR"/initramfs.testing-autooverlay -+ -+ rootPartitions=$(sfdisk -d "$TESTDIR"/root.img | grep -c 'root\.img[0-9]') -+ [ "$rootPartitions" -eq 2 ] || return 1 -+ -+ ( -+ # Ensure that this test works when run with the `V=1` parameter, which runs the script with `set -o pipefail`. -+ set +o pipefail -+ -+ # Verify that the string "dracut-autooverlay-success" occurs in the second partition in the image file. -+ dd if="$TESTDIR"/root.img bs=1MiB skip=80 status=none \ -+ | grep -U --binary-files=binary -F -m 1 -q dracut-autooverlay-success -+ ) || return 1 - } - - test_setup() { -@@ -49,7 +71,7 @@ test_setup() { - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" - -- inst_multiple mkdir ln dd stty mount poweroff -+ inst_multiple mkdir ln dd stty mount poweroff grep "$DEBUGTOOLS" - - cp -a -- /etc/ld.so.conf* "$initdir"/etc - ldconfig -r "$initdir" -@@ -113,6 +135,16 @@ test_setup() { - --force "$TESTDIR"/initramfs.testing "$KVERSION" || return 1 - - ls -sh "$TESTDIR"/initramfs.testing -+ -+ "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \ -+ --modules "dmsquash-live-autooverlay qemu" \ -+ --omit "rngd" \ -+ --drivers "ext4 sd_mod" \ -+ --no-hostonly --no-hostonly-cmdline \ -+ --force "$TESTDIR"/initramfs.testing-autooverlay "$KVERSION" || return 1 -+ -+ ls -sh "$TESTDIR"/initramfs.testing-autooverlay -+ - rm -rf -- "$TESTDIR"/overlay - } - -diff --git a/test/container/Dockerfile-Arch b/test/container/Dockerfile-Arch -index 922b8ede..4112cc5b 100644 ---- a/test/container/Dockerfile-Arch -+++ b/test/container/Dockerfile-Arch -@@ -9,10 +9,10 @@ RUN echo 'export DRACUT_NO_XATTR=1 KVERSION=$(cd /lib/modules; ls -1 | tail -1)' - - # Install needed packages for the dracut CI container - RUN pacman --noconfirm -Sy \ -- linux dash strace dhclient asciidoc cpio pigz \ -+ linux dash strace dhclient asciidoc cpio pigz squashfs-tools \ - qemu btrfs-progs mdadm dmraid nfs-utils nfsidmap lvm2 nbd \ - dhcp networkmanager multipath-tools vi tcpdump open-iscsi \ -- git shfmt shellcheck astyle which base-devel && yes | pacman -Scc -+ git shfmt shellcheck astyle which base-devel glibc parted && yes | pacman -Scc - - RUN useradd -m build - RUN su build -c 'cd && git clone https://aur.archlinux.org/perl-config-general.git && cd perl-config-general && makepkg -s --noconfirm' -diff --git a/test/container/Dockerfile-Debian b/test/container/Dockerfile-Debian -index b4c1704e..15eb9958 100644 ---- a/test/container/Dockerfile-Debian -+++ b/test/container/Dockerfile-Debian -@@ -42,6 +42,7 @@ RUN apt-get update -y -qq && apt-get upgrade -y -qq && DEBIAN_FRONTEND=nonintera - network-manager \ - nfs-common \ - open-iscsi \ -+ parted \ - pigz \ - pkg-config \ - procps \ -diff --git a/test/container/Dockerfile-Fedora-latest b/test/container/Dockerfile-Fedora-latest -index 87c749f9..a38a72ef 100644 ---- a/test/container/Dockerfile-Fedora-latest -+++ b/test/container/Dockerfile-Fedora-latest -@@ -49,6 +49,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \ - which \ - ShellCheck \ - shfmt \ -+ parted \ - && dnf -y update && dnf clean all - - # Set default command -diff --git a/test/container/Dockerfile-OpenSuse-latest b/test/container/Dockerfile-OpenSuse-latest -index 637d50c6..9aaf07b1 100644 ---- a/test/container/Dockerfile-OpenSuse-latest -+++ b/test/container/Dockerfile-OpenSuse-latest -@@ -13,7 +13,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \ - strace libkmod-devel gcc bzip2 xz tar wget rpm-build make git bash-completion \ - sudo kernel dhcp-client qemu-kvm /usr/bin/qemu-system-$(uname -m) e2fsprogs \ - tcpdump iproute iputils kbd NetworkManager btrfsprogs tgt dbus-broker \ -- iscsiuio open-iscsi which ShellCheck procps pigz \ -+ iscsiuio open-iscsi which ShellCheck procps pigz parted squashfs \ - && dnf -y update && dnf clean all - - RUN shfmt_version=3.2.4; wget "https://github.com/mvdan/sh/releases/download/v${shfmt_version}/shfmt_v${shfmt_version}_linux_amd64" -O /usr/local/bin/shfmt \ --- -2.36.1 - diff --git a/2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch b/2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch deleted file mode 100644 index fb8f368..0000000 --- a/2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 16f1daa9015b4cac6f390c0832f37479bc1377ba Mon Sep 17 00:00:00 2001 -From: Neal Gompa -Date: Sat, 5 Nov 2022 18:28:34 -0400 -Subject: [PATCH] fix(kernel-modules): add sysctl to initramfs to handle - modprobe files - -Users were seeing errors like this: - -[ 2.917246] dracut-pre-udev[717]: sh: line 1: /sbin/sysctl: No such file or directory - -This was the result of modprobe.d files that needed to call sysctl -and failing because sysctl wasn't included in the initramfs. - -This change makes it so that we have the binary included so those -modprobe configuration files work properly. ---- - 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 b1fb74020..eb478c7ee 100755 ---- a/modules.d/90kernel-modules/module-setup.sh -+++ b/modules.d/90kernel-modules/module-setup.sh -@@ -147,4 +147,5 @@ install() { - inst_hook cmdline 01 "$moddir/parse-kernel.sh" - fi - inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh -+ inst_multiple -o sysctl - } diff --git a/dracut.spec b/dracut.spec index 0f89845..735fca8 100644 --- a/dracut.spec +++ b/dracut.spec @@ -7,10 +7,10 @@ %global __requires_exclude pkg-config # rpmdev-bumpspec and releng automation compatible variable -%global baserelease 6 +%global baserelease 1 Name: dracut -Version: 057 +Version: 059 Release: %{baserelease}%{?dist} Summary: Initramfs generator using udev @@ -22,29 +22,15 @@ License: GPLv2+ and LGPLv2+ and GPLv2 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 +Source0: https://github.com/dracutdevs/dracut/archive/refs/tags/%{version}.tar.gz Source1: https://www.gnu.org/licenses/lgpl-2.1.txt -# dmsquash-live-root: Run checkisomd5 on correct device -# https://github.com/dracutdevs/dracut/pull/1882 -Patch0: 1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch - # Never auto-enable bluetooth module (but it can be manually included # for debugging) - workaround for RHBZ #1964879. # https://github.com/dracutdevs/dracut/pull/1521 Patch1: 1521-Never-enable-the-bluetooth-module-by-default.patch -# Add dmsquash-live-autooverlay module -# https://github.com/dracutdevs/dracut/pull/1991 -Patch2: 1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch - -# Add sysctl to initramfs to handle modprobe files -# https://github.com/dracutdevs/dracut/pull/2037 -Patch3: 2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch - BuildRequires: bash BuildRequires: git-core BuildRequires: pkgconfig(libkmod) >= 23 @@ -285,6 +271,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/01systemd-journald %{dracutlibdir}/modules.d/01systemd-ldconfig %{dracutlibdir}/modules.d/01systemd-modules-load +%{dracutlibdir}/modules.d/01systemd-pcrphase +%{dracutlibdir}/modules.d/01systemd-portabled +%{dracutlibdir}/modules.d/01systemd-pstore %{dracutlibdir}/modules.d/01systemd-repart %{dracutlibdir}/modules.d/01systemd-resolved %{dracutlibdir}/modules.d/01systemd-rfkill @@ -313,6 +302,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/62bluetooth %{dracutlibdir}/modules.d/80lvmmerge %{dracutlibdir}/modules.d/80lvmthinpool-monitor +%{dracutlibdir}/modules.d/80test +%{dracutlibdir}/modules.d/80test-makeroot +%{dracutlibdir}/modules.d/80test-root %{dracutlibdir}/modules.d/90btrfs %{dracutlibdir}/modules.d/90crypt %{dracutlibdir}/modules.d/90dm @@ -323,6 +315,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{dracutlibdir}/modules.d/90mdraid %{dracutlibdir}/modules.d/90multipath %{dracutlibdir}/modules.d/90nvdimm +%{dracutlibdir}/modules.d/90overlayfs %{dracutlibdir}/modules.d/90ppcmac %{dracutlibdir}/modules.d/90qemu %{dracutlibdir}/modules.d/91crypt-gpg @@ -444,6 +437,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install %changelog +* Mon Feb 13 2023 Pavel Valena - 059-1 +- Update to 059 + * Thu Jan 19 2023 Fedora Release Engineering - 057-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 0c11c95..a864a13 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dracut-057.tar.xz) = 5169dd42c59a1a3fde21da984ab998eb04bf4aac384a6aa4ada3b0febd1e8f0c7fc727b1e8aed30f6584acbe323cbdb4021d18109b8baec907dadcc8cd4ceec9 +SHA512 (059.tar.gz) = 196bc8bf18703c72bffb51a7e0493719c58173ad2da7d121eb42f9a8de47e953af36d109214dc4a10b2dc2d3bd19e844f7f51c2bdec087e064ea11f75124032d