commit 5ba0a920551b94a2f1d425a692d2543bb04e77b7 Author: MSVSphere Packaging Team Date: Fri Apr 14 12:46:29 2023 +0300 import dracut-057-21.git20230214.el9 diff --git a/.dracut.metadata b/.dracut.metadata new file mode 100644 index 0000000..407d365 --- /dev/null +++ b/.dracut.metadata @@ -0,0 +1 @@ +20a52ee200099c22550e344dc041590dd570c896 SOURCES/dracut-057.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2bcde2f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/dracut-057.tar.xz diff --git a/SOURCES/0001.patch b/SOURCES/0001.patch new file mode 100644 index 0000000..24ac538 --- /dev/null +++ b/SOURCES/0001.patch @@ -0,0 +1,270 @@ +From b13e8ee2caaa84046e25a73e52dedb9c0f5c57a3 Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Tue, 12 Jul 2022 14:12:04 +0200 +Subject: [PATCH] ci: all layered RHEL-9 changes + + - previous downstream changes + - use dracut.spec as submitted in the PR + - sync selected changes from upstream + - add new-main for pull-requests temporarily + +rhel-only +Related: #2066816 +--- + .github/workflows/container.yml | 7 ++-- + .github/workflows/differential-shellcheck.yml | 19 ++++++++++ + .github/workflows/integration.yml | 47 ++++++++++++++++++++++-- + .github/workflows/lint.yml | 4 +- + .packit.yml | 36 ++++++++++++++++++ + test/container/Dockerfile-CentOS-9-Stream | 53 +++++++++++++++++++++++++++ + 6 files changed, 158 insertions(+), 8 deletions(-) + +diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml +index 03c9c5ec..99d57f5b 100644 +--- a/.github/workflows/container.yml ++++ b/.github/workflows/container.yml +@@ -3,12 +3,12 @@ on: + schedule: + - cron: '30 11 * * *' # every day at 4:40 + push: +- branches: [ master ] ++ branches: [ main ] + paths: + - 'test/container/**' + - '.github/workflows/container.yml' + pull_request: +- branches: [ master ] ++ branches: [ main new-main ] + paths: + - 'test/container/**' + - '.github/workflows/container.yml' +@@ -31,6 +31,7 @@ jobs: + - { dockerfile: 'Dockerfile-Fedora-latest', tag: 'fedora:latest' } + - { dockerfile: 'Dockerfile-OpenSuse-latest', tag: 'opensuse:latest' } + - { dockerfile: 'Dockerfile-Arch', tag: 'arch:latest' } ++ - { dockerfile: 'Dockerfile-CentOS-9-Stream', tag: 'centos:stream9' } + - { dockerfile: 'Dockerfile-Debian', tag: 'debian:latest' } + steps: + - name: Check out the repo +@@ -49,5 +50,5 @@ jobs: + uses: docker/build-push-action@v2 + with: + file: test/container/${{ matrix.config.dockerfile }} +- tags: ghcr.io/dracutdevs/${{ matrix.config.tag }} ++ tags: ghcr.io/${{ github.repository_owner }}/${{ matrix.config.tag }} + push: ${{ github.event_name == 'push' || github.event_name == 'schedule' }} +diff --git a/.github/workflows/differential-shellcheck.yml b/.github/workflows/differential-shellcheck.yml +new file mode 100644 +index 00000000..c4b05fad +--- /dev/null ++++ b/.github/workflows/differential-shellcheck.yml +@@ -0,0 +1,19 @@ ++name: Differential ShellCheck ++on: ++ pull_request: ++ branches: [ main new-main ] ++ ++jobs: ++ test: ++ runs-on: ubuntu-20.04 ++ ++ steps: ++ - name: Repository checkout ++ uses: actions/checkout@v3 ++ with: ++ fetch-depth: 0 ++ ++ - name: Differential ShellCheck ++ uses: redhat-plumbers-in-action/differential-shellcheck@v2 ++ with: ++ token: ${{ secrets.GITHUB_TOKEN }} +diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml +index 3d78555f..aa354e3e 100644 +--- a/.github/workflows/integration.yml ++++ b/.github/workflows/integration.yml +@@ -2,7 +2,7 @@ name: Integration Test + + on: + pull_request: +- branches: [ master ] ++ branches: [ main new-main ] + + jobs: + basic: +@@ -24,7 +24,7 @@ jobs: + ] + fail-fast: false + container: +- image: ghcr.io/dracutdevs/${{ matrix.container }} ++ image: ghcr.io/${{ github.repository_owner }}/${{ matrix.container }} + options: "--privileged -v /dev:/dev" + steps: + - name: "Checkout Repository" +@@ -69,7 +69,48 @@ jobs: + ] + fail-fast: false + container: +- image: ghcr.io/dracutdevs/${{ matrix.container }} ++ image: ghcr.io/${{ github.repository_owner }}/${{ matrix.container }} ++ options: "--privileged -v /dev:/dev" ++ steps: ++ - name: "Checkout Repository" ++ uses: actions/checkout@v2 ++ with: ++ fetch-depth: 0 ++ ++ - name: "${{ matrix.container }} TEST-${{ matrix.test }}" ++ run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }} ++ centos-9-stream: ++ runs-on: ubuntu-latest ++ timeout-minutes: 45 ++ concurrency: ++ group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }} ++ cancel-in-progress: true ++ strategy: ++ matrix: ++ container: [ ++ "centos:stream9", ++ ] ++ # Disabled tests (due to dropped packages in RHEL/CentOS): ++ # 03, 04, 15: requires btrfs ++ # 14: requires dmraid ++ # 30, 31, 35, 36: requires scsi-target-utils ++ test: [ ++ "01", ++ "02", ++ "10", ++ "11", ++ "12", ++ "13", ++ "17", ++ "20", ++ "21", ++ "40", ++ "41", ++ "98", ++ ] ++ fail-fast: false ++ container: ++ image: ghcr.io/${{ github.repository_owner }}/${{ matrix.container }} + options: "--privileged -v /dev:/dev" + steps: + - name: "Checkout Repository" +diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml +index 7b1b8ee7..5e3a299f 100644 +--- a/.github/workflows/lint.yml ++++ b/.github/workflows/lint.yml +@@ -2,9 +2,9 @@ name: Lint + + on: + push: +- branches: [ master ] ++ branches: [ main ] + pull_request: +- branches: [ master ] ++ branches: [ main new-main ] + + jobs: + lint-c: +diff --git a/.packit.yml b/.packit.yml +new file mode 100644 +index 00000000..86ba83d2 +--- /dev/null ++++ b/.packit.yml +@@ -0,0 +1,36 @@ ++--- ++# This file is part of dracut. ++# SPDX-License-Identifier: GPL-2.0-or-later ++# ++# vi:ts=2 sw=2 et: ++# ++# Docs: https://packit.dev/docs/ ++ ++specfile_path: pkgbuild/dracut.spec ++synced_files: ++ - .packit.yaml ++upstream_package_name: dracut ++downstream_package_name: dracut ++upstream_tag_template: "{version}" ++ ++actions: ++ post-upstream-clone: ++ # Use the current specfile ++ - "cp pkgbuild/dracut.spec ." ++ ++# Available targets can be listed via `copr-cli list-chroots` ++jobs: ++# Build test ++- job: copr_build ++ trigger: pull_request ++ metadata: ++ targets: ++ - centos-stream-9-x86_64 ++ - centos-stream-9-aarch64 ++ ++# Run tests (via testing farm) ++- job: tests ++ trigger: pull_request ++ metadata: ++ targets: ++ - centos-stream-9-x86_64 +diff --git a/test/container/Dockerfile-CentOS-9-Stream b/test/container/Dockerfile-CentOS-9-Stream +new file mode 100644 +index 00000000..c9a96020 +--- /dev/null ++++ b/test/container/Dockerfile-CentOS-9-Stream +@@ -0,0 +1,53 @@ ++FROM quay.io/centos/centos:stream9 ++ ++MAINTAINER https://github.com/dracutdevs/dracut ++ ++ENV container docker ++LABEL RUN="docker run -it --name NAME --privileged --ipc=host --net=host --pid=host -e NAME=NAME -e IMAGE=IMAGE IMAGE" ++ ++RUN echo 'export DRACUT_NO_XATTR=1 KVERSION=$(cd /lib/modules; ls -1 | tail -1)' > /etc/profile.d/dracut-test.sh ++ ++# Install needed packages for the dracut CI container ++# FIXME: properly re-add dash once C9S EPEL is available ++RUN dnf -y install --enablerepo crb --setopt=install_weak_deps=False \ ++ http://mirrors.kernel.org/fedora/releases/34/Everything/x86_64/os/Packages/d/dash-0.5.10.2-8.fc34.x86_64.rpm \ ++ qemu-kvm \ ++ NetworkManager \ ++ asciidoc \ ++ bash-completion \ ++ bzip2 \ ++ cryptsetup \ ++ dbus-daemon \ ++ dhcp-client \ ++ dhcp-server \ ++ e2fsprogs \ ++ gcc \ ++ git \ ++ iproute \ ++ iputils \ ++ iscsi-initiator-utils \ ++ kbd \ ++ kernel \ ++ kmod-devel \ ++ lvm2 \ ++ make \ ++ mdadm \ ++ nfs-utils \ ++ pigz \ ++ rpm-build \ ++ strace \ ++ sudo \ ++ tar \ ++ tcpdump \ ++ wget \ ++ which \ ++ xz \ ++ && dnf -y update && dnf clean all ++ ++# C9S ships only qemu-kvm, but it disables the KVM accel when it's not ++# available ++RUN ln -sv /usr/libexec/qemu-kvm /usr/bin/qemu-kvm && \ ++ ln -sv /usr/libexec/qemu-kvm /usr/bin/qemu-system-$(uname -m) ++ ++# Set default command ++CMD ["/usr/bin/bash"] + diff --git a/SOURCES/0002.patch b/SOURCES/0002.patch new file mode 100644 index 0000000..2e84870 --- /dev/null +++ b/SOURCES/0002.patch @@ -0,0 +1,55 @@ +From a6c4171117924cacaa727a9828e72f70e09b1fa9 Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Tue, 12 Jul 2022 14:15:25 +0200 +Subject: [PATCH] fix(fips): enhance commit 'handle s390x OSTree systems' + +78557f05a69fe718a97df85d2ed741ce10d3f806 + +Refactored to enhance readability. + +Related: rhbz#2050567 +--- + modules.d/01fips/fips.sh | 15 +++++++++++---- + modules.d/01fips/module-setup.sh | 2 +- + 2 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh +index 26f65414..6ad61df8 100755 +--- a/modules.d/01fips/fips.sh ++++ b/modules.d/01fips/fips.sh +@@ -132,10 +132,17 @@ do_fips() { + if [ -e "/boot/vmlinuz-${KERNEL}" ]; then + BOOT_IMAGE="vmlinuz-${KERNEL}" + elif [ -d /boot/loader/entries ]; then +- bls=$(find /boot/loader/entries -name '*.conf' | sort -rV | sed -n "$((BOOT_IMAGE + 1))p") +- if [ -e "${bls}" ]; then +- BOOT_IMAGE=$(grep ^linux "${bls}" | cut -d' ' -f2) +- fi ++ i=0 ++ # shellcheck disable=SC2012 ++ for bls in $(ls -d /boot/loader/entries/*.conf | sort -rV); do ++ if [ "$i" -eq "${BOOT_IMAGE:-0}" ] && [ -r "$bls" ]; then ++ BOOT_IMAGE="$(grep -e '^linux' "$bls" | grep -o ' .*$')" ++ BOOT_IMAGE=${BOOT_IMAGE## } ++ break ++ fi ++ ++ i=$((i + 1)) ++ done + fi + fi + +diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh +index 8860159d..cc9d15ce 100755 +--- a/modules.d/01fips/module-setup.sh ++++ b/modules.d/01fips/module-setup.sh +@@ -67,7 +67,7 @@ install() { + inst_hook pre-udev 01 "$moddir/fips-load-crypto.sh" + inst_script "$moddir/fips.sh" /sbin/fips.sh + +- inst_multiple sha512hmac rmmod insmod mount uname umount grep sed cut find sort ++ inst_multiple sha512hmac rmmod insmod mount uname umount grep sed sort + + inst_simple /etc/system-fips + [ -c "${initdir}"/dev/random ] || mknod "${initdir}"/dev/random c 1 8 \ + diff --git a/SOURCES/0003.patch b/SOURCES/0003.patch new file mode 100644 index 0000000..3eea192 --- /dev/null +++ b/SOURCES/0003.patch @@ -0,0 +1,41 @@ +From ec58df436c7ecaa04a9a4a8f72615c59739f890d Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Wed, 16 Feb 2022 02:42:11 +0100 +Subject: [PATCH] build(spec): do not use recommends for base packages + +rhel-only +Resolves: rhbz#1947892 +--- + pkgbuild/dracut.spec | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git a/pkgbuild/dracut.spec b/pkgbuild/dracut.spec +index 71b7421c..38de47b4 100644 +--- a/pkgbuild/dracut.spec ++++ b/pkgbuild/dracut.spec +@@ -71,20 +71,17 @@ Requires: kmod + Requires: sed + Requires: xz + Requires: gzip ++Requires: hardlink ++Requires: pigz ++Requires: kpartx + + %if 0%{?fedora} || 0%{?rhel} +-Recommends: memstrack +-Recommends: hardlink +-Recommends: pigz +-Recommends: kpartx ++Suggests: memstrack + Requires: util-linux >= 2.21 + Requires: systemd >= 219 + Requires: systemd-udev >= 219 + Requires: procps-ng + %else +-Requires: hardlink +-Requires: gzip +-Requires: kpartx + Requires: udev > 166 + Requires: util-linux-ng >= 2.21 + %endif + diff --git a/SOURCES/0004.patch b/SOURCES/0004.patch new file mode 100644 index 0000000..e13f366 --- /dev/null +++ b/SOURCES/0004.patch @@ -0,0 +1,35 @@ +From 3a0a1774798178f709fc4aa54b6fc3c78e30add7 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Mon, 19 Jul 2021 11:27:28 +0200 +Subject: [PATCH] fix(95nfs): set correct ownership and permissions for statd + directory + +The directory ownership for the statd directory should be +rpcuser:rpcuser. + +Resolves: #2017846 +--- + modules.d/95nfs/module-setup.sh | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh +index 16bafe30..5351c2d5 100755 +--- a/modules.d/95nfs/module-setup.sh ++++ b/modules.d/95nfs/module-setup.sh +@@ -120,8 +120,13 @@ install() { + mkdir -m 0755 -p "$initdir/var/lib/nfs" + mkdir -m 0755 -p "$initdir/var/lib/nfs/rpc_pipefs" + mkdir -m 0770 -p "$initdir/var/lib/rpcbind" +- [ -d "/var/lib/nfs/statd/sm" ] && mkdir -m 0755 -p "$initdir/var/lib/nfs/statd/sm" +- [ -d "/var/lib/nfs/sm" ] && mkdir -m 0755 -p "$initdir/var/lib/nfs/sm" ++ [ -d "$dracutsysrootdir/var/lib/nfs/statd/sm" ] \ ++ && mkdir -m 0700 -p "$initdir/var/lib/nfs/statd" \ ++ && mkdir -m 0755 -p "$initdir/var/lib/nfs/statd/sm" \ ++ && chown -R rpcuser:rpcuser "$initdir/var/lib/nfs/statd" ++ [ -d "$dracutsysrootdir/var/lib/nfs/sm" ] \ ++ && mkdir -m 0755 -p "$initdir/var/lib/nfs/sm" \ ++ && chown -R rpcuser:rpcuser "$initdir/var/lib/nfs/sm" + + # Rather than copy the passwd file in, just set a user for rpcbind + # We'll save the state and restart the daemon from the root anyway + diff --git a/SOURCES/0005.patch b/SOURCES/0005.patch new file mode 100644 index 0000000..bb2f6a2 --- /dev/null +++ b/SOURCES/0005.patch @@ -0,0 +1,27 @@ +From 21b7898d5c3a074203d6cb8a71962010874f87bb Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Tue, 15 Feb 2022 13:47:40 +0100 +Subject: [PATCH] fix(95resume): only exclude this module, when swap is netdev + +Resolves: #2017787 +--- + modules.d/95resume/module-setup.sh | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh +index 5e891048..4b8d8422 100755 +--- a/modules.d/95resume/module-setup.sh ++++ b/modules.d/95resume/module-setup.sh +@@ -10,10 +10,9 @@ check() { + return 1 + } + +- # Only support resume if hibernation is currently on +- # and no swap is mounted on a net device ++ # Only support resume if no swap is mounted on a net device + [[ $hostonly ]] || [[ $mount_needs ]] && { +- swap_on_netdevice || [[ -f /sys/power/resume && "$(cat /sys/power/resume)" == "0:0" ]] && return 255 ++ swap_on_netdevice && return 255 + } + + return 0 diff --git a/SOURCES/0006.patch b/SOURCES/0006.patch new file mode 100644 index 0000000..ff7d7a5 --- /dev/null +++ b/SOURCES/0006.patch @@ -0,0 +1,65 @@ +From c1dee82d80d1b4d76a476d822cdf817686da7ebb Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Tue, 19 Jul 2022 16:42:59 +0200 +Subject: [PATCH] ci: fix branch to run integration tests in + +--- + .github/workflows/container.yml | 2 +- + .github/workflows/differential-shellcheck.yml | 2 +- + .github/workflows/integration.yml | 2 +- + .github/workflows/lint.yml | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml +index 99d57f5b..82d7a097 100644 +--- a/.github/workflows/container.yml ++++ b/.github/workflows/container.yml +@@ -8,7 +8,7 @@ on: + - 'test/container/**' + - '.github/workflows/container.yml' + pull_request: +- branches: [ main new-main ] ++ branches: [ main ] + paths: + - 'test/container/**' + - '.github/workflows/container.yml' +diff --git a/.github/workflows/differential-shellcheck.yml b/.github/workflows/differential-shellcheck.yml +index c4b05fad..63a022bf 100644 +--- a/.github/workflows/differential-shellcheck.yml ++++ b/.github/workflows/differential-shellcheck.yml +@@ -1,7 +1,7 @@ + name: Differential ShellCheck + on: + pull_request: +- branches: [ main new-main ] ++ branches: [ main ] + + jobs: + test: +diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml +index aa354e3e..82d01457 100644 +--- a/.github/workflows/integration.yml ++++ b/.github/workflows/integration.yml +@@ -2,7 +2,7 @@ name: Integration Test + + on: + pull_request: +- branches: [ main new-main ] ++ branches: [ main ] + + jobs: + basic: +diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml +index 5e3a299f..f6778a65 100644 +--- a/.github/workflows/lint.yml ++++ b/.github/workflows/lint.yml +@@ -4,7 +4,7 @@ on: + push: + branches: [ main ] + pull_request: +- branches: [ main new-main ] ++ branches: [ main ] + + jobs: + lint-c: + diff --git a/SOURCES/0007.patch b/SOURCES/0007.patch new file mode 100644 index 0000000..fc854bc --- /dev/null +++ b/SOURCES/0007.patch @@ -0,0 +1,42 @@ +From d754571fea528af061db46a0284e996d012f14c9 Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Tue, 19 Jul 2022 17:06:25 +0200 +Subject: [PATCH] ci: run integration tests only on C9s + +--- + .github/workflows/container.yml | 4 ---- + .github/workflows/integration.yml | 3 --- + 2 files changed, 7 deletions(-) + +diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml +index 82d7a097..34038f57 100644 +--- a/.github/workflows/container.yml ++++ b/.github/workflows/container.yml +@@ -28,11 +28,7 @@ jobs: + fail-fast: false + matrix: + config: +- - { dockerfile: 'Dockerfile-Fedora-latest', tag: 'fedora:latest' } +- - { dockerfile: 'Dockerfile-OpenSuse-latest', tag: 'opensuse:latest' } +- - { dockerfile: 'Dockerfile-Arch', tag: 'arch:latest' } + - { dockerfile: 'Dockerfile-CentOS-9-Stream', tag: 'centos:stream9' } +- - { dockerfile: 'Dockerfile-Debian', tag: 'debian:latest' } + steps: + - name: Check out the repo + uses: actions/checkout@v2 +diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml +index 82d01457..40da300c 100644 +--- a/.github/workflows/integration.yml ++++ b/.github/workflows/integration.yml +@@ -14,10 +14,7 @@ jobs: + strategy: + matrix: + container: [ +- "arch:latest", +- "debian:latest", + "fedora:latest", +- "opensuse:latest", + ] + test: [ + "04", + diff --git a/SOURCES/0008.patch b/SOURCES/0008.patch new file mode 100644 index 0000000..942000e --- /dev/null +++ b/SOURCES/0008.patch @@ -0,0 +1,29 @@ +From 263b9095200cf277db3bff4753b06306175b1534 Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Thu, 21 Jul 2022 17:40:20 +0200 +Subject: [PATCH] fix(dracut.sh): do not fail on irregular files + +If file is not a regular file (test -f), dracut.sh fails, +which is unexpected change of behaviour. +The workaround would be to create an empty file. + +rhel-only +Fixes: #1835 +--- + dracut.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index a1ea1bc3..210a8275 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -905,7 +905,7 @@ if [[ -z $conffile ]]; then + else + conffile="$dracutsysrootdir/etc/dracut.conf" + fi +-elif [[ ! -f $conffile ]]; then ++elif [[ ! -e $conffile ]]; then + printf "%s\n" "dracut: Configuration file '$conffile' not found." >&2 + exit 1 + fi + diff --git a/SOURCES/0009.patch b/SOURCES/0009.patch new file mode 100644 index 0000000..9dc2952 --- /dev/null +++ b/SOURCES/0009.patch @@ -0,0 +1,61 @@ +From 96116c784edda6675c80fdf95823188c72b28652 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Mon, 18 Jul 2022 16:29:27 +0200 +Subject: [PATCH] fix(98dracut-systemd): partly revert "emergency mode: use + sulogin" + +Partly reverts 32f68c1f9ac3720e8ce4b95a09c0ce680d5da786 +In RHEL we don't want to have a password to log in into emergency mode. + +RHEL-only + +Resolves: #2057365 +--- + modules.d/98dracut-systemd/dracut-emergency.sh | 2 +- + modules.d/98dracut-systemd/module-setup.sh | 2 -- + modules.d/99base/module-setup.sh | 8 ++------ + 3 files changed, 3 insertions(+), 9 deletions(-) + +diff --git a/modules.d/98dracut-systemd/dracut-emergency.sh b/modules.d/98dracut-systemd/dracut-emergency.sh +index c6637a5c..48062f49 100755 +--- a/modules.d/98dracut-systemd/dracut-emergency.sh ++++ b/modules.d/98dracut-systemd/dracut-emergency.sh +@@ -34,7 +34,7 @@ if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then + done < /proc/consoles + [ -f /etc/profile ] && . /etc/profile + [ -z "$PS1" ] && export PS1="$_name:\${PWD}# " +- exec sulogin -e ++ exec sh -i -l + else + export hook="shutdown-emergency" + warn "$action has failed. To debug this issue add \"rd.shell rd.debug\" to the kernel command line." +diff --git a/modules.d/98dracut-systemd/module-setup.sh b/modules.d/98dracut-systemd/module-setup.sh +index b7da86db..6fb26efa 100755 +--- a/modules.d/98dracut-systemd/module-setup.sh ++++ b/modules.d/98dracut-systemd/module-setup.sh +@@ -51,6 +51,4 @@ install() { + done + + inst_simple "$moddir/dracut-tmpfiles.conf" "$tmpfilesdir/dracut-tmpfiles.conf" +- +- inst_multiple sulogin + } +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index 10a44d91..3fa2659a 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -30,12 +30,8 @@ install() { + fi + + # add common users in /etc/passwd, it will be used by nfs/ssh currently +- # use password for hostonly images to facilitate secure sulogin in emergency console +- [[ $hostonly ]] && pwshadow='x' +- grep '^root:' "$initdir/etc/passwd" 2> /dev/null || echo "root:$pwshadow:0:0::/root:/bin/sh" >> "$initdir/etc/passwd" +- grep '^nobody:' "$dracutsysrootdir"/etc/passwd >> "$initdir/etc/passwd" +- +- [[ $hostonly ]] && grep '^root:' "$dracutsysrootdir"/etc/shadow >> "$initdir/etc/shadow" ++ grep '^root:' "$initdir/etc/passwd" 2> /dev/null || echo 'root:x:0:0::/root:/bin/sh' >> "$initdir/etc/passwd" ++ grep '^nobody:' /etc/passwd >> "$initdir/etc/passwd" + + # install our scripts and hooks + inst_script "$moddir/init.sh" "/init" diff --git a/SOURCES/0010.patch b/SOURCES/0010.patch new file mode 100644 index 0000000..c73f2cd --- /dev/null +++ b/SOURCES/0010.patch @@ -0,0 +1,29 @@ +From 733d47fb873c2b821a430a614d83b60475df2d13 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Mon, 15 Aug 2022 16:25:53 +0200 +Subject: [PATCH] fix(kernel-modules): always include nvmem driver on + nvmem_on_arm + +These drivers are needed to boot on some SoCs like NXP i.MX +We should include them so installation images will work. + +(cherry picked from commit bc965cd8890013a6362733d217c18756134bbcdf) + +Resolves: #2109498 +--- + 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 e2073a04..191af041 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -85,6 +85,7 @@ installkernel() { + "=drivers/mfd" \ + "=drivers/mmc/core" \ + "=drivers/mmc/host" \ ++ "=drivers/nvmem" \ + "=drivers/phy" \ + "=drivers/power" \ + "=drivers/regulator" \ + diff --git a/SOURCES/0011.patch b/SOURCES/0011.patch new file mode 100644 index 0000000..1f329a1 --- /dev/null +++ b/SOURCES/0011.patch @@ -0,0 +1,32 @@ +From 58a310fdbfc1a7e07703c6ab9b21c43a73330a92 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Mon, 15 Aug 2022 16:32:51 +0200 +Subject: [PATCH] fix(drm): add video drivers needed on hyper-v and similar + +Due to non-availability of Hyper-V video driver hyperv_drm in kdump +initramfs, the console seems to be in hang state with no text over it. + +We should also go through the /sys/bus/vmbus/devices and include drivers +referenced there. + +(cherry picked from commit 85149b85961aa535a3c61d492cd3594794e5cc3f) + +Resolves: #2099502 +--- + 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 cff0550c..1fb38677 100755 +--- a/modules.d/50drm/module-setup.sh ++++ b/modules.d/50drm/module-setup.sh +@@ -31,7 +31,7 @@ installkernel() { + if [[ $hostonly ]]; then + local i modlink modname + +- for i in /sys/bus/{pci/devices,platform/devices,virtio/devices,soc/devices/soc?}/*/modalias; do ++ for i in /sys/bus/{pci/devices,platform/devices,virtio/devices,soc/devices/soc?,vmbus/devices}/*/modalias; do + [[ -e $i ]] || continue + [[ -n $(< "$i") ]] || continue + # shellcheck disable=SC2046 + diff --git a/SOURCES/0012.patch b/SOURCES/0012.patch new file mode 100644 index 0000000..0956f95 --- /dev/null +++ b/SOURCES/0012.patch @@ -0,0 +1,51 @@ +From a84df47afae75a0b4068c78d8201a515a841f353 Mon Sep 17 00:00:00 2001 +From: David Tardon +Date: Tue, 16 Aug 2022 13:30:16 +0200 +Subject: [PATCH] fix(skipcpio): ignore broken pipe + +If lsinitrd is called from a context in which SIGPIPE is ignored (e.g., +from a systemd unit with default setting of IgnoreSIGPIPE=), the +following line will result in an error being issued: + +bin="$($SKIP "$image" | { read -r -N 6 bin && echo "$bin"; })" + +An example error from `kdumpctl start` (which internally just calls +`systemctl start kdump.service`): + +kdumpctl[1287]: ERROR: src/skipcpio/skipcpio.c:191:main(): fwrite + +A minimal reproducer: + +systemd-run -t sh -c '/path/to/skipcpio /path/to/any/file | false' + +(cherry-picked from e9a4d73b73b716a9d2d5f01ceb7b427ef544ed9b) + +Resolves: #2109803 +--- + src/skipcpio/skipcpio.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/skipcpio/skipcpio.c b/src/skipcpio/skipcpio.c +index 13bfaf53..f66c1869 100644 +--- a/src/skipcpio/skipcpio.c ++++ b/src/skipcpio/skipcpio.c +@@ -23,6 +23,7 @@ + #define _GNU_SOURCE + #endif + ++#include + #include + #include + #include +@@ -187,8 +188,10 @@ cat_rest: + goto end; + } + ++ errno = 0; + if (fwrite(buf.copy_buffer, 1, s, stdout) != s) { +- pr_err("fwrite\n"); ++ if (errno != EPIPE) ++ pr_err("fwrite\n"); + goto end; + } + } diff --git a/SOURCES/0013.patch b/SOURCES/0013.patch new file mode 100644 index 0000000..5aaff3b --- /dev/null +++ b/SOURCES/0013.patch @@ -0,0 +1,29 @@ +From bdd3fa585fcfa21f20d66f01568967c0d7a771d6 Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Tue, 16 Aug 2022 15:21:05 +0200 +Subject: [PATCH] ci: pull request template + +rhel-only +--- + .github/pull_request_template.md | 11 +++-------- + 1 file changed, 3 insertions(+), 8 deletions(-) + +diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md +index ef281c3d..8fcf4d33 100644 +--- a/.github/pull_request_template.md ++++ b/.github/pull_request_template.md +@@ -1,10 +1,5 @@ +-This pull request changes... ++ + +-## Changes ++(cherry picked from commit ... ) + +-## Checklist +-- [ ] I have tested it locally +-- [ ] I have reviewed and updated any documentation if relevant +-- [ ] I am providing new code and test(s) for it +- +-Fixes # ++Resolves: # + diff --git a/SOURCES/0014.patch b/SOURCES/0014.patch new file mode 100644 index 0000000..611319d --- /dev/null +++ b/SOURCES/0014.patch @@ -0,0 +1,42 @@ +From f93ac80a0b3e9017bf2c374b72126908a7f5cbde Mon Sep 17 00:00:00 2001 +From: David Tardon +Date: Mon, 8 Aug 2022 13:42:51 +0200 +Subject: [PATCH] refactor(url-lib): write curl output directly to file + +The redirection to stdout was originally added to workaround +https://bugzilla.redhat.com/show_bug.cgi?id=989133 (curl would create no +file if the source was empty), but I don't see that problem with current +curl. + +A nice side-effect of this change is that curl shows download progress. + +(cherry picked from commit 1343d21d8c0d1f7239e27165e9c7633b504f777f) + +Resolves: #2112475 +--- + modules.d/45url-lib/url-lib.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules.d/45url-lib/url-lib.sh b/modules.d/45url-lib/url-lib.sh +index e88fbc14..b009fd09 100755 +--- a/modules.d/45url-lib/url-lib.sh ++++ b/modules.d/45url-lib/url-lib.sh +@@ -67,7 +67,7 @@ curl_fetch_url() { + echo "$url" > /proc/self/fd/0 + if [ -n "$outloc" ]; then + # shellcheck disable=SC2086 +- curl $curl_args --output - -- "$url" > "$outloc" || return $? ++ curl $curl_args --output "$outloc" -- "$url" || return $? + else + local outdir + outdir="$(mkuniqdir /tmp curl_fetch_url)" +@@ -101,7 +101,7 @@ ctorrent_fetch_url() { + echo "$url" > /proc/self/fd/0 + if [ -n "$outloc" ]; then + # shellcheck disable=SC2086 +- curl $curl_args --output - -- "$url" > "$torrent_outloc" || return $? ++ curl $curl_args --output "$torrent_outloc" -- "$url" || return $? + else + local outdir + outdir="$(mkuniqdir /tmp torrent_fetch_url)" + diff --git a/SOURCES/0015.patch b/SOURCES/0015.patch new file mode 100644 index 0000000..d150853 --- /dev/null +++ b/SOURCES/0015.patch @@ -0,0 +1,45 @@ +From f5ef6694eae2696b10b4f6e5a0d72a29223651ce Mon Sep 17 00:00:00 2001 +From: Kairui Song +Date: Tue, 20 Sep 2022 02:13:01 +0800 +Subject: [PATCH] fix(dracut-initramfs-restore.sh): initramfs detection not + working + +The path detection is not working on latest Fedora and some other +distros, and it fails to extract the initramfs. It seems the if +statement is broken by a previous commit, so let's fix it. + +Fixes: 3d8e1ad ('fix(dracut-initramfs-restore.sh): add missing default paths') +Signed-off-by: Kairui Song +(cherry picked from commit 481b87fa7a82be54663071ad9ad76c34e378ddc7) + +Resolves: #2149232 +--- + dracut-initramfs-restore.sh | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh +index 68ea3873..df6cb9a8 100644 +--- a/dracut-initramfs-restore.sh ++++ b/dracut-initramfs-restore.sh +@@ -27,14 +27,14 @@ fi + + mount -o ro /boot &> /dev/null || true + +-if [[ -d /efi/loader/entries ]] || [[ -L /efi/loader/entries ]] \ +- || [[ -d /efi/$MACHINE_ID ]] || [[ -L /efi/$MACHINE_ID ]]; then ++if [[ -d /efi/loader/entries || -L /efi/loader/entries ]] \ ++ && [[ -d /efi/$MACHINE_ID || -L /efi/$MACHINE_ID ]]; then + IMG="/efi/${MACHINE_ID}/${KERNEL_VERSION}/initrd" +-elif [[ -d /boot/loader/entries ]] || [[ -L /boot/loader/entries ]] \ +- || [[ -d /boot/$MACHINE_ID ]] || [[ -L /boot/$MACHINE_ID ]]; then ++elif [[ -d /boot/loader/entries || -L /boot/loader/entries ]] \ ++ && [[ -d /boot/$MACHINE_ID || -L /boot/$MACHINE_ID ]]; then + IMG="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd" +-elif [[ -d /boot/efi/loader/entries ]] || [[ -L /boot/efi/loader/entries ]] \ +- || [[ -d /boot/efi/$MACHINE_ID ]] || [[ -L /boot/efi/$MACHINE_ID ]]; then ++elif [[ -d /boot/efi/loader/entries || -L /boot/efi/loader/entries ]] \ ++ && [[ -d /boot/efi/$MACHINE_ID || -L /boot/efi/$MACHINE_ID ]]; then + IMG="/boot/efi/$MACHINE_ID/$KERNEL_VERSION/initrd" + elif [[ -f /lib/modules/${KERNEL_VERSION}/initrd ]]; then + IMG="/lib/modules/${KERNEL_VERSION}/initrd" + diff --git a/SOURCES/0016.patch b/SOURCES/0016.patch new file mode 100644 index 0000000..65e1239 --- /dev/null +++ b/SOURCES/0016.patch @@ -0,0 +1,31 @@ +From 6a1d39e50d9f8a7f3765fa6cb85b34e6597d864d Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Tue, 6 Dec 2022 21:46:01 +0100 +Subject: [PATCH] fix(90kernel-modules): install blk modules using symbol + blk_alloc_disk + +Corresponding kernel symbol blk_cleanup_disk is no longer used in the nvdimm +driver and calls are made directly instead. + +blk_alloc_disk is used: +https://elixir.bootlin.com/linux/v6.1-rc8/source/drivers/nvdimm/pmem.c#L522 + +Resolves: #2149781 +--- + 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 191af041..0b9488c3 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -2,7 +2,7 @@ + + # called by dracut + installkernel() { +- local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host|scsi_add_host_with_dma|blk_mq_alloc_disk|blk_cleanup_disk' ++ local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host|scsi_add_host_with_dma|blk_alloc_disk|blk_mq_alloc_disk|blk_cleanup_disk' + local -A _hostonly_drvs + + find_kernel_modules_external() { + diff --git a/SOURCES/0017.patch b/SOURCES/0017.patch new file mode 100644 index 0000000..6b6396b --- /dev/null +++ b/SOURCES/0017.patch @@ -0,0 +1,99 @@ +From 8ab3020205ea92cbef3ca250c924d9b500c5d9aa Mon Sep 17 00:00:00 2001 +From: Hari Bathini +Date: Tue, 12 Jul 2022 13:55:47 +0530 +Subject: [PATCH] fix(squash): build ld cache for squash loader + +Commit dc21638c3f0a fixes kdump kernel crash, due to non-conventional +library path in powerpc, by copying /etc/ld.so.cache under initdir. +While that works in general, it is vulnerable to failure because of +missing links, when the CPU is reconfigured to run in compatibility +mode of older CPU version. Avoid this by running ldconfig for squash +loader to create the necessary links & ld cache for it. Doing this +also saves a few kilobyes of space as the copied ld cache is bigger +in size than the one needed for squash loader environment. + +Fixes: dc21638c3f0a ("fix(squash): keep ld cache under initdir") +Cc: Pingfan Liu +Signed-off-by: Hari Bathini + +Resolves: rhbz#2122274 +--- + dracut-init.sh | 14 ++++++++++++++ + dracut.sh | 11 +---------- + modules.d/99squash/module-setup.sh | 8 +++----- + 3 files changed, 18 insertions(+), 15 deletions(-) + +diff --git a/dracut-init.sh b/dracut-init.sh +index 900e8b83..fe1b1426 100644 +--- a/dracut-init.sh ++++ b/dracut-init.sh +@@ -504,6 +504,20 @@ inst_rules_wildcard() { + [[ $_found ]] || dinfo "Skipping udev rule: $_rule" + } + ++# make sure that library links are correct and up to date ++build_ld_cache() { ++ 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 ++} ++ + prepare_udev_rules() { + if [ -z "$UDEVVERSION" ]; then + UDEVVERSION=$(udevadm --version) +diff --git a/dracut.sh b/dracut.sh +index 210a8275..d2f07ac6 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -2360,16 +2360,7 @@ 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 ++ build_ld_cache + fi + + if dracut_module_included "squash"; then +diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh +index c42eb679..f31ff556 100644 +--- a/modules.d/99squash/module-setup.sh ++++ b/modules.d/99squash/module-setup.sh +@@ -28,11 +28,6 @@ installpost() { + [[ $squash_dir == "$i"/* ]] || mv "$i" "$squash_dir"/ + done + +- # initdir also needs ld.so.* to make ld.so work +- inst /etc/ld.so.cache +- inst /etc/ld.so.conf +- inst_dir /etc/ld.so.conf.d +- + # Create mount points for squash loader + mkdir -p "$initdir"/squash/ + mkdir -p "$squash_dir"/squash/ +@@ -67,6 +62,9 @@ installpost() { + ln_r /usr/bin /bin + ln_r /usr/sbin /sbin + inst_simple "$moddir"/init-squash.sh /init ++ ++ # make sure that library links are correct and up to date for squash loader ++ build_ld_cache + } + + install() { + diff --git a/SOURCES/0018.patch b/SOURCES/0018.patch new file mode 100644 index 0000000..ab9a873 --- /dev/null +++ b/SOURCES/0018.patch @@ -0,0 +1,59 @@ +From 37e73a30c5b75a57de9e2bb6843eb9a1dab12abf Mon Sep 17 00:00:00 2001 +From: Laszlo Gombos +Date: Sun, 14 Aug 2022 22:46:10 +0000 +Subject: [PATCH] test(16-DMSQUASH): make it pass on arch + +Include additional kernel drivers and install squashfs-tools +into the arch container. + +(cherry picked from commit b8ffc87d13989f95c8f48ec64613dd9138835618) + +Related: #2135060 +--- + test/TEST-16-DMSQUASH/test.sh | 4 +++- + test/container/Dockerfile-Arch | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh +index cf433489..52029375 100755 +--- a/test/TEST-16-DMSQUASH/test.sh ++++ b/test/TEST-16-DMSQUASH/test.sh +@@ -6,7 +6,7 @@ TEST_DESCRIPTION="live root on a squash filesystem" + KVERSION="${KVERSION-$(uname -r)}" + + # Uncomment this to debug failures +-# DEBUGFAIL="rd.shell rd.debug loglevel=7" ++#DEBUGFAIL="rd.shell rd.debug loglevel=7" + + test_run() { + dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 +@@ -72,6 +72,7 @@ test_setup() { + # devices, volume groups, encrypted partitions, etc. + "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \ + --modules "rootfs-block qemu" \ ++ --drivers "ext4 sd_mod" \ + --no-hostonly --no-hostonly-cmdline --no-early-microcode --nofscks --nomdadmconf --nohardlink --nostrip \ + --force "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 + rm -rf -- "$TESTDIR"/overlay +@@ -109,6 +110,7 @@ test_setup() { + "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \ + --modules "dmsquash-live qemu" \ + --omit "rngd" \ ++ --drivers "ext4 sd_mod" \ + --no-hostonly --no-hostonly-cmdline \ + --force "$TESTDIR"/initramfs.testing "$KVERSION" || return 1 + +diff --git a/test/container/Dockerfile-Arch b/test/container/Dockerfile-Arch +index 922b8ede..ac1513a1 100644 +--- a/test/container/Dockerfile-Arch ++++ b/test/container/Dockerfile-Arch +@@ -9,7 +9,7 @@ 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 + diff --git a/SOURCES/0019.patch b/SOURCES/0019.patch new file mode 100644 index 0000000..acd4e7f --- /dev/null +++ b/SOURCES/0019.patch @@ -0,0 +1,425 @@ +From 8aa62b8cb28a41d4739633aee9b02e40dc4a75d0 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 + +Adapt to test properly with the CentOS Stream 9 container too. + +(cherry picked from commit a3c67d27e75223bb45df19f850d246ced9a09938) + +Co-authored-by: Neal Gompa + +Resolves: #2135060 +--- + .github/workflows/integration.yml | 1 + + man/dracut.cmdline.7.asc | 4 + + .../create-overlay-genrules.sh | 10 ++ + .../90dmsquash-live-autooverlay/create-overlay.sh | 119 +++++++++++++++++++++ + .../90dmsquash-live-autooverlay/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 | 2 +- + test/container/Dockerfile-CentOS-9-Stream | 2 + + test/container/Dockerfile-Debian | 1 + + test/container/Dockerfile-Fedora-latest | 1 + + test/container/Dockerfile-OpenSuse-latest | 2 +- + 14 files changed, 218 insertions(+), 8 deletions(-) + +diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml +index 40da300c..c22bf916 100644 +--- a/.github/workflows/integration.yml ++++ b/.github/workflows/integration.yml +@@ -98,6 +98,7 @@ jobs: + "11", + "12", + "13", ++ "16", + "17", + "20", + "21", +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 38de47b4..e148bbf7 100644 +--- a/pkgbuild/dracut.spec ++++ b/pkgbuild/dracut.spec +@@ -138,7 +138,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 +@@ -461,6 +461,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 52029375..58d73b0d 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" +@@ -115,6 +137,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 ac1513a1..4112cc5b 100644 +--- a/test/container/Dockerfile-Arch ++++ b/test/container/Dockerfile-Arch +@@ -12,7 +12,7 @@ RUN pacman --noconfirm -Sy \ + 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-CentOS-9-Stream b/test/container/Dockerfile-CentOS-9-Stream +index c9a96020..abcc067e 100644 +--- a/test/container/Dockerfile-CentOS-9-Stream ++++ b/test/container/Dockerfile-CentOS-9-Stream +@@ -33,8 +33,10 @@ RUN dnf -y install --enablerepo crb --setopt=install_weak_deps=False \ + make \ + mdadm \ + nfs-utils \ ++ parted \ + pigz \ + rpm-build \ ++ squashfs-tools \ + strace \ + sudo \ + tar \ +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 \ diff --git a/SOURCES/0020.patch b/SOURCES/0020.patch new file mode 100644 index 0000000..2043a54 --- /dev/null +++ b/SOURCES/0020.patch @@ -0,0 +1,39 @@ +From 3e912f878de8d310bd06199e03602c63d2b60dba Mon Sep 17 00:00:00 2001 +From: Radek Vykydal +Date: Tue, 20 Dec 2022 16:40:23 +0100 +Subject: [PATCH] fix(network-manager): allow running nm-run.sh multiple times + +This partially reverts +https://github.com/redhat-plumbers/dracut-rhel9/commit/77630365aed201a729c73a9ffda0733a75f3fee4 + +Anaconda needs to be able to run nm-run.sh to trigger online hooks again +after kickstart is fetched from storage and network is configured +accordingly. + +rhel-only +Resolves: rhbz#2157082 +--- + modules.d/35network-manager/nm-run.sh | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh +index 7d8d61fa..6110733d 100755 +--- a/modules.d/35network-manager/nm-run.sh ++++ b/modules.d/35network-manager/nm-run.sh +@@ -2,11 +2,12 @@ + + type source_hook > /dev/null 2>&1 || . /lib/dracut-lib.sh + +-if [ -e /tmp/nm.done ]; then +- return +-fi +- + if [ -z "$DRACUT_SYSTEMD" ]; then ++ ++ if [ -e /tmp/nm.done ]; then ++ return ++ fi ++ + # Only start NM if networking is needed + if [ -e /run/NetworkManager/initrd/neednet ]; then + for i in /usr/lib/NetworkManager/system-connections/* \ diff --git a/SOURCES/lgpl-2.1.txt b/SOURCES/lgpl-2.1.txt new file mode 100644 index 0000000..4362b49 --- /dev/null +++ b/SOURCES/lgpl-2.1.txt @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/SPECS/dracut.spec b/SPECS/dracut.spec new file mode 100644 index 0000000..250339e --- /dev/null +++ b/SPECS/dracut.spec @@ -0,0 +1,1953 @@ +%define dracutlibdir %{_prefix}/lib/dracut +%bcond_without doc + +# We ship a .pc file but don't want to have a dep on pkg-config. We +# strip the automatically generated dep here and instead co-own the +# directory. +%global __requires_exclude pkg-config +%define dist_free_release 21.git20230214 + +Name: dracut +Version: 057 +Release: %{dist_free_release}%{?dist} + +Summary: Initramfs generator using udev +%if 0%{?fedora} || 0%{?rhel} +Group: System Environment/Base +%endif +%if 0%{?suse_version} +Group: System/Base +%endif + +# The entire source code is GPLv2+ +# except install/* which is LGPLv2+ +# except util/* which is GPLv2 +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 +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 + +Source1: https://www.gnu.org/licenses/lgpl-2.1.txt + +BuildRequires: bash +BuildRequires: git-core +BuildRequires: pkgconfig(libkmod) >= 23 +BuildRequires: gcc + +%if 0%{?fedora} || 0%{?rhel} +BuildRequires: pkgconfig +BuildRequires: systemd +%endif +%if 0%{?fedora} +BuildRequires: bash-completion +%endif + +%if %{with doc} +%if 0%{?fedora} || 0%{?rhel} +BuildRequires: docbook-style-xsl docbook-dtds libxslt +%endif + +%if 0%{?suse_version} +BuildRequires: docbook-xsl-stylesheets libxslt +%endif + +BuildRequires: asciidoc +%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 +Requires: filesystem >= 2.1.0 +Requires: findutils +Requires: grep +Requires: kmod +Requires: sed +Requires: xz +Requires: gzip +Requires: hardlink +Requires: pigz +Requires: kpartx + +%if 0%{?fedora} || 0%{?rhel} +Suggests: memstrack +Requires: util-linux >= 2.21 +Requires: systemd >= 219 +Requires: systemd-udev >= 219 +Requires: procps-ng +%else +Requires: udev > 166 +Requires: util-linux-ng >= 2.21 +%endif + +%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} +Requires: libkcapi-hmaccalc +%endif + +%description +dracut contains tools to create bootable initramfses for the Linux +kernel. Unlike other 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 +%if 0%{?_module_build} +# In the module-build-service, we have pieces of dracut provided by different +# modules ("base-runtime" provides most functionality, but we need +# dracut-network in "installer". Since these two modules build with separate +# dist-tags, we need to reduce this strict requirement to ignore the dist-tag. +Requires: %{name} >= %{version}-%{dist_free_release} +%else +Requires: %{name} = %{version}-%{release} +%endif +Requires: iputils +Requires: iproute +Requires: (NetworkManager >= 1.20 or dhclient) +Suggests: NetworkManager +Obsoletes: dracut-generic < 008 +Provides: dracut-generic = %{version}-%{release} + +%description network +This package requires everything which is needed to build a generic +all purpose initramfs with network support with dracut. + +%package caps +Summary: dracut modules to build a dracut initramfs which drops capabilities +Requires: %{name} = %{version}-%{release} +Requires: libcap + +%description caps +This package requires everything which is needed to build an +initramfs with dracut, which drops capabilities. + +%package live +Summary: dracut modules to build a dracut initramfs with live image capabilities +%if 0%{?_module_build} +# See the network subpackage comment. +Requires: %{name} >= %{version}-%{dist_free_release} +%else +Requires: %{name} = %{version}-%{release} +%endif +Requires: %{name}-network = %{version}-%{release} +Requires: tar gzip coreutils bash device-mapper curl parted +%if 0%{?fedora} +Requires: fuse ntfs-3g +%endif + +%description live +This package requires everything which is needed to build an +initramfs with dracut, with live image capabilities, like Live CDs. + +%package config-generic +Summary: dracut configuration to turn off hostonly image generation +Requires: %{name} = %{version}-%{release} +Obsoletes: dracut-nohostonly < 030 +Provides: dracut-nohostonly = %{version}-%{release} + +%description config-generic +This package provides the configuration to turn off the host specific initramfs +generation with dracut and generates a generic image by default. + +%package config-rescue +Summary: dracut configuration to turn on rescue image generation +Requires: %{name} = %{version}-%{release} +Obsoletes: dracut < 030 + +%description config-rescue +This package provides the configuration to turn on the rescue initramfs +generation with dracut. + +%package tools +Summary: dracut tools to build the local initramfs +Requires: %{name} = %{version}-%{release} + +%description tools +This package contains tools to assemble the local initrd and host configuration. + +%package squash +Summary: dracut module to build an initramfs with most files in a squashfs image +Requires: %{name} = %{version}-%{release} +Requires: squashfs-tools + +%description squash +This package provides a dracut module to build an initramfs, but store most files +in a squashfs image, result in a smaller initramfs size and reduce runtime memory +usage. + +%prep +%autosetup -n %{name}-%{version} -S git_am +cp %{SOURCE1} . + +%build +%configure --systemdsystemunitdir=%{_unitdir} \ + --bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) \ + --libdir=%{_prefix}/lib \ +%if %{without doc} + --disable-documentation \ +%endif + ${NULL} + +%make_build + +%install +%make_install %{?_smp_mflags} \ + libdir=%{_prefix}/lib + +echo "DRACUT_VERSION=%{version}-%{release}" > $RPM_BUILD_ROOT/%{dracutlibdir}/dracut-version.sh + +%if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} == 0 +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips +%endif + +# we do not support dash in the initramfs +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00dash + +# we do not support mksh in the initramfs +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00mksh + +%if %{defined _unitdir} +# with systemd IMA and selinux modules do not make sense +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/96securityfs +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity +%endif + +%ifnarch s390 s390x +# remove architecture specific modules +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl +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 +%else +rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock +%endif + +mkdir -p $RPM_BUILD_ROOT/boot/dracut +mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log +touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log +mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs + +%if 0%{?fedora} || 0%{?rhel} +install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/01-dist.conf +%endif +%if 0%{?suse_version} +install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/01-dist.conf +%else +rm -f $RPM_BUILD_ROOT%{_mandir}/man?/*suse* +%endif + +%if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} <= 9999 +rm -f -- $RPM_BUILD_ROOT%{_bindir}/lsinitrd +rm -f -- $RPM_BUILD_ROOT%{_mandir}/man1/lsinitrd.1* +%endif + +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 + +%files +%if %{with doc} +%doc README.md docs/HACKING.md AUTHORS NEWS.md dracut.html docs/dracut.png docs/dracut.svg +%endif +%{!?_licensedir:%global license %%doc} +%license COPYING lgpl-2.1.txt +%{_bindir}/dracut +%{_datadir}/bash-completion/completions/dracut +%{_datadir}/bash-completion/completions/lsinitrd +%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} > 9999 +%{_bindir}/lsinitrd +%endif +%dir %{dracutlibdir} +%dir %{dracutlibdir}/modules.d +%{dracutlibdir}/dracut-functions.sh +%{dracutlibdir}/dracut-init.sh +%{dracutlibdir}/dracut-functions +%{dracutlibdir}/dracut-version.sh +%{dracutlibdir}/dracut-logger.sh +%{dracutlibdir}/dracut-initramfs-restore +%{dracutlibdir}/dracut-install +%{dracutlibdir}/dracut-util +%{dracutlibdir}/skipcpio +%config(noreplace) %{_sysconfdir}/dracut.conf +%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} +%{dracutlibdir}/dracut.conf.d/01-dist.conf +%endif +%dir %{_sysconfdir}/dracut.conf.d +%dir %{dracutlibdir}/dracut.conf.d +%dir %{_datadir}/pkgconfig +%{_datadir}/pkgconfig/dracut.pc + +%if %{with doc} +%{_mandir}/man8/dracut.8* +%{_mandir}/man8/*service.8* +%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} > 9999 +%{_mandir}/man1/lsinitrd.1* +%endif +%{_mandir}/man7/dracut.kernel.7* +%{_mandir}/man7/dracut.cmdline.7* +%{_mandir}/man7/dracut.modules.7* +%{_mandir}/man7/dracut.bootup.7* +%{_mandir}/man5/dracut.conf.5* +%endif + +%if %{undefined _unitdir} +%endif +%{dracutlibdir}/modules.d/00bash +%{dracutlibdir}/modules.d/00systemd +%{dracutlibdir}/modules.d/00systemd-network-management +%ifnarch s390 s390x +%{dracutlibdir}/modules.d/00warpclock +%endif +%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} +%{dracutlibdir}/modules.d/01fips +%endif +%{dracutlibdir}/modules.d/01systemd-ac-power +%{dracutlibdir}/modules.d/01systemd-ask-password +%{dracutlibdir}/modules.d/01systemd-coredump +%{dracutlibdir}/modules.d/01systemd-hostnamed +%{dracutlibdir}/modules.d/01systemd-initrd +%{dracutlibdir}/modules.d/01systemd-integritysetup +%{dracutlibdir}/modules.d/01systemd-journald +%{dracutlibdir}/modules.d/01systemd-ldconfig +%{dracutlibdir}/modules.d/01systemd-modules-load +%{dracutlibdir}/modules.d/01systemd-repart +%{dracutlibdir}/modules.d/01systemd-resolved +%{dracutlibdir}/modules.d/01systemd-rfkill +%{dracutlibdir}/modules.d/01systemd-sysext +%{dracutlibdir}/modules.d/01systemd-sysctl +%{dracutlibdir}/modules.d/01systemd-sysusers +%{dracutlibdir}/modules.d/01systemd-timedated +%{dracutlibdir}/modules.d/01systemd-timesyncd +%{dracutlibdir}/modules.d/01systemd-tmpfiles +%{dracutlibdir}/modules.d/01systemd-udevd +%{dracutlibdir}/modules.d/01systemd-veritysetup +%{dracutlibdir}/modules.d/03modsign +%{dracutlibdir}/modules.d/03rescue +%{dracutlibdir}/modules.d/04watchdog +%{dracutlibdir}/modules.d/04watchdog-modules +%{dracutlibdir}/modules.d/05busybox +%{dracutlibdir}/modules.d/06dbus-broker +%{dracutlibdir}/modules.d/06dbus-daemon +%{dracutlibdir}/modules.d/06rngd +%{dracutlibdir}/modules.d/09dbus +%{dracutlibdir}/modules.d/10i18n +%{dracutlibdir}/modules.d/30convertfs +%{dracutlibdir}/modules.d/45url-lib +%{dracutlibdir}/modules.d/50drm +%{dracutlibdir}/modules.d/50plymouth +%{dracutlibdir}/modules.d/62bluetooth +%{dracutlibdir}/modules.d/80lvmmerge +%{dracutlibdir}/modules.d/80lvmthinpool-monitor +%{dracutlibdir}/modules.d/90btrfs +%{dracutlibdir}/modules.d/90crypt +%{dracutlibdir}/modules.d/90dm +%{dracutlibdir}/modules.d/90dmraid +%{dracutlibdir}/modules.d/90kernel-modules +%{dracutlibdir}/modules.d/90kernel-modules-extra +%{dracutlibdir}/modules.d/90lvm +%{dracutlibdir}/modules.d/90mdraid +%{dracutlibdir}/modules.d/90multipath +%{dracutlibdir}/modules.d/90nvdimm +%{dracutlibdir}/modules.d/90ppcmac +%{dracutlibdir}/modules.d/90qemu +%{dracutlibdir}/modules.d/91crypt-gpg +%{dracutlibdir}/modules.d/91crypt-loop +%{dracutlibdir}/modules.d/91fido2 +%{dracutlibdir}/modules.d/91pcsc +%{dracutlibdir}/modules.d/91pkcs11 +%{dracutlibdir}/modules.d/91tpm2-tss +%{dracutlibdir}/modules.d/95debug +%{dracutlibdir}/modules.d/95fstab-sys +%{dracutlibdir}/modules.d/95lunmask +%{dracutlibdir}/modules.d/95nvmf +%{dracutlibdir}/modules.d/95resume +%{dracutlibdir}/modules.d/95rootfs-block +%{dracutlibdir}/modules.d/95terminfo +%{dracutlibdir}/modules.d/95udev-rules +%{dracutlibdir}/modules.d/95virtfs +%{dracutlibdir}/modules.d/95virtiofs +%ifarch s390 s390x +%{dracutlibdir}/modules.d/80cms +%{dracutlibdir}/modules.d/81cio_ignore +%{dracutlibdir}/modules.d/91zipl +%{dracutlibdir}/modules.d/95dasd +%{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 +%if %{undefined _unitdir} +%{dracutlibdir}/modules.d/96securityfs +%{dracutlibdir}/modules.d/97masterkey +%{dracutlibdir}/modules.d/98integrity +%endif +%{dracutlibdir}/modules.d/97biosdevname +%{dracutlibdir}/modules.d/98dracut-systemd +%{dracutlibdir}/modules.d/98ecryptfs +%{dracutlibdir}/modules.d/98pollcdrom +%{dracutlibdir}/modules.d/98selinux +%{dracutlibdir}/modules.d/98syslog +%{dracutlibdir}/modules.d/98usrmount +%{dracutlibdir}/modules.d/99base +%{dracutlibdir}/modules.d/99memstrack +%{dracutlibdir}/modules.d/99fs-lib +%{dracutlibdir}/modules.d/99shutdown +%attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log +%dir %{_sharedstatedir}/initramfs +%if %{defined _unitdir} +%{_unitdir}/dracut-shutdown.service +%{_unitdir}/dracut-shutdown-onfailure.service +%{_unitdir}/sysinit.target.wants/dracut-shutdown.service +%{_unitdir}/dracut-cmdline.service +%{_unitdir}/dracut-initqueue.service +%{_unitdir}/dracut-mount.service +%{_unitdir}/dracut-pre-mount.service +%{_unitdir}/dracut-pre-pivot.service +%{_unitdir}/dracut-pre-trigger.service +%{_unitdir}/dracut-pre-udev.service +%{_unitdir}/initrd.target.wants/dracut-cmdline.service +%{_unitdir}/initrd.target.wants/dracut-initqueue.service +%{_unitdir}/initrd.target.wants/dracut-mount.service +%{_unitdir}/initrd.target.wants/dracut-pre-mount.service +%{_unitdir}/initrd.target.wants/dracut-pre-pivot.service +%{_unitdir}/initrd.target.wants/dracut-pre-trigger.service +%{_unitdir}/initrd.target.wants/dracut-pre-udev.service +%endif +%{_prefix}/lib/kernel/install.d/50-dracut.install + +%files network +%{dracutlibdir}/modules.d/01systemd-networkd +%{dracutlibdir}/modules.d/35connman +%{dracutlibdir}/modules.d/35network-manager +%{dracutlibdir}/modules.d/35network-legacy +%{dracutlibdir}/modules.d/35network-wicked +%{dracutlibdir}/modules.d/40network +%{dracutlibdir}/modules.d/45ifcfg +%{dracutlibdir}/modules.d/90kernel-network-modules +%{dracutlibdir}/modules.d/90qemu-net +%{dracutlibdir}/modules.d/95cifs +%{dracutlibdir}/modules.d/95fcoe +%{dracutlibdir}/modules.d/95fcoe-uefi +%{dracutlibdir}/modules.d/95iscsi +%{dracutlibdir}/modules.d/95nbd +%{dracutlibdir}/modules.d/95nfs +%{dracutlibdir}/modules.d/95ssh-client +%ifarch s390 s390x +%{dracutlibdir}/modules.d/95znet +%endif +%{dracutlibdir}/modules.d/99uefi-lib + +%files caps +%{dracutlibdir}/modules.d/02caps + +%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 + +%files tools +%if %{with doc} +%doc %{_mandir}/man8/dracut-catimages.8* +%endif + +%{_bindir}/dracut-catimages +%dir /boot/dracut +%dir /var/lib/dracut +%dir /var/lib/dracut/overlay + +%files squash +%{dracutlibdir}/modules.d/99squash + +%files config-generic +%{dracutlibdir}/dracut.conf.d/02-generic-image.conf + +%files config-rescue +%{dracutlibdir}/dracut.conf.d/02-rescue.conf +%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install + +%changelog +* Fri Apr 14 2023 MSVSphere Packaging Team - 057-21.git20230214 +- Rebuilt for MSVSphere 9.2 beta + +* Tue Feb 14 2023 Pavel Valena - 057-21.git20230214 +- fix(network-manager): allow running nm-run.sh multiple times + +* Tue Dec 13 2022 Pavel Valena - 057-20.git20221213 +- refactor(url-lib): write curl output directly to file +- fix(dracut-initramfs-restore.sh): initramfs detection not +- fix(90kernel-modules): install blk modules using symbol +- fix(squash): build ld cache for squash loader +- test(16-DMSQUASH): make it pass on arch +- feat(dmsquash-live): add new dmsquash-live-autooverlay module + +* Tue Aug 16 2022 Pavel Valena - 057-13.git20220816 +- fix(kernel-modules): always include nvmem driver on +- fix(drm): add video drivers needed on hyper-v and similar +- fix(skipcpio): ignore broken pipe + +* Thu Jul 21 2022 Pavel Valena - 057-10.git20220721 +- fix(dracut.sh): do not fail on irregular files +- fix(98dracut-systemd): partly revert "emergency mode: use + +* Mon Jul 18 2022 Pavel Valena - 057-6.git20220718 +- Upgrade to Dracut version 057 + +* Wed Feb 16 2022 Pavel Valena - 055-30.git20220216 +- fix(shutdown): be robust against forced shutdown +- 95resume: only exclude this module, when swap is netdev +- fix(qeth_rules): check the existence of +- fix(fips): handle s390x OSTree systems +- fix(network): add errors and warnings when network interface +- fix(url-lib): make pre-pivot hook separetely per +- fix(dracut-shutdown): add cleanup handler on failure +- fix(multipath): get config. dir from configuration +- Do not use recommends for base packages +- 95nfs: set correct ownership and permissions for statd + +* Tue Aug 24 2021 Lukas Nykryn - 055-10.git20210824 +- 95resume: always install this module + +* Thu Aug 12 2021 Lukas Nykryn - 055-9.git20210812 +- fix(kernel-modules): add blk_mq_alloc_disk and +- fix(network-manager): check for nm-initrd-generator in both +- fix(cms): reload NetworkManager connections + +* Mon Aug 09 2021 Mohan Boddu - 055-6.git20210709.1 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Jul 09 2021 Lukas Nykryn - 055-6.git20210709 +- fix(network-manager): don't pull in systemd-udev-settle +- fix(dracut.sh): handle '-i' option to include files beginning with '.' +- fix(dracut.sh): handle symlinks appropriately while using '-i' option +- fix(squash): create relative symlinks +- feat(squash): install umount util + +* Tue Jun 01 2021 Lukas Nykryn - 055-1.1 +- rebase + +* Thu Apr 15 2021 Mohan Boddu - 053-1.1 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Feb 23 2021 Harald Hoyer - 053-1 +- version 053 + +* Tue Jan 26 2021 Fedora Release Engineering - 051-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 15 2020 Harald Hoyer - 051-1 +- version 051 + +* Tue Oct 06 2020 Harald Hoyer - 050-167.git20201006 +- git snapshot + +* Fri Oct 02 2020 Harald Hoyer - 050-157.git20201002 +- git snapshot + +* Tue Sep 29 2020 Peter Robinson - 050-63.git20200529 +- Fixes for Arm GPUs in early boot + +* Fri Sep 25 2020 Peter Robinson - 050-62.git20200529 +- Fix for Rockchip devices + +* Wed Aug 19 2020 Merlin Mathesius - 050-61.git20200529.3 +- Correct conditionals to drop 51-dracut-rescue-postinst.sh for Fedora and + recent RHEL releases + +* Mon Jul 27 2020 Fedora Release Engineering - 050-61.git20200529.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 13 2020 Tom Stellard - 050-61.git20200529.1 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Fri May 29 2020 Harald Hoyer - 050-61.git20200529 +- git snapshot + +* Mon Mar 16 2020 Harald Hoyer - 050-26.git20200316 +- fixed `--tmpdir` mishandling + +* Fri Mar 13 2020 Harald Hoyer - 050-25.git20200313 +- network-manager: ensure that nm-run.sh is executed for rd.neednet + +* Tue Mar 10 2020 Adam Williamson - 050-2 +- Backport fix for pre-trigger stage early exit from upstream (#1811070) + +* Wed Mar 04 2020 Harald Hoyer - 050-1 +- version 050 + +* Tue Jan 28 2020 Fedora Release Engineering - 049-27.git20181204.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 049-27.git20181204.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jun 12 2019 Adam Williamson - 049-27.git20181204 +- Backport PR #578 to fix RHBZ #1719057 (installer boot bug) + +* Thu Feb 14 2019 Adam Williamson - 049-26.git20181204 +- Backport PR #541 to fix RHBZ #1676357 (crasher bug) + +* Thu Jan 31 2019 Fedora Release Engineering - 049-25.git20181204.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Dec 04 2018 Harald Hoyer - 049-25.git20181204 +- git snapshot + +* Wed Oct 24 2018 Harald Hoyer - 049-11.git20181024 +- git snapshot + +* Wed Oct 10 2018 Harald Hoyer - 049-4.git20181010 +- fixed spec file +- git snapshot + +* Mon Oct 08 2018 Harald Hoyer - 049-1 +- version 049 + +* Fri Sep 21 2018 Harald Hoyer - 048-99.git20180921 +- git snapshot + +* Thu Jul 26 2018 Harald Hoyer - 048-14.git20180726 +- bring back 51-dracut-rescue-postinst.sh + +* Wed Jul 18 2018 Harald Hoyer - 048-6.git20180718 +- git snapshot + +* Thu Jul 12 2018 Fedora Release Engineering - 048-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* 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 + +* Mon Jun 04 2018 Harald Hoyer - 047-34.git20180604 +- git snapshot + +* Tue May 15 2018 Harald Hoyer - 047-32.git20180515 +- git snapshot + +* Mon Mar 05 2018 Harald Hoyer - 047-8 +- git snapshot + +* Tue Feb 27 2018 Javier Martinez Canillas - 047-2 +- Allow generating initramfs images on the /boot directory + +* Mon Feb 19 2018 Harald Hoyer - 047-1 +- version 047 + +* Wed Feb 07 2018 Fedora Release Engineering - 046-92.git20180118.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 18 2018 Harald Hoyer - 046-92 +- git snapshot + +* Fri Jan 05 2018 Harald Hoyer - 046-64 +- git snapshot + +* Fri Dec 01 2017 Harald Hoyer - 046-36 +- git snapshot + +* Wed Nov 29 2017 Harald Hoyer - 046-33 +- git snapshot + +* Thu Oct 12 2017 Peter Robinson 046-20 +- Add fix for some ARM SBCs + +* Tue Oct 10 2017 Harald Hoyer - 046-19 +- git snapshot + +* Thu Aug 24 2017 Harald Hoyer - 046-7 +- git snapshot + +* Fri Aug 11 2017 Harald Hoyer - 046-2 +- add support for dist-tag less build + +* Fri Aug 11 2017 Harald Hoyer - 046-1 +- version 046 + +* Mon Aug 7 2017 Peter Robinson 045-21.git20170515 +- Add upstream patches to fix a number of ARM devices with generic initrd + +* Wed Aug 02 2017 Fedora Release Engineering - 045-20.git20170515 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 045-19.git20170515 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon May 15 2017 Harald Hoyer - 045-18.git20170515 +- git snapshot + +* Wed Apr 12 2017 Peter Robinson 044-178 +- Add upstream patches needed for ARMv7/aarch64 fixes + +* Fri Feb 10 2017 Fedora Release Engineering - 044-177 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Dec 08 2016 Harald Hoyer - 044-176 +- git snapshot + +* Fri Aug 19 2016 Harald Hoyer - 044-117 +- git snapshot + +* Thu Aug 18 2016 Harald Hoyer - 044-109 +- git snapshot + +* Fri Aug 05 2016 Adam Williamson - 044-76 +- backport a single commit to fix RHBZ #1358416 (anaconda network init) + +* Tue Jun 07 2016 Harald Hoyer - 044-75 +- fix for systemd >= 230 +- git snapshot + +* Wed Feb 03 2016 Fedora Release Engineering - 044-18.git20160108 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 8 2016 Harald Hoyer - 044-17.git20160108 +- include more HID driver +- include machine info file +- fix network carrier detection +- fix nbd +- do not copy over lldpad state +- restorecon the final initramfs image + +* Tue Dec 1 2015 Harald Hoyer - 044-6.git20151201 +- fix for readonly /run on shutdown +- fix for the dmsquash-live module +Resolves: rhbz#1286866 + +* Wed Nov 25 2015 Harald Hoyer - 044-4.git20151127 +- fixes for the dmsquash-live module +- remove udev watch for raid members +- mode 0755 for the livenet generator +Resolves: rhbz#1285903 + +* Wed Nov 25 2015 Harald Hoyer - 044-1 +- version 044 + +* Mon Nov 16 2015 Harald Hoyer - 043-174.git20151116 +- git snapshot + +* Mon Nov 16 2015 Harald Hoyer - 043-173.git20151116 +- git snapshot + +* Fri Nov 13 2015 Harald Hoyer - 043-172.git20151113 +- git snapshot + +* Tue Aug 11 2015 Harald Hoyer 043-60.git20150811 +- fixed checkiso timeout +- fixed log output although quiet is set +- fixed qemu detection +- cleanup compressor handling + +* Wed Jul 22 2015 Harald Hoyer 043-40.git20150710.2 +- require "xz" to handle the kernel modules + +* Fri Jul 10 2015 Harald Hoyer 043-40.git20150710 +- git snapshot + +* Wed Jun 17 2015 Fedora Release Engineering - 043-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jun 15 2015 Harald Hoyer 043-1 +- version 043, now with the complete tarball + +* Thu Jun 11 2015 Harald Hoyer 042-1 +- version 042, the answer to life, the universe and everything + +* Thu Feb 19 2015 Harald Hoyer 041-10.git20150219 +- git snapshot + +* Sat Jan 31 2015 Harald Hoyer 041-1 +- version 041 + +* Thu Jan 08 2015 Harald Hoyer 040-83.git20150108 +- git snapshot + +* Fri Dec 19 2014 Harald Hoyer 040-78.git20141219 +- git snapshot + +* Mon Dec 08 2014 Harald Hoyer 040-30.git20141208 +- fixed dracut-shutdown + +* Thu Dec 04 2014 Harald Hoyer 040-29.git20141204 +- git snapshot + +* Tue Sep 30 2014 Zbigniew Jędrzejewski-Szmek - 038-36.git20140815 +- Allow media check to be cancelled (rhbz 1147941) + +* Fri Sep 26 2014 Josh Boyer - 038-35.git20140815 +- Enable early-microcode by default (rhbz 1083716) +- Fix changelog date + +* Tue Aug 19 2014 Harald Hoyer - 038-34.git20140815 +- git snapshot + +* Sat Aug 16 2014 Fedora Release Engineering - 038-31.git20140815 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Aug 15 2014 Harald Hoyer 038-30.git20140815 +- git snapshot + +* Thu Jul 24 2014 Harald Hoyer 038-14.git20140724 +- fixed lvm modules issues +Resolves: rhbz#1118890 +- fixed vlan issues +- fixed prelink for FIPS +- new rd.route parameter +- more ARM modules + +* Fri Jul 11 2014 Tom Callaway - 038-2 +- fix license handling + +* Mon Jun 30 2014 Harald Hoyer 038-1 +- version 038 + +* Sat Jun 28 2014 Zbigniew Jędrzejewski-Szmek - 037-14.git20140628 +- Pull most bugfixy commits from current git +Resolves: rhbz#1112061 + +* Sat Jun 07 2014 Fedora Release Engineering - 037-13.git20140402 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 23 2014 Peter Robinson 037-12.git20140402 +- Fix achi/mmc/sdhci selection for non host based initrd + +* Thu Apr 17 2014 Adam Williamson - 037-11.git20140402 +- revert broken upstream change that causes RHBZ#1084766 + +* Wed Apr 02 2014 Harald Hoyer 037-10.git20140402 +- fixed fstab.sys with systemd +- DHCPv6 fixes +- dm-cache module now included +- FCoE fixes + +* Thu Mar 20 2014 Harald Hoyer 037-3.git20140320 +- fixed dracut-initramfs-restore with microcode + +* Thu Mar 20 2014 Harald Hoyer 037-1 +- version 037 + +* Thu Feb 06 2014 Harald Hoyer 036-16.git20140206 +- version 036 +- parse dns information on "ip=" command line arg +- preserve ownership of files, if root creates the initramfs +- parse ibft nameserver settings +- do not run dhcp twice on an interface +- try to not reload systemd + +* Wed Dec 18 2013 Harald Hoyer 034-74.git20131218 +- do not systemctl daemon-reload +- do iscsistart for iscsi_firmware even without network + +* Mon Dec 16 2013 Harald Hoyer 034-70.git20131216 +- fixed systemd password waiting +- split out fcoe uefi +- fixed lvm thin tools check + +* Thu Dec 05 2013 Harald Hoyer 034-62.git20131205 +- fixed PATH shortener +- also install /etc/system-fips in the initramfs +- nbd, do not fail in hostonly mode +- add ohci-pci to the list of hardcoded modules +- lvm: do not run pvscan for lvmetad +- network fixes +- skip crypt swaps with password files +- fixed i18n + +* Wed Oct 30 2013 Harald Hoyer 034-24.git20131030 +- fixed booting with rd.iscsi.firmware and without root= +- fips: include crct10dif_generic +- fixed missing modules in hostonly, which have no modalias +- moved dracut to /usr/sbin + +* Mon Oct 21 2013 Harald Hoyer 034-19.git20131021 +- Fixed LVM with thin provisioning +Resolves: rhbz#1013767 +Resolves: rhbz#1021083 + +* Fri Oct 18 2013 Harald Hoyer 034-18.git20131018 +- Fixed LVM with thin provisioning +Resolves: rhbz#1013767 +- fixed swap detection in host only mode + +* Fri Oct 11 2013 Kyle McMartin 034-8.git20131008 +- Force mmc_block and usb_storage into ARM initramfs. +Resolves: rhbz#1015234 + +* Tue Oct 08 2013 Harald Hoyer 034-7.git20131008 +- lvm: install thin utils for non-hostonly +- do not bail out, if kernel modules dir is missing +- dmsquash-live: add /dev/mapper/live-base +Resolves: rhbz#1016726 + +* Tue Oct 08 2013 Harald Hoyer 034-1 +- version 034 +- add option to turn on/off prelinking + --prelink, --noprelink + do_prelink=[yes|no] +- add ACPI table overriding +- do not log to syslog/kmsg/journal for UID != 0 +- lvm/mdraid: Fix LVM on MD activation +- bcache module removed (now in bcache-tools upstream) +- mdadm: also install configs from /etc/mdadm.conf.d +- fixes for mdadm-3.2.6+ +- fcoe: add FCoE UEFI boot device support +- rootfs-block: add support for the rootfallback= kernel cmdline option + +* Fri Sep 13 2013 Harald Hoyer 033-3.git20130913 +- do not dhcp members of team, bond, etc. +- harden against weird ppc kernel driver +Resolves: rhbz#1007891 + +* Thu Sep 12 2013 Harald Hoyer 033-1 +- do not cache the kernel cmdline +Resolves: rhbz#989944 +- fixed iso-scan +Resolves: rhbz#1005487 +- support blkid with bcache +Resolves: rhbz#1003207 +- ifup with dhcp, if no ip= params specified +Resolves: rhbz#989944 +- silently try to umount rpc_pipefs +Resolves: rhbz#999996 + +* Wed Sep 04 2013 Harald Hoyer 032-23.git20130904 +- fixed curl error with zero size kickstart file +Resolves: rhbz#989133 +- fixed systemd-cat failure, when systemd is installed + but not actually running +Resolves: rhbz#1002021 +- do not fail on empty dracut module directories +Resolves: rhbz#1003153 + +* Tue Aug 20 2013 Harald Hoyer 032-1 +- fix for kdump in FIPS mode +Resolves: rhbz#920931 +- fixed iBFT booting +Resolves: rhbz#989944 +- fixed FIPS mode initramfs creation +Resolves: rhbz#990250 +- shutdown: fixed killall_proc_mountpoint() +Resolves: rhbz#996549 +- disable lvmetad in the initramfs +Resolves: rhbz#996627 +- require dhclient + +* Mon Aug 12 2013 Harald Hoyer 031-29.git20130812 +- added missing "then" in initqueue + +* Mon Aug 12 2013 Harald Hoyer 031-28.git20130812 +- fixed typo in hostonly device recognition + +* Fri Aug 09 2013 Harald Hoyer 031-24.git20130809 +- fixed logging to journal + +* Fri Aug 09 2013 Harald Hoyer 031-23.git20130809 +- fixed lsinitrd + +* Fri Aug 09 2013 Harald Hoyer 031-22.git20130809 +- lsinitrd.sh: add old cpio signature +- dracut.sh: call find with -print0 and cpio with --null +- dracut.asc: small corrections +- systemd/dracut-initqueue.sh: continue to boot if finished failed +- dracut.sh/dracut-functions.sh: handle root on non-block device +- dracut-functions.sh: removed non dracut-install shell functions +- dracut-functions.sh: inst_multiple == dracut_install +- 51-dracut-rescue.install: fixed rescue image creation +- dracut.sh: do not strip in FIPS mode +Resolves: rhbz#990250 +- dracut.sh: check the value of --kver +- crypt: Fix typo--/etc/crypttab not /etc/cryptab +- network/net-lib.sh: fix ibft interface configuration +- iscsi/module-setup.sh: install some modules regardless of hostonly +- multipath: need_shutdown if multipath devices exist +Resolves: rhbz#994913 +- omit drivers fix + +* Thu Aug 01 2013 Harald Hoyer 031-7.git20130801 +- also install vt102 terminfo + +* Wed Jul 31 2013 Harald Hoyer 031-6.git20130731 +- cmssetup: fixed port for zfcp.conf +- lvm: call lvchange with --yes to boot from snapshots + +* Wed Jul 31 2013 Harald Hoyer 031-4.git20130731 +- remove action_on_fail kernel command line parameter + +* Wed Jul 31 2013 Harald Hoyer 031-3.git20130731 +- do not include adjtime and localtime in the initramfs +- write out vlan configs + +* Wed Jul 31 2013 Harald Hoyer 031-1 +- do not include the resume dracut module in hostonly mode, + if no swap is present +- don't warn twice about omitted modules +- use systemd-cat for logging on systemd systems, if logfile is unset +- fixed PARTUUID parsing +- support kernel module signing keys +- do not install the usrmount dracut module in hostonly mode, + if /sbin/init does not live in /usr +- add debian udev rule files +- add support for bcache +- network: handle bootif style interfaces + e.g. ip=77-77-6f-6f-64-73:dhcp +- add support for kmod static devnodes +- add vlan support for iBFT + +* Wed Jul 24 2013 Kyle McMartin 030-2 +- Add ehci-tegra.ko to initramfs to allow rawhide tegra based platforms + to boot off USB disks. + +* Wed Jul 17 2013 Harald Hoyer 030-1 +- support new persistent network interface names +- fix findmnt calls, prevents hang on stale NFS mounts +- add systemd.slice and slice.target units +- major shell cleanup +- support root=PARTLABEL= and root=PARTUUID= +- terminfo: only install l/linux v/vt100 and v/vt220 +- unset all LC_* and LANG, 10% faster +- fixed dependency loop for dracut-cmdline.service +- do not wait_for_dev for the root devices +- do not wait_for_dev for devices, if dracut-initqueue is not needed +- support early microcode loading with --early-microcode +- dmraid, let dmraid setup its own partitions +- sosreport renamed to rdsosreport + +* Fri Jun 14 2013 Harald Hoyer 029-1 +- wait for IPv6 auto configuration +Resolves: rhbz#973719 +- i18n: make the default font configurable +- systemd/dracut-pre-pivot.service: also execute for cleanup hooks or rd.break +- add dracut-shutdown.service.8 manpage +- lvm: redirect error message of lvs to /dev/null +Resolves: rhbz#921235 + +* Wed Jun 12 2013 Harald Hoyer 028-1 +- lvm: fixed "thin" recognition +Resolves: rhbz#921235 +- install libs also from one dir above + fixes booting power6 generated initramfs on power7 +- setup correct system time and time zone in initrd +- cms fixups +Resolves: rhbz#970982 rhbz#971025 rhbz#825199 +- iso-scan/filename fixes +Resolves: rhbz#972337 +- add udev rules for persistent network naming +Resolves: rhbz#972662 + +* Tue Jun 04 2013 Dennis Gilmore 027-82.git20130531 +- add patch to include panel-tfp410 module on arm systems + +* Fri May 31 2013 Harald Hoyer 027-81.git20130531 +- fix btrfs mount flags for /usr +- degrade message about missing tools for stripping +Resolves: rhbz#958519 +- set environment vars DRACUT_SYSTEMD, NEWROOT in service file +Resolves: rhbz#963159 +- don't add volatile swap partitions to host_devs +- add libssl.so.10 to make kdump work with fips mode +- readd selinux dracut module for kdump +- url-lib/url-lib.sh: turn off curl globbing +Resolves: rhbz#907497 +- include btrfs-zero-log in the initramfs +Resolves: rhbz#963257 +- proper NAME the network interfaces +Resolves: rhbz#965842 +- install default font latarcyrheb-sun16 +Resolves: rhbz#927564 +- optionally install /etc/pcmcia/config.opts +Resolves: rhbz#920076 +- fix ONBOOT for slaves, set TYPE=Bond for bonding +Resolves: rhbz#919001 +- add nvme kernel module +Resolves: rhbz#910734 +- add xfs_metadump +- selinux: load_policy script fix +- add hid-hyperv and hv-vmbus kernel modules +- add parameter rd.live.squashimg +Resolves: rhbz#789036 rhbz#782108 +- wait for all required interfaces if "rd.neednet=1" +Resolves: rhbz#801829 +- lvm: add tools for thin provisioning +Resolves: rhbz#921235 +- ifcfg/write-ifcfg.sh: fixed ifcfg file generation +- do not wait for mpath* devices +Resolves: rhbz#969068 + +* Wed May 22 2013 Adam Williamson 027-46.git20130430 +- don't specify "p" as a separator for dmraid +Resolves: rhbz#966162 + +* Tue Apr 30 2013 Harald Hoyer 027-45.git20130430 +- fixed fips mode more +Resolves: rhbz#956521 + +* Thu Apr 25 2013 Harald Hoyer 027-39.git20130425 +- fix shutdown, if /dev/console is not writeable +- fixed fips mode +Resolves: rhbz#956521 + +* Thu Apr 18 2013 Harald Hoyer 027-36.git20130418 +- fix initramfs creation on noexec tmpdir +Resolves: rhbz#953426 +- more options for lsinitrd +- bash completion for lsinitrd +- do not output debug information on initramfs creation, if rd.debug is + on the kernel command line +- drop requirement on 'file', lsinitrd can find the magic on its own + +* Mon Apr 15 2013 Harald Hoyer 027-26.git20130415 +- do not call plymouth with full path +- include systemd-random-seed-load.service +- fix ca-bundle.crt for ssl curl +Resolves: rhbz#950770 +- add support for "iso-scan/filename" kernel parameter + +* Wed Apr 10 2013 Harald Hoyer 027-19.git20130410 +- also handle UUID= entries in crypttab in host-only mode +Resolves:rhbz#919752 + +* Tue Apr 09 2013 Harald Hoyer 027-17.git20130409 +- only include needed /etc/crypttab entries +Resolves:rhbz#919752 +- add support for bridge over team and vlan +- support multiple bonding interfaces +- add "action_on_fail=" kernel command line parameter +- add support for bridge over a vlan tagged interface + +* Fri Apr 05 2013 Harald Hoyer 027-10.git20130405 +- fix crypto password timeout on the dracut side + +* Tue Mar 26 2013 Harald Hoyer 027-1 +- version 027 + +* Wed Mar 20 2013 Harald Hoyer 026-72.git20130320 +- fix rescue image naming +Resolves: rhbz#923439 +- turn off host-only mode if essential system filesystems not mounted +- turn off host-only mode if udev database is not accessible + +* Tue Mar 19 2013 Harald Hoyer 026-62.git20130319 +- fix dracut service ordering +Resolves: rhbz#922991 + +* Mon Mar 18 2013 Harald Hoyer 026-56.git20130318 +- don't fail hard on kernel modules install +Resolves: rhbz#922565 + +* Mon Mar 18 2013 Harald Hoyer 026-55.git20130318 +- install all host filesystem drivers +Resolves: rhbz#922565 + +* Sat Mar 16 2013 Harald Hoyer 026-54.git20130316 +- fix for squashfs +Resolves: rhbz#922248 +- documentation fixes +- sosreport, mkdir /run/initramfs + +* Fri Mar 15 2013 Harald Hoyer 026-48.git20130315 +- use new initrd.target from systemd +- fixed rescue generation + +* Wed Mar 13 2013 Harald Hoyer 026-33.git20130313 +- add module-load.d modules to the initramfs +- add sysctl.d to the initramfs +- optimize plymouth module for systemd mode +- add new dracut parameter "--regenerate-all" +- add new dracut parameter "--noimageifnotneeded" +- shutdown: mount move /run /sys /dev /proc out of /oldroot + before pre-shutdown +- add bash completion for dracut + +* Wed Mar 13 2013 Harald Hoyer 026-19.git20130313 +- fix switch-root and local-fs.target problem +- add norescue and nohostonly subpackages + +* Mon Mar 11 2013 Harald Hoyer 026-15.git20130311 +- update to recent git + +* Fri Mar 08 2013 Harald Hoyer 026-1 +- version 026 + +* Mon Feb 11 2013 Harald Hoyer 025-35.git20130211 +- update to recent git + +* Wed Jan 23 2013 Harald Hoyer 025-1 +- version 025 + +* Tue Aug 21 2012 Harald Hoyer 023-13.git20120821 +- reintroduce rd.neednet, which reenables anaconda networking +- fix some dracut-install corner cases +- fix FIPS for /boot not on extra partition + +* Wed Aug 01 2012 Dennis Gilmore - 023-2 +- add patch to include omap_hsmmc for arm + +* Wed Aug 01 2012 Harald Hoyer 023-1 +- version 023 + +* Mon Jul 30 2012 Harald Hoyer 022-99.git20120730 +- removed install of missing finished-ask-password.sh + +* Mon Jul 30 2012 Harald Hoyer 022-97.git20120730 +- moved crypt setup to systemd units + +* Fri Jul 27 2012 Harald Hoyer 022-63.git20120727 +- fixed dracut-install bug if /var/tmp contains a symlink +- fixed some partx issues + +* Mon Jul 23 2012 Harald Hoyer 022-5.git20120723 +- dracut.8: added more documentation about executing dracut + +* Fri Jul 20 2012 Harald Hoyer 022-2.git20120720 +- fixed some race condition for resume from hibernation + +* Fri Jul 20 2012 Harald Hoyer 022-1 +- version 022 +- host-only kernel modules fix + +* Fri Jul 20 2012 Harald Hoyer 021-1 +- version 21 +- systemd in the initramfs reenabled +- new option "--kver" + +* Wed Jul 18 2012 Fedora Release Engineering - 020-97.git20120717 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 17 2012 Harald Hoyer 020-96.git20120717 +- disabled systemd in the initramfs, until it works correctly + +* Wed Jul 11 2012 Harald Hoyer 020-84.git20120711 +- add back "--force" to switch-root, otherwise systemd umounts /run + +* Wed Jul 11 2012 Harald Hoyer 020-83.git20120711 +- more systemd journal fixes +- nfs module fix +- install also /lib/modprobe.d/* +- fixed dracut-shutdown service +- safeguards for dracut-install +- for --include also copy symlinks + +* Tue Jul 10 2012 Harald Hoyer 020-72.git20120710 +- stop journal rather than restart +- copy over dracut services to /run/systemd/system + +* Tue Jul 10 2012 Harald Hoyer 020-70.git20120710 +- more systemd unit fixups +- restart systemd-journald in switch-root post +- fixed dracut-install loader ldd error message + +* Mon Jul 09 2012 Harald Hoyer 020-64.git20120709 +- fixed plymouth install +- fixed resume +- fixed dhcp +- no dracut systemd services installed in the system + +* Mon Jul 09 2012 Harald Hoyer 020-57.git20120709 +- more fixups for systemd-udevd unit renaming + +* Mon Jul 09 2012 Harald Hoyer 020-55.git20120709 +- require systemd >= 186 +- more fixups for systemd-udevd unit renaming + +* Mon Jul 09 2012 Harald Hoyer 020-52.git20120709 +- fixed prefix in 01-dist.conf + +* Fri Jul 06 2012 Harald Hoyer 020-51.git20120706 +- cope with systemd-udevd unit renaming +- fixed network renaming +- removed dash module + +* Mon Jul 02 2012 Harald Hoyer 020-22.git20120702 +- fixed kernel modules install + +* Mon Jul 02 2012 Harald Hoyer 020-21.git20120702 +- moved /usr/bin/dracut-install to /usr/lib +- more speedups + +* Fri Jun 29 2012 Harald Hoyer 020-1 +- version 020 +- new /usr/bin/dracut-install tool +- major speedup of the image creation + +* Mon Jun 25 2012 Harald Hoyer 019-92.git20120625 +- support vlan tagged binding +- speedup initramfs emergency service +- speedup image creation +- fix installkernel() return codes +Resolves: rhbz#833256 +- add qemu and qemu-net modules to add qemu drivers even in host-only +- speedup btrfs and xfs fsck (nop) +- no more mknod in the initramfs (fixes plymouth on s390) + +* Thu Jun 21 2012 Harald Hoyer 019-62.git20120621 +- do not require pkg-config for systemd +- i18n fixes +- less systemd services in the initramfs + +* Thu Jun 21 2012 Harald Hoyer 019-57.git20120620 +- systemd is now the default init in the initramfs + +* Mon Jun 18 2012 Harald Hoyer 019-40.git20120618 +- new upstream version + +* Mon Jun 11 2012 Harald Hoyer 019-16.git20120611 +- new upstream version + +* Tue Jun 05 2012 Dennis Gilmore 019-2 +- include omapdrm with the arm modules + +* Mon Jun 04 2012 Harald Hoyer 019-1 +- version 019-1 + +* Tue May 22 2012 Harald Hoyer 018-74.git20120522 +- new upstream version + +* Thu May 17 2012 Dennis Gilmore 018-53.git20120509 +- add patch to pull in arm storage modules + +* Wed May 09 2012 Harald Hoyer 018-52.git20120509 +- new upstream version + +* Fri May 04 2012 Harald Hoyer 018-40.git20120504 +- new upstream version + +* Wed Apr 25 2012 Harald Hoyer 018-37.git20120425.1 +- fixup for multipath and iscsi host-only detection + +* Wed Apr 25 2012 Harald Hoyer 018-37.git20120425 +- fixed udevd location + +* Tue Apr 24 2012 Harald Hoyer 018-33.git20120424 +- new upstream version + +* Thu Apr 19 2012 Harald Hoyer 018-25.git20120419 +- fixed network for non-network root (like installer media) + +* Wed Apr 18 2012 Harald Hoyer 018-22.git20120418 +- new upstream version + +* Mon Apr 16 2012 Harald Hoyer 018-12.git20120416 +- new upstream version, which fixes various anaconda loader issues + +* Thu Apr 05 2012 Harald Hoyer 018-1 +- version 018 + +* Thu Mar 22 2012 Harald Hoyer 017-62.git20120322 +- fixed /run prefix copying + +* Wed Mar 21 2012 Harald Hoyer 017-59.git20120321 +- new upstream version, which fixes various anaconda loader issues + +* Mon Mar 12 2012 Harald Hoyer 017-43.git20120312 +- live image: fixed image uncompression +- live updates for livenet + +* Thu Mar 08 2012 Harald Hoyer 017-40.git20120308 +- add s390 ctcm network kernel module + +* Thu Mar 08 2012 Harald Hoyer 017-39.git20120308 +- kill dhclient silently +- cleanup and fix network config writeout to /run/initramfs/state +Resolves: rhbz#799989 +- various cleanups + +* Fri Mar 02 2012 Harald Hoyer 017-22.git20120302 +- nfs path fixes for live image over nfs + root=live:nfs://10.10.10.10:/srv/all/install.img ip=dhcp rd.neednet + +* Thu Mar 01 2012 Harald Hoyer 017-19.git20120301 +- fixed include of some kernel modules + +* Wed Feb 29 2012 Harald Hoyer 017-17.git20120229 +- update to latest git +- fixes for convertfs (/usr-move) + +* Fri Feb 24 2012 Harald Hoyer 017-1 +- version 017 + +* Fri Feb 17 2012 Harald Hoyer 016-9.git20120217 +- update to latest git + +* Wed Feb 15 2012 Harald Hoyer 016-1 +- version 016 + +* Mon Feb 13 2012 Harald Hoyer 015-9.git20120213 +- update to latest git + +* Sun Feb 12 2012 Kay Sievers - 015-9.git20120210 +- fix dependency loop in systemd service files + +* Fri Feb 10 2012 Harald Hoyer 015-8.git20120210 +- update to latest git + +* Thu Feb 09 2012 Harald Hoyer 015-7.git20120209 +- update to latest git + +* Thu Feb 09 2012 Harald Hoyer 015-4.git20120209 +- update to latest git + +* Wed Feb 08 2012 Harald Hoyer 015-3.git20120208 +- update to latest git + +* Tue Feb 07 2012 Harald Hoyer 015-1 +- version 015 + +* Thu Feb 02 2012 Harald Hoyer 014-81.git20120202 +- update to latest git + +* Thu Feb 02 2012 Harald Hoyer 014-80.git20120202 +- update to latest git + +* Thu Jan 26 2012 Harald Hoyer 014-77.git20120126.1 +- rebuild for rawhide + +* Thu Jan 26 2012 Harald Hoyer 014-77.git20120126 +- update to latest git + +* Thu Jan 26 2012 Harald Hoyer 014-76.git20120126 +- update to latest git + +* Thu Jan 26 2012 Harald Hoyer 014-75.git20120126 +- update to latest git + +* Thu Jan 26 2012 Harald Hoyer 014-74.git20120126 +- update to latest git + +* Thu Jan 26 2012 Harald Hoyer 014-73.git20120126 +- update to latest git + +* Thu Jan 26 2012 Harald Hoyer 014-72.git20120126 +- update to latest git + +* Mon Jan 23 2012 Harald Hoyer 014-65.git20120123 +- update to latest git + +* Mon Jan 23 2012 Harald Hoyer 014-61.git20120123 +- update to latest git + +* Tue Jan 17 2012 Harald Hoyer 014-38.git20120117 +- update to latest git + +* Fri Jan 13 2012 Fedora Release Engineering - 014-10.git20111215 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 15 2011 Harald Hoyer 014-9.git20111215 +- update to latest git +- lots of patch changes + +* Fri Oct 21 2011 Harald Hoyer 013-100.git20111021 +- update to latest git + +* Thu Oct 20 2011 Harald Hoyer 013-93.git20111020 +- update to latest git + +* Wed Oct 19 2011 Harald Hoyer 013-85.git20111019 +- update to latest git + +* Tue Oct 04 2011 Harald Hoyer 013-15 +- fixed mdraid container handling +Resolves: rhbz#743240 + +* Thu Sep 22 2011 Harald Hoyer 013-13 +- fixed mdraid issues +- fixed btrfsck +Resolves: rhbz#735602 + +* Wed Sep 21 2011 Harald Hoyer 013-12 +- removed patch backup files +- reintroduced /dev/live + +* Tue Sep 20 2011 Harald Hoyer 013-11 +- move mounting of securitfs to a seperate module +Resolves: rhbz#737140 + +* Tue Sep 20 2011 Harald Hoyer 013-10 +- mount securitfs with the correct source +Resolves: rhbz#737140 + +* Tue Sep 20 2011 Harald Hoyer 013-9 +- do not carry over initramfs udev rules +Resolves: rhbz#734096 + +* Fri Sep 02 2011 Harald Hoyer 013-8 +- hopefully fixed one part of a loop/udev and loop/mount race +Resolves: rhbz#735199 + +* Wed Aug 31 2011 Harald Hoyer 013-7 +- add /lib/udev/input_id to the initramfs +- fix hmac install + +* Tue Aug 30 2011 Harald Hoyer 013-6 +- fixed environment passing to real init +Resolves: rhbz#733674 +- fixed lvm on md + +* Mon Aug 29 2011 Harald Hoyer 013-5 +- fixed rhel/fedora version checks + +* Wed Aug 17 2011 Harald Hoyer 013-4 +- fixed crash with livenet installed + +* Wed Aug 17 2011 Harald Hoyer 013-3 +- fixed live iso mounting +Resolves: rhbz#730579 + +* Fri Aug 12 2011 Harald Hoyer 013-1 +- fixed symlink creation for lorax + +* Wed Aug 10 2011 Harald Hoyer 011-41.git20110810 +- fixed getargs() for empty args + +* Wed Aug 10 2011 Harald Hoyer 011-40.git20110810 +- fixed symbolic link creation in the initramfs +Resolves: rhbz#728863 + +* Wed Jul 20 2011 Harald Hoyer 011-15.git20110720 +- "eject" is optional now +- refined shutdown procedure + +* Mon Jul 18 2011 Harald Hoyer 011-1 +- version 011 + +* Fri May 20 2011 Harald Hoyer 011-0.1 +- git snapshot of pre-version 011 + +* Fri Apr 01 2011 Harald Hoyer 010-1 +- version 010 + +* Thu Mar 31 2011 Harald Hoyer 009-5 +- fixed PATH and kmsg logging + +* Thu Mar 31 2011 Harald Hoyer 009-4 +- fixed dmsquash rule generation +- fixed fips boot arg parsing +- fixed plymouth pid generation + +* Wed Mar 30 2011 Harald Hoyer 009-3 +- fixed dhcp +- added /lib/firmware/updates to firmware directories +- fixed LiveCD /dev/.initramfs fallback +- fixed cdrom polling +- dropped net-tools dependency + +* Tue Mar 29 2011 Harald Hoyer 009-2 +- fixed empty output file argument handling: + "dracut '' " + +* Mon Mar 28 2011 Harald Hoyer 009-1 +- version 009 + +* Thu Mar 17 2011 Harald Hoyer 009-0.1 +- version 009 prerelease + +* Tue Feb 22 2011 Harald Hoyer 008-7 +- fixed lvm version parsing + +* Tue Feb 22 2011 Harald Hoyer 008-6 +- fixed lvm version parsing + +* Mon Feb 21 2011 Harald Hoyer 008-5 +- fixed i18n unicode setting +- set cdrom in kernel polling + +* Fri Feb 18 2011 Harald Hoyer 008-4 +- readded dist tag + +* Fri Feb 18 2011 Harald Hoyer 008-3 +- fixed i18n +- turned off selinux by default + +* Wed Feb 09 2011 Harald Hoyer 008-2 +- do not write dracut.log to /tmp under any circumstances +- touch /dev/.systemd/plymouth after plymouth started + +* Tue Feb 08 2011 Fedora Release Engineering - 008-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Feb 02 2011 Harald Hoyer 008-1 +- version 008-1 + +* Mon Jan 17 2011 Harald Hoyer 008-0.11 +- removed "mount" requirement + +* Thu Nov 18 2010 Harald Hoyer - 008-0.10 +- dracut-008 pre git snapshot +- fixes /dev/dri permissions +Resolves: rhbz#626559 + +* Fri Nov 12 2010 Harald Hoyer 008-0.9 +- dracut-008 pre git snapshot +- fixes /dev/.udev permissions +Resolves: rhbz#651594 + +* Wed Nov 3 2010 Harald Hoyer - 008-0.8 +- fixed fsck -a option + +* Fri Oct 29 2010 Harald Hoyer 008-0.7 +- added fsck to initramfs + +* Fri Oct 29 2010 Harald Hoyer 008-0.6 +- fixed rpm macros + +* Fri Oct 29 2010 Harald Hoyer 008-0.5 +- dracut-008 pre git snapshot + +* Mon Aug 09 2010 Harald Hoyer 007-1 +- version 007 + +* Thu Jun 17 2010 Harald Hoyer 006-1 +- version 006 + +* Fri Jun 11 2010 Harald Hoyer +- Remove requirements, which are not really needed +Resolves: rhbz#598509 +- fixed copy of network config to /dev/.initramfs/ (patch 146) +Resolves: rhbz#594649 +- more password beauty (patch 142) +Resolves: rhbz#561092 +- support multiple iSCSI disks (patch 143) +Resolves: rbhz#580190 +- fixed selinux=0 (patch 130) +Resolves: rhbz#593080 +- add support for booting LVM snapshot root volume (patch 145) +Resolves: rbhz#602723 +- remove hardware field from BOOTIF= (patch 148) +Resolves: rhbz#599593 +- add aes kernel modules and fix crypt handling (patch 137, patch 140 and patch 147) +Resolves: rhbz#600170 + +* Thu May 27 2010 Harald Hoyer +- fixed Requirements +- fixed autoip6 +Resolves: rhbz#538388 +- fixed multipath +Resolves: rhbz#595719 + +* Thu May 06 2010 Harald Hoyer +- only display short password messages +Resolves: rhbz#561092 + +* Thu May 06 2010 Harald Hoyer +- fixed dracut manpages +Resolves: rhbz#589109 +- use ccw-init and ccw rules from s390utils +Resolves: rhbz#533494 +- fixed fcoe +Resolves: rhbz#486244 +- various other bugfixes seen in Fedora + +* Tue Apr 20 2010 Harald Hoyer +- fixed network with multiple nics +- fixed nfsidmap paths +- do not run blkid on non active container raids +- fixed cdrom polling mechanism +- update to latest git + +* Thu Apr 15 2010 Harald Hoyer +- fixed dracut manpages +- dmraid parse different error messages +- add cdrom polling mechanism for slow cdroms +- add module btrfs +- teach dmsquash live-root to use rootflags +- trigger udev with action=add +- fixed add_drivers handling +- add sr_mod +- use pigz instead of gzip, if available + +* Thu Mar 25 2010 Harald Hoyer +- removed firmware requirements (rhbz#572634) +- add /etc/dracut.conf.d +- Resolves: rhbz#572634 + +* Fri Mar 19 2010 Harald Hoyer +- version 005 + +* Fri Mar 19 2010 Harald Hoyer +- fixed rpmlint errors (rhbz#570547) +- removed firmware package from dracut-kernel (rhbz#572634) +- add dcb support to dracut's FCoE support (rhbz#563794) +- force install some modules in hostonly mode (rhbz#573094) +- various other bugfixes +- Resolves: rhbz#570547, rhbz#572634, rhbz#563794, rhbz#573094 + +* Thu Feb 18 2010 Harald Hoyer 004-15 +- fixed "selinux=0" booting (rhbz#566376) +- fixed internal IFS handling +- Resolves: rhbz#566376 + +* Fri Jan 29 2010 Harald Hoyer 004-5 +- fixed firmware.sh bug (#559975 #559597) + +* Tue Jan 26 2010 Harald Hoyer 004-4 +- add multipath check + +* Tue Jan 26 2010 Harald Hoyer 004-3 +- fix selinux handling if .autorelabel is present +- Resolves: rhbz#557744 + +* Wed Jan 20 2010 Harald Hoyer 004-2 +- fix emergency_shell argument parsing +- Related: rhbz#543948 + +* Fri Jan 15 2010 Harald Hoyer 004-1 +- version 004 +- Resolves: rhbz#529339 rhbz#533494 rhbz#548550 +- Resolves: rhbz#548555 rhbz#553195 + +* Wed Jan 13 2010 Harald Hoyer 003-3 +- add Obsoletes of mkinitrd/nash/libbdevid-python +- Related: rhbz#543948 + +* Wed Jan 13 2010 Warren Togami 003-2 +- nbd is Fedora only + +* Fri Nov 27 2009 Harald Hoyer 003-1 +- version 003 + +* Mon Nov 23 2009 Harald Hoyer 002-26 +- add WITH_SWITCH_ROOT make flag +- add fips requirement conditional +- add more device mapper modules (bug #539656) + +* Fri Nov 20 2009 Dennis Gregorovic - 002-25.1 +- nss changes for Alpha 3 + +* Thu Nov 19 2009 Harald Hoyer 002-25 +- add more requirements for dracut-fips (bug #539257) + +* Tue Nov 17 2009 Harald Hoyer 002-24 +- put fips module in a subpackage (bug #537619) + +* Tue Nov 17 2009 Harald Hoyer 002-23 +- install xdr utils for multipath (bug #463458) + +* Thu Nov 12 2009 Harald Hoyer 002-22 +- add module 90multipath +- add module 01fips +- renamed module 95ccw to 95znet (bug #533833) +- crypt: ignore devices in /etc/crypttab (root is not in there) +- dasd: only install /etc/dasd.conf in hostonly mode (bug #533833) +- zfcp: only install /etc/zfcp.conf in hostonly mode (bug #533833) +- kernel-modules: add scsi_dh scsi_dh_rdac scsi_dh_emc (bug #527750) +- dasd: use dasdconf.sh from s390utils (bug #533833) + +* Fri Nov 06 2009 Harald Hoyer 002-21 +- fix rd_DASD argument handling (bug #531720) +- Resolves: rhbz#531720 + +* Wed Nov 04 2009 Harald Hoyer 002-20 +- fix rd_DASD argument handling (bug #531720) +- Resolves: rhbz#531720 + +* Tue Nov 03 2009 Harald Hoyer 002-19 +- changed rd_DASD to rd_DASD_MOD (bug #531720) +- Resolves: rhbz#531720 + +* Tue Oct 27 2009 Harald Hoyer 002-18 +- renamed lvm/device-mapper udev rules according to upstream changes +- fixed dracut search path issue + +* Mon Oct 26 2009 Harald Hoyer 002-17 +- load dm_mod module (bug #530540) + +* Fri Oct 09 2009 Jesse Keating - 002-16 +- Upgrade plymouth to Requires(pre) to make it show up before kernel + +* Thu Oct 08 2009 Harald Hoyer 002-15 +- s390 ccw: s/layer1/layer2/g + +* Thu Oct 08 2009 Harald Hoyer 002-14 +- add multinic support +- add s390 zfcp support +- add s390 network support + +* Wed Oct 07 2009 Harald Hoyer 002-13 +- fixed init= handling +- kill loginit if "rdinitdebug" specified +- run dmsquash-live-root after udev has settled (bug #527514) + +* Tue Oct 06 2009 Harald Hoyer 002-12 +- add missing loginit helper +- corrected dracut manpage + +* Thu Oct 01 2009 Harald Hoyer 002-11 +- fixed dracut-gencmdline for root=UUID or LABEL + +* Thu Oct 01 2009 Harald Hoyer 002-10 +- do not destroy assembled raid arrays if mdadm.conf present +- mount /dev/shm +- let udevd not resolve group and user names +- preserve timestamps of tools on initramfs generation +- generate symlinks for binaries correctly +- moved network from udev to initqueue +- mount nfs3 with nfsvers=3 option and retry with nfsvers=2 +- fixed nbd initqueue-finished +- improved debug output: specifying "rdinitdebug" now logs + to dmesg, console and /init.log +- stop udev before killing it +- add ghost /var/log/dracut.log +- dmsquash: use info() and die() rather than echo +- strip kernel modules which have no x bit set +- redirect stdin, stdout, stderr all RW to /dev/console + so the user can use "less" to view /init.log and dmesg + +* Tue Sep 29 2009 Harald Hoyer 002-9 +- make install of new dm/lvm udev rules optionally +- correct dasd module typo + +* Fri Sep 25 2009 Warren Togami 002-8 +- revert back to dracut-002-5 tarball 845dd502 + lvm2 was reverted to pre-udev + +* Wed Sep 23 2009 Harald Hoyer 002-7 +- build with the correct tarball + +* Wed Sep 23 2009 Harald Hoyer 002-6 +- add new device mapper udev rules and dmeventd + bug 525319, 525015 + +* Wed Sep 23 2009 Warren Togami 002-5 +- Revert back to -3, Add umount back to initrd + This makes no functional difference to LiveCD. See Bug #525319 + +* Mon Sep 21 2009 Warren Togami 002-4 +- Fix LiveCD boot regression + +* Mon Sep 21 2009 Harald Hoyer 002-3 +- bail out if selinux policy could not be loaded and + selinux=0 not specified on kernel command line + (bug #524113) +- set finished criteria for dmsquash live images + +* Fri Sep 18 2009 Harald Hoyer 002-2 +- do not cleanup dmraids +- copy over lvm.conf + +* Thu Sep 17 2009 Harald Hoyer 002-1 +- version 002 +- set correct PATH +- workaround for broken mdmon implementation + +* Wed Sep 16 2009 Harald Hoyer 001-12 +- removed lvm/mdraid/dmraid lock files +- add missing ifname= files + +* Wed Sep 16 2009 Harald Hoyer 001-11 +- generate dracut-version during rpm build time + +* Tue Sep 15 2009 Harald Hoyer 001-10 +- add ifname= argument for persistent netdev names +- new /initqueue-finished to check if the main loop can be left +- copy mdadm.conf if --mdadmconf set or mdadmconf in dracut.conf + +* Wed Sep 09 2009 Harald Hoyer 001-9 +- added Requires: plymouth-scripts + +* Wed Sep 09 2009 Harald Hoyer 001-8 +- plymouth: use plymouth-populate-initrd +- add add_drivers for dracut and dracut.conf +- do not mount /proc and /selinux manually in selinux-load-policy + +* Wed Sep 09 2009 Harald Hoyer 001-7 +- add scsi_wait_scan to be sure everything was scanned + +* Tue Sep 08 2009 Harald Hoyer 001-6 +- fixed several problems with md raid containers +- fixed selinux policy loading + +* Tue Sep 08 2009 Harald Hoyer 001-5 +- patch does not honor file modes, fixed them manually + +* Mon Sep 07 2009 Harald Hoyer 001-4 +- fixed mdraid for IMSM + +* Mon Sep 07 2009 Harald Hoyer 001-3 +- fixed bug, which prevents installing 61-persistent-storage.rules (bug #520109) + +* Thu Sep 03 2009 Harald Hoyer 001-2 +- fixed missing grep for md +- reorder cleanup + +* Wed Sep 02 2009 Harald Hoyer 001-1 +- version 001 +- see http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=blob_plain;f=NEWS + +* Fri Aug 14 2009 Harald Hoyer 0.9-1 +- version 0.9 + +* Thu Aug 06 2009 Harald Hoyer 0.8-1 +- version 0.8 +- see http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=blob_plain;f=NEWS + +* Fri Jul 24 2009 Harald Hoyer 0.7-1 +- version 0.7 +- see http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=blob_plain;f=NEWS + +* Wed Jul 22 2009 Harald Hoyer 0.6-1 +- version 0.6 +- see http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=blob_plain;f=NEWS + +* Fri Jul 17 2009 Harald Hoyer 0.5-1 +- version 0.5 +- see http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=blob_plain;f=NEWS + +* Sat Jul 04 2009 Harald Hoyer 0.4-1 +- version 0.4 +- see http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=blob_plain;f=NEWS + +* Thu Jul 02 2009 Harald Hoyer 0.3-1 +- version 0.3 +- see http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=blob_plain;f=NEWS + +* Wed Jul 01 2009 Harald Hoyer 0.2-1 +- version 0.2 + +* Fri Jun 19 2009 Harald Hoyer 0.1-1 +- first release + +* Thu Dec 18 2008 Jeremy Katz - 0.0-1 +- Initial build