dracut-050

This commit is contained in:
Harald Hoyer 2020-03-04 12:50:29 +01:00
parent cf30cd03a0
commit 96dcc2c9ca
29 changed files with 28 additions and 1147 deletions

1
.gitignore vendored
View File

@ -34,3 +34,4 @@
/dracut-047.tar.xz
/dracut-048.tar.xz
/dracut-049.tar.xz
/dracut-050.tar.xz

View File

@ -1,42 +0,0 @@
From 6d886bb74d1608e4565d926aa259ea5afc9df7b9 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Thu, 4 Oct 2018 16:45:47 -0400
Subject: [PATCH] dracut-install: simplify ldd parsing logic
The previous logic would not handle absolute paths on the left side of
the "=>" properly. For example, on Gentoo ARM64, ldd outputs this:
/lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1
At runtime, the kernel tries to load the file from /lib, and fails if we
only provide it in /lib64.
Instead of looking for the first slash after the "=>", just look for the
first slash, period. This would fail if we somehow had a relative path
on the left side (foo/libbar.so), but I'm not aware of any binaries that
would contain such an entry in DT_NEEDED.
Bug: https://bugs.gentoo.org/667752
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
---
install/dracut-install.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index 88bca1d4..5f352b36 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -479,11 +479,7 @@ static int resolve_deps(const char *src)
if (strstr(buf, destrootdir))
break;
- p = strstr(buf, "=>");
- if (!p)
- p = buf;
-
- p = strchr(p, '/');
+ p = strchr(buf, '/');
if (p) {
char *q;

View File

@ -1,44 +0,0 @@
From f51ab4a81f1fedb9eac31ecd22a3f87db3951650 Mon Sep 17 00:00:00 2001
From: Kairui Song <kasong@redhat.com>
Date: Sat, 29 Sep 2018 17:14:31 +0800
Subject: [PATCH] dracut.spec: Fix error introduced by 70291ed
70291e0 ('dracut.spec: Add dracut-squash package') introduced a new
dracut-squash package, but by accident it overrided some other package
spec and the dependency name is wrong. This patch will fix it.
---
dracut.spec | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dracut.spec b/dracut.spec
index 155868ce..0c266192 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -181,7 +181,7 @@ 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: squash-tools
+Requires: squashfs-tools
%description squash
This package provides a dracut module to build an initramfs, but store most files
@@ -452,14 +452,14 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%doc %{_mandir}/man8/dracut-catimages.8*
%endif
-%files squash
-%{dracutlibdir}/modules.d/99squash
-
%{_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

View File

@ -1,24 +0,0 @@
From db4d6bb42c3e9a2bf7a62d8327cc3c13e5594935 Mon Sep 17 00:00:00 2001
From: Pedro Monreal <pmgdeb@gmail.com>
Date: Mon, 8 Oct 2018 11:09:11 +0200
Subject: [PATCH] Added space in Resolving executable dependencies done as in
the rest of the messages
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index e683a9bc..fb50cfda 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1572,7 +1572,7 @@ if [[ $kernel_only != yes ]]; then
dinfo "*** Resolving executable dependencies ***"
find "$initdir" -type f -perm /0111 -not -path '*.ko' -print0 \
| xargs -r -0 $DRACUT_INSTALL ${initdir:+-D "$initdir"} -R ${DRACUT_FIPS_MODE:+-f} --
- dinfo "*** Resolving executable dependencies done***"
+ dinfo "*** Resolving executable dependencies done ***"
fi
# Now we are done with lazy resolving, always install dependencies

View File

@ -1,31 +0,0 @@
From 83cbc06ab91288e2d931b4f36935bfdb79a99b0e Mon Sep 17 00:00:00 2001
From: Kairui Song <kasong@redhat.com>
Date: Fri, 12 Oct 2018 13:07:13 +0800
Subject: [PATCH] 40network: Don't include 40network by default
commit 7347391 ('network-legacy: split off from network module')
splitted network function to network-legacy and removed check() function
of 40network. This caused 40network to be included even if network is
not needed.
Signed-off-by: Kairui Song <kasong@redhat.com>
---
modules.d/40network/module-setup.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index 57c0a45e..e8541636 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -1,5 +1,10 @@
#!/bin/bash
+# called by dracut
+check() {
+ return 255
+}
+
# called by dracut
depends() {
echo -n "kernel-network-modules "

View File

@ -1,31 +0,0 @@
From b9af0fcdfb2364245b333a123cdb07523855079f Mon Sep 17 00:00:00 2001
From: Kairui Song <kasong@redhat.com>
Date: Thu, 18 Oct 2018 17:05:22 +0800
Subject: [PATCH] 99squash: Don't clean up squahfs on isolate
The only time we need to cleanup squahfs manually is on switch root, to
release resource and memory. We've covered that by setting
"Conflicts=initrd-switch-root.target" for squash cleanup service.
On shutdown systemd will take care of squahfs mounts. But for other
isolate, files in initramfs are most likely still required, so don't
clean up squahfs. For example, kdump's emergency handler will isolate
into its own target, if squahfs is cleaned up it will fail.
Signed-off-by: Kairui Song <kasong@redhat.com>
---
modules.d/99squash/squash-mnt-clear.service | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/99squash/squash-mnt-clear.service b/modules.d/99squash/squash-mnt-clear.service
index 8dd17812..f8d5db46 100644
--- a/modules.d/99squash/squash-mnt-clear.service
+++ b/modules.d/99squash/squash-mnt-clear.service
@@ -9,6 +9,7 @@ After=dracut-initqueue.service dracut-pre-pivot.service
Before=initrd-cleanup.service
ConditionPathExists=/squash/root
Conflicts=initrd-switch-root.target
+IgnoreOnIsolate=true
[Service]
Type=oneshot

View File

@ -1,28 +0,0 @@
From e54ab383f7529f340d69536709624dffb30046a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com>
Date: Fri, 19 Oct 2018 13:21:37 +0200
Subject: [PATCH] fips: check fips integrity just before mounting local
filesystems in /sysroot
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
---
modules.d/01fips/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index f3af4d90..808292af 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -52,7 +52,7 @@ installkernel() {
# called by dracut
install() {
local _dir
- inst_hook pre-trigger 01 "$moddir/fips-boot.sh"
+ inst_hook pre-mount 01 "$moddir/fips-boot.sh"
inst_hook pre-pivot 01 "$moddir/fips-noboot.sh"
inst_script "$moddir/fips.sh" /sbin/fips.sh

View File

@ -1,26 +0,0 @@
From 7117bf627028298970d8a6a5e153e1942f3430f3 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin@suse.com>
Date: Fri, 19 Oct 2018 14:30:36 +0200
Subject: [PATCH] 99base: Allow files with backslashes in hostonly files
Files with blackslashes are routinely by systemd.
Reference: bsc#1090884
---
modules.d/99base/dracut-lib.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index f71e757c..ab348855 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -1327,7 +1327,7 @@ show_memstats()
remove_hostonly_files() {
rm -fr /etc/cmdline /etc/cmdline.d/*.conf "$hookdir/initqueue/finished"
if [ -f /lib/dracut/hostonly-files ]; then
- while read line || [ -n "$line" ]; do
+ while read -r line || [ -n "$line" ]; do
[ -e "$line" ] || [ -h "$line" ] || continue
rm -f "$line"
done < /lib/dracut/hostonly-files

View File

@ -1,24 +0,0 @@
From b38b7fef36333a59890233dccfbbb6d2c40ebe83 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin@suse.com>
Date: Fri, 19 Oct 2018 14:39:30 +0200
Subject: [PATCH] 95dasd_rules: mark dasd rules host_only
Reference: bsc#1090884
---
modules.d/95dasd_rules/module-setup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
index 488400c3..124dbad9 100755
--- a/modules.d/95dasd_rules/module-setup.sh
+++ b/modules.d/95dasd_rules/module-setup.sh
@@ -54,6 +54,8 @@ install() {
if [[ $hostonly ]] ; then
inst_rules_wildcard 51-dasd-*.rules
inst_rules_wildcard 41-s390x-dasd-*.rules
+ mark_hostonly /etc/udev/rules.d/51-dasd-*.rules
+ mark_hostonly /etc/udev/rules.d/41-s390x-dasd-*.rules
fi
inst_rules 59-dasd.rules
}

View File

@ -1,37 +0,0 @@
From 765b20333d9589e09b29dbe0d8304a56745623c6 Mon Sep 17 00:00:00 2001
From: Dusty Mabe <dusty@dustymabe.com>
Date: Mon, 22 Oct 2018 13:25:29 -0400
Subject: [PATCH] 95iscsi: drop systemd dracut service dependencies for iscsid
These dependencies cause an odd issue where swap devices specified
by resume= on the kernel command line will cause systemd device
timeouts to occur on boot. According to @haraldh these lines aren't
needed because the socket activiation will take care of it for us.
Removing these lines now as it fixes the resume= device timeout issue.
Fixes #480
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1641268
---
modules.d/95iscsi/module-setup.sh | 8 --------
1 file changed, 8 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 5c2073bb..3c791001 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -257,14 +257,6 @@ install() {
; do
ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/basic.target.wants/${i}"
done
-
- # Make sure iscsid is started after dracut-cmdline and ready for the initqueue
- mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d"
- (
- echo "[Unit]"
- echo "After=dracut-cmdline.service"
- echo "Before=dracut-initqueue.service"
- ) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"
fi
inst_dir /var/lib/iscsi
dracut_need_initqueue

View File

@ -1,41 +0,0 @@
From 0eef73ea43427cdb82fa031e09978d3cea6e188a Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 24 Oct 2018 15:14:03 +0200
Subject: [PATCH] Makefile: add srpm target
---
Makefile | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 80623437..503d069f 100644
--- a/Makefile
+++ b/Makefile
@@ -40,7 +40,7 @@ man8pages = dracut.8 \
manpages = $(man1pages) $(man5pages) $(man7pages) $(man8pages)
-.PHONY: install clean archive rpm testimage test all check AUTHORS doc dracut-version.sh
+.PHONY: install clean archive rpm srpm testimage test all check AUTHORS doc dracut-version.sh
all: dracut-version.sh dracut.pc dracut-install skipcpio/skipcpio
@@ -216,6 +216,17 @@ rpm: dracut-$(VERSION).tar.xz syncheck
--define "_rpmdir $$PWD" -ba dracut.spec; ) && \
( mv "$$rpmbuild"/{,$$(arch)/}*.rpm $(DESTDIR).; rm -fr -- "$$rpmbuild"; ls $(DESTDIR)*.rpm )
+srpm: dracut-$(VERSION).tar.xz syncheck
+ rpmbuild=$$(mktemp -d -t rpmbuild-dracut.XXXXXX); src=$$(pwd); \
+ cp dracut-$(VERSION).tar.xz "$$rpmbuild"; \
+ LC_MESSAGES=C $$src/git2spec.pl $(VERSION) "$$rpmbuild" < dracut.spec > $$rpmbuild/dracut.spec; \
+ (cd "$$rpmbuild"; \
+ [ -f $$src/lgpl-2.1.txt ] && cp $$src/lgpl-2.1.txt . || wget https://www.gnu.org/licenses/lgpl-2.1.txt; \
+ rpmbuild --define "_topdir $$PWD" --define "_sourcedir $$PWD" \
+ --define "_specdir $$PWD" --define "_srcrpmdir $$PWD" \
+ --define "_rpmdir $$PWD" -bs dracut.spec; ) && \
+ ( mv "$$rpmbuild"/*.src.rpm $(DESTDIR).; rm -fr -- "$$rpmbuild"; ls $(DESTDIR)*.rpm )
+
syncheck:
@ret=0;for i in dracut-initramfs-restore.sh modules.d/*/*.sh; do \
[ "$${i##*/}" = "module-setup.sh" ] && continue; \

View File

@ -1,43 +0,0 @@
From 48c283a29638e2c1e24cf282e673ddf8525b4199 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Thu, 25 Oct 2018 15:30:36 +0200
Subject: [PATCH] dracut.install: call dracut with --force
The kernel-install is called even if you run make install.
Since we don't call dracut with -f a second make install will fail
because initrd with same version is already there.
This makes kernel developers feel miserable.
https://bugzilla.redhat.com/show_bug.cgi?id=1642402
---
50-dracut.install | 2 +-
51-dracut-rescue.install | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/50-dracut.install b/50-dracut.install
index 64e3549f..bbb73442 100755
--- a/50-dracut.install
+++ b/50-dracut.install
@@ -49,7 +49,7 @@ case "$COMMAND" in
break
fi
done
- dracut ${noimageifnotneeded:+--noimageifnotneeded} "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION"
+ dracut -f ${noimageifnotneeded:+--noimageifnotneeded} "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION"
ret=$?
;;
remove)
diff --git a/51-dracut-rescue.install b/51-dracut-rescue.install
index 6ddafdb6..ef8afac1 100755
--- a/51-dracut-rescue.install
+++ b/51-dracut-rescue.install
@@ -98,7 +98,7 @@ case "$COMMAND" in
fi
if [[ ! -f "$BOOT_DIR_ABS/$INITRD" ]]; then
- dracut --no-hostonly -a "rescue" "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION"
+ dracut -f --no-hostonly -a "rescue" "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION"
((ret+=$?))
fi

View File

@ -1,156 +0,0 @@
From f18d069d4664c148df8563139b358806ecfe6799 Mon Sep 17 00:00:00 2001
From: Pedro Monreal <pmgdeb@gmail.com>
Date: Thu, 8 Nov 2018 14:15:38 +0100
Subject: [PATCH] Fixed some SUSE specific typos and outputs
---
dracut.conf.5.asc | 2 +-
dracut.conf.d/suse.conf.example | 4 ++--
dracut.sh | 4 ++--
dracut.usage.asc | 6 +++---
mkinitrd-suse.sh | 4 ++--
modules.d/98dracut-systemd/dracut-shutdown.service.8.asc | 2 +-
modules.d/98syslog/README | 2 +-
modules.d/99base/dracut-lib.sh | 2 +-
8 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc
index 1dfa28f6..081ed70c 100644
--- a/dracut.conf.5.asc
+++ b/dracut.conf.5.asc
@@ -157,7 +157,7 @@ provide a valid _/etc/fstab_.
archive. This cpio archive gets glued (concatenated, uncompressed one
must be the first one) to the compressed cpio archive. The first,
uncompressed cpio archive is for data which the kernel must be able
- to access very early (and cannot make use of uncompress alogrithms yet)
+ to access very early (and cannot make use of uncompress algorithms yet)
like microcode or ACPI tables (default=no).
*acpi_table_dir=*"__<dir>__"::
diff --git a/dracut.conf.d/suse.conf.example b/dracut.conf.d/suse.conf.example
index 37ffd72b..b5d962db 100644
--- a/dracut.conf.d/suse.conf.example
+++ b/dracut.conf.d/suse.conf.example
@@ -1,6 +1,6 @@
-# SUSE specifc dracut settings
+# SUSE specific dracut settings
#
-# SUSE by default always builds a as small as possible initrd for performance
+# SUSE by default always builds as small as possible initrd for performance
# and resource reasons.
# If you like to build a generic initrd which works on other platforms than
# on the one dracut/mkinitrd got called comment out below setting(s).
diff --git a/dracut.sh b/dracut.sh
index fb50cfda..e706714e 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1690,7 +1690,7 @@ if [[ $early_microcode = yes ]]; then
for _fwdir in $fw_dir; do
if [[ -d $_fwdir && -d $_fwdir/$_fw ]]; then
_src="*"
- dinfo "*** Constructing ${ucode_dest[$idx]} ****"
+ dinfo "*** Constructing ${ucode_dest[$idx]} ***"
if [[ $hostonly ]]; then
_src=$(get_ucode_file)
[[ $_src ]] || break
@@ -1790,7 +1790,7 @@ if dracut_module_included "squash"; then
# Move some files out side of the squash image, including:
# - Files required to boot and mount the squashfs image
- # - Files need to be accessable without mounting the squash image
+ # - Files need to be accessible without mounting the squash image
required_in_root() {
local file=$1
local _sqsh_file=$squash_dir/$file
diff --git a/dracut.usage.asc b/dracut.usage.asc
index 2b598ee6..0f219fc9 100644
--- a/dracut.usage.asc
+++ b/dracut.usage.asc
@@ -83,7 +83,7 @@ on the command line:
=== Adding Kernel Modules
If you need a special kernel module in the initramfs, which is not
automatically picked up by dracut, you have the use the --add-drivers option
-on the command line or the drivers vaiable in the _/etc/dracut.conf_
+on the command line or the drivers variable in the _/etc/dracut.conf_
or _/etc/dracut.conf.d/myconf.conf_ configuration file (see *dracut.conf*(5)):
----
# dracut --add-drivers mymod initramfs-with-mymod.img
@@ -94,7 +94,7 @@ An initramfs generated without the "hostonly" mode, does not contain any system
configuration files (except for some special exceptions), so the configuration
has to be done on the kernel command line. With this flexibility, you can easily
boot from a changed root partition, without the need to recompile the initramfs
-image. So, you could completly change your root partition (move it inside a md
+image. So, you could completely change your root partition (move it inside a md
raid with encryption and LVM on top), as long as you specify the correct
filesystem LABEL or UUID on the kernel command line for your root device, dracut
will find it and boot from it.
@@ -185,7 +185,7 @@ This turns off every automatic assembly of LVM, MD raids, DM raids and
crypto LUKS.
Of course, you could also omit the dracut modules in the initramfs creation
-process, but then you would lose the posibility to turn it on on demand.
+process, but then you would lose the possibility to turn it on on demand.
[[Injecting]]
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index 20d85da1..b6af2b19 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -1,6 +1,6 @@
#!/bin/bash --norc
#
-# mkinitrd compability wrapper for SUSE.
+# mkinitrd compatibility wrapper for SUSE.
#
# Copyright (c) 2013 SUSE Linux Products GmbH. All rights reserved.
#
@@ -62,7 +62,7 @@ usage () {
$cmd " /etc/sysconfig/kernel."
$cmd " -d root_device Root device. Defaults to the device from"
$cmd " which / is mounted. Overrides the rootdev"
- $cmd " enviroment variable if set."
+ $cmd " environment variable if set."
$cmd " -j device Journal device"
$cmd " -D interface Run dhcp on the specified interface."
$cmd " -I interface Configure the specified interface statically."
diff --git a/modules.d/98dracut-systemd/dracut-shutdown.service.8.asc b/modules.d/98dracut-systemd/dracut-shutdown.service.8.asc
index f4fbb618..ba80b187 100644
--- a/modules.d/98dracut-systemd/dracut-shutdown.service.8.asc
+++ b/modules.d/98dracut-systemd/dracut-shutdown.service.8.asc
@@ -15,7 +15,7 @@ dracut-shutdown.service
DESCRIPTION
-----------
This service unpacks the initramfs image to /run/initramfs.
-systemd pivots into /run/initramfs at shutdown, so the root filesytem
+systemd pivots into /run/initramfs at shutdown, so the root filesystem
can be safely unmounted.
The following steps are executed during a shutdown:
diff --git a/modules.d/98syslog/README b/modules.d/98syslog/README
index 30a819c0..9eb5adee 100644
--- a/modules.d/98syslog/README
+++ b/modules.d/98syslog/README
@@ -11,7 +11,7 @@ Then if syslog is configured it is started and will forward all
kernel messages to the given syslog server.
The syslog implementation is detected automatically by finding the
-apropriate binary with the following order:
+appropriate binary with the following order:
rsyslogd
syslogd
syslog-ng
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index ab348855..3eb255e6 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -620,7 +620,7 @@ nfsroot_to_var() {
# prints:
# ENV{ID_FS_LABEL}="boot"
#
-# TOOD: symlinks
+# TODO: symlinks
udevmatch() {
case "$1" in
UUID=????????-????-????-????-????????????|LABEL=*|PARTLABEL=*|PARTUUID=????????-????-????-????-????????????)

View File

@ -1,72 +0,0 @@
From a60af534132828fd46fa017291f7ed7cfeab1dc3 Mon Sep 17 00:00:00 2001
From: Kairui Song <kasong@redhat.com>
Date: Fri, 9 Nov 2018 10:48:28 +0800
Subject: [PATCH] squash: unsquash the root image instead of mounting it on
shutdown
When building squash image, squash module forgot to install the new
shutdown.sh, and the shutdown hooks are always skipped on ordinary
shutdown if squash module is enabled.
The new shutdown.sh will remount the squash image and then everything
will just work, but currently re-mounting the squash image on shutdown
may have selinux problem and make the system hang, and there is no
easy way to fix it.
So skip fixing the shutdown.sh not being install problem, instead
just drop the new shutdown.sh, and unsquash the image on ordinary
shutdown, which is safer and should always work.
Signed-off-by: Kairui Song <kasong@redhat.com>
---
dracut-initramfs-restore.sh | 9 +++++++++
dracut.sh | 2 --
modules.d/99squash/shutdown.sh | 7 -------
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
index 94794804..67fc88fa 100644
--- a/dracut-initramfs-restore.sh
+++ b/dracut-initramfs-restore.sh
@@ -40,4 +40,13 @@ else
exit 1
fi
+if [[ -d squash ]]; then
+ unsquashfs -no-xattrs -f -d . squash/root.img >/dev/null
+ if [ $? -ne 0 ]; then
+ echo "Squash module is enabled for this initramfs but failed to unpack squash/root.img" >&2
+ rm -f -- /run/initramfs/shutdown
+ exit 1
+ fi
+fi
+
exit 0
diff --git a/dracut.sh b/dracut.sh
index e706714e..3dc2adc0 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1849,9 +1849,7 @@ if dracut_module_included "squash"; then
done
mv $initdir/init $initdir/init.stock
- mv $initdir/shutdown $initdir/shutdown.stock
ln -s squash/init.sh $initdir/init
- ln -s squash/shutdown.sh $initdir/shutdown
mksquashfs $squash_dir $squash_img -comp xz -b 64K -Xdict-size 100% &> /dev/null
diff --git a/modules.d/99squash/shutdown.sh b/modules.d/99squash/shutdown.sh
deleted file mode 100755
index 535779f4..00000000
--- a/modules.d/99squash/shutdown.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-/squash/setup-squash.sh
-
-exec /shutdown.stock
-
-echo "Something went wrong when trying to start original shutdown executable!"
-exit 1

View File

@ -1,36 +0,0 @@
From 05dc158e3c632cfd5c7fa20aee6e8373191b45fc Mon Sep 17 00:00:00 2001
From: masem <matej.semian@gmail.com>
Date: Wed, 14 Nov 2018 00:48:39 +0100
Subject: [PATCH] Delay argument "-d" requires number
Arguments "-f -d -n" fails with "invalid number -n", because -d delay expects number of seconds.
---
modules.d/99shutdown/shutdown.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh
index f21cc811..e3884a88 100755
--- a/modules.d/99shutdown/shutdown.sh
+++ b/modules.d/99shutdown/shutdown.sh
@@ -112,17 +112,17 @@ getarg 'rd.break=shutdown' && emergency_shell --shutdown shutdown "Break before
case "$ACTION" in
reboot|poweroff|halt)
- $ACTION -f -d -n
+ $ACTION -f -n
warn "$ACTION failed!"
;;
kexec)
kexec -e
warn "$ACTION failed!"
- reboot -f -d -n
+ reboot -f -n
;;
*)
warn "Shutdown called with argument '$ACTION'. Rebooting!"
- reboot -f -d -n
+ reboot -f -n
;;
esac

View File

@ -1,37 +0,0 @@
From 01ffcf342ae65984c655f10a2fd35019a492ee5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com>
Date: Wed, 14 Nov 2018 13:19:27 +0100
Subject: [PATCH] fips: removed false-positive 'FATAL: Module xxx not found'
error message when kernel provides a generic algo for module
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
---
modules.d/01fips/fips.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
index 9bc089f2..c6c986cf 100755
--- a/modules.d/01fips/fips.sh
+++ b/modules.d/01fips/fips.sh
@@ -84,7 +84,7 @@ do_fips()
mv /etc/modprobe.d/fips.conf /etc/modprobe.d/fips.conf.bak
for _module in $FIPSMODULES; do
if [ "$_module" != "tcrypt" ]; then
- if ! modprobe "${_module}"; then
+ if ! modprobe "${_module}" 2>/tmp/fips.modprobe_err; then
# check if kernel provides generic algo
_found=0
while read _k _s _v || [ -n "$_k" ]; do
@@ -93,7 +93,7 @@ do_fips()
_found=1
break
done </proc/crypto
- [ "$_found" = "0" ] && return 1
+ [ "$_found" = "0" ] && cat /tmp/fips.modprobe_err >&2 && return 1
fi
fi
done

View File

@ -1,24 +0,0 @@
From 76522d58c337e695cbffdc10afb04344f16f81b0 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Tue, 27 Nov 2018 15:27:53 +0100
Subject: [PATCH] dracut-initramfs-restore: set selinux labels
---
dracut-initramfs-restore.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
index 67fc88fa..18469772 100644
--- a/dracut-initramfs-restore.sh
+++ b/dracut-initramfs-restore.sh
@@ -49,4 +49,9 @@ if [[ -d squash ]]; then
fi
fi
+if [ -e /etc/selinux/config -a -x /usr/sbin/setfiles ] ; then
+ . /etc/selinux/config
+ /usr/sbin/setfiles -v -r /run/initramfs /etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts /run/initramfs > /dev/null
+fi
+
exit 0

View File

@ -1,29 +0,0 @@
From 79a17b0112995eb60c85c64d15070c52f213b28d Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Tue, 27 Nov 2018 15:30:48 +0100
Subject: [PATCH] network-manager: call the online hook for connected devices
Look for "connection-uuid" instead of "managed" to determine the devices
that are actually activated with a connection and call the online hook.
This fixes the anaconda-net root mount, which utilizes the online hook.
---
modules.d/35network-manager/nm-run.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh
index f6defa99..0f943631 100755
--- a/modules.d/35network-manager/nm-run.sh
+++ b/modules.d/35network-manager/nm-run.sh
@@ -9,8 +9,9 @@ fi
for _i in /sys/class/net/*/
do
state=/run/NetworkManager/devices/$(cat $_i/ifindex)
- grep -q managed=true $state 2>/dev/null || continue
+ grep -q connection-uuid= $state 2>/dev/null || continue
ifname=$(basename $_i)
sed -n 's/root-path/new_root_path/p' <$state >/tmp/dhclient.$ifname.dhcpopts
+ source_hook initqueue/online $ifname
/sbin/netroot $ifname
done

View File

@ -1,25 +0,0 @@
From a6bc200c28ac841edd12211c96dad8516095a68d Mon Sep 17 00:00:00 2001
From: Thierry Vignaud <thierry.vignaud@gmail.com>
Date: Fri, 30 Nov 2018 15:41:05 +0100
Subject: [PATCH] kill bogus comment
should have been killed in commit 4a855e6bebed956c108865823bcc131ebea2841a
---
modules.d/05busybox/module-setup.sh | 3 ---
1 file changed, 3 deletions(-)
diff --git a/modules.d/05busybox/module-setup.sh b/modules.d/05busybox/module-setup.sh
index 14d401c2..ecbd6a13 100755
--- a/modules.d/05busybox/module-setup.sh
+++ b/modules.d/05busybox/module-setup.sh
@@ -22,9 +22,6 @@ install() {
_progs="$_progs $_i"
done
- # FIXME: switch_root should be in the above list, but busybox version hangs
- # (using busybox-1.15.1-7.fc14.i686 at the time of writing)
-
for _i in $_progs; do
_path=$(find_binary "$_i")
[ -z "$_path" ] && continue

View File

@ -1,26 +0,0 @@
From fb280834d77a17a508d2bb22f5196de9ffd4fee7 Mon Sep 17 00:00:00 2001
From: "Bruno E. O. Meneguele" <bmeneg@redhat.com>
Date: Fri, 30 Nov 2018 13:01:21 -0200
Subject: [PATCH] dracut.modules.7.asc: typo correction
Correct simple typo in .7 manpage for dracut.
Signed-off-by: Bruno E. O. Meneguele <bmeneg@redhat.com>
---
dracut.modules.7.asc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.modules.7.asc b/dracut.modules.7.asc
index c34d005d..387f6da0 100644
--- a/dracut.modules.7.asc
+++ b/dracut.modules.7.asc
@@ -266,7 +266,7 @@ installs an executable/script <src> in the dracut hook <hookdir> with priority
==== inst_rules <udevrule> [ <udevrule> ...]
-installs one ore more udev rules. Non-existant udev rules are reported, but do
+installs one or more udev rules. Non-existant udev rules are reported, but do
not let dracut fail.
==== instmods <kernelmodule> [ <kernelmodule> ... ]

View File

@ -1,46 +0,0 @@
From f6e3b59e5ea6f52a25631557badc7f4dfabbd7ee Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 21 Aug 2018 13:14:44 +0200
Subject: [PATCH] network: skip already enslaved interfaces
---
modules.d/35network-legacy/ifup.sh | 6 +++++-
modules.d/40network/net-lib.sh | 7 +++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/modules.d/35network-legacy/ifup.sh b/modules.d/35network-legacy/ifup.sh
index ea2a67ff..b4f5bf10 100755
--- a/modules.d/35network-legacy/ifup.sh
+++ b/modules.d/35network-legacy/ifup.sh
@@ -408,7 +408,11 @@ for p in $(getargs ip=); do
esac
# If this option isn't directed at our interface, skip it
- [ -n "$dev" ] && [ "$dev" != "$netif" ] && continue
+ if [ -n "$dev" ]; then
+ [ "$dev" != "$netif" ] && continue
+ else
+ iface_is_enslaved "$netif" && continue
+ fi
# Store config for later use
for i in ip srv gw mask hostname macaddr mtu dns1 dns2; do
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index 1e7f1b33..964ed3ab 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -745,6 +745,13 @@ iface_has_link() {
iface_has_carrier "$@"
}
+iface_is_enslaved() {
+ local _li
+ _li=$(ip -o link show dev $1)
+ strstr "$li" " master " || return 1
+ return 0
+}
+
find_iface_with_link() {
local iface_path="" iface=""
for iface_path in /sys/class/net/*; do

View File

@ -1,76 +0,0 @@
From c38f9e980c1ee03151dd1c6602907c6228b78d30 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 4 Dec 2018 10:02:45 +0100
Subject: [PATCH] install/dracut-install.c: install module dependencies of
dependencies
---
install/dracut-install.c | 28 +++++++++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index 5f352b36..d64de545 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -84,6 +84,11 @@ static bool arg_mod_filter_noname = false;
static int dracut_install(const char *src, const char *dst, bool isdir, bool resolvedeps, bool hashdst);
+static inline void kmod_module_unrefp(struct kmod_module **p) {
+ if (*p)
+ kmod_module_unref(*p);
+}
+#define _cleanup_kmod_module_unref_ _cleanup_(kmod_module_unrefp)
static inline void kmod_module_unref_listp(struct kmod_list **p) {
if (*p)
@@ -1230,28 +1235,45 @@ static bool check_module_path(const char *path)
static int install_dependent_modules(struct kmod_list *modlist)
{
struct kmod_list *itr;
- struct kmod_module *mod;
const char *path = NULL;
const char *name = NULL;
int ret = 0;
kmod_list_foreach(itr, modlist) {
+ _cleanup_kmod_module_unref_ struct kmod_module *mod = NULL;
mod = kmod_module_get_module(itr);
path = kmod_module_get_path(mod);
+ if (check_hashmap(items_failed, path))
+ return -1;
+
+ if (check_hashmap(items, path)) {
+ continue;
+ }
+
name = kmod_module_get_name(mod);
+
if ((path == NULL) || (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0))) {
- kmod_module_unref(mod);
continue;
}
+
ret = dracut_install(path, &path[kerneldirlen], false, false, true);
if (ret == 0) {
+ _cleanup_kmod_module_unref_list_ struct kmod_list *modlist = NULL;
+ _cleanup_kmod_module_unref_list_ struct kmod_list *modpre = NULL;
+ _cleanup_kmod_module_unref_list_ struct kmod_list *modpost = NULL;
log_debug("dracut_install '%s' '%s' OK", path, &path[kerneldirlen]);
install_firmware(mod);
+ modlist = kmod_module_get_dependencies(mod);
+ ret = install_dependent_modules(modlist);
+ if (ret == 0) {
+ ret = kmod_module_get_softdeps(mod, &modpre, &modpost);
+ if (ret == 0)
+ ret = install_dependent_modules(modpre);
+ }
} else {
log_error("dracut_install '%s' '%s' ERROR", path, &path[kerneldirlen]);
}
- kmod_module_unref(mod);
}
return ret;

View File

@ -1,23 +0,0 @@
From 712f471ebfae70fd71c0c740e9a3e120464ca7e7 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 4 Dec 2018 10:06:12 +0100
Subject: [PATCH] test/test-functions: correctly move server.log
---
test/test-functions | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/test-functions b/test/test-functions
index a6254ec7..51b3df80 100644
--- a/test/test-functions
+++ b/test/test-functions
@@ -80,7 +80,7 @@ while (($# > 0)); do
ret=$?
test_cleanup
if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
- mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ mv "$TESTDIR"/server.log ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
fi
rm -fr -- "$TESTDIR"
rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}

View File

@ -1,22 +0,0 @@
From b8a8d7a64e146e452608b1f4bea1580a7b9449f6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 4 Dec 2018 10:22:28 +0100
Subject: [PATCH] fedora-test.sh: install tcpdump
---
fedora-test.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/fedora-test.sh b/fedora-test.sh
index 87023a84..e897c325 100755
--- a/fedora-test.sh
+++ b/fedora-test.sh
@@ -39,6 +39,7 @@ dnf -y install --best --allowerasing \
/usr/bin/qemu-kvm \
/usr/bin/qemu-system-$(uname -i) \
e2fsprogs \
+ tcpdump \
$NULL &>/dev/null
./configure

View File

@ -1,31 +0,0 @@
From ebe1821635dd99f07c817179ee5358d27aab53c5 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 4 Dec 2018 10:27:17 +0100
Subject: [PATCH] 95iscsi/module-setup.sh: do not require 'hostname' anymore
---
modules.d/95iscsi/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 3c791001..36cd64a6 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -4,7 +4,7 @@
check() {
local _rootdev
# If our prerequisites are not met, fail anyways.
- require_binaries hostname iscsi-iname iscsiadm iscsid || return 1
+ require_binaries iscsi-iname iscsiadm iscsid || return 1
# If hostonly was requested, fail the check if we are not actually
# booting from root.
@@ -206,7 +206,7 @@ cmdline() {
install() {
inst_multiple -o iscsiuio
inst_libdir_file 'libgcc_s.so*'
- inst_multiple umount hostname iscsi-iname iscsiadm iscsid
+ inst_multiple umount iscsi-iname iscsiadm iscsid
inst_multiple -o \
$systemdsystemunitdir/iscsid.socket \

View File

@ -1,34 +0,0 @@
From f453de79a70946a097b2d49dd9c1cecf52c71d3d Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Thu, 14 Feb 2019 20:18:04 +0100
Subject: [PATCH] install: string_hash_func should not be fed with NULL
If kmod_module_get_path returns NULL, we should skip that entry,
the hash function does not like NULL pointers.
---
install/dracut-install.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index d64de545a..9e415b5e7 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -1244,6 +1244,9 @@ static int install_dependent_modules(struct kmod_list *modlist)
mod = kmod_module_get_module(itr);
path = kmod_module_get_path(mod);
+ if (path == NULL)
+ continue;
+
if (check_hashmap(items_failed, path))
return -1;
@@ -1253,7 +1256,7 @@ static int install_dependent_modules(struct kmod_list *modlist)
name = kmod_module_get_name(mod);
- if ((path == NULL) || (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0))) {
+ if (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0)) {
continue;
}

View File

@ -1,92 +0,0 @@
From 319b21b51e7dc9343d4200e34252fc2e4d942c1f Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Mon, 27 May 2019 12:44:17 +0200
Subject: [PATCH 1/3] network-manager: also read out next-server from NM state
---
modules.d/35network-manager/nm-run.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh
index 0f9436316..c77f6074e 100755
--- a/modules.d/35network-manager/nm-run.sh
+++ b/modules.d/35network-manager/nm-run.sh
@@ -11,7 +11,7 @@ do
state=/run/NetworkManager/devices/$(cat $_i/ifindex)
grep -q connection-uuid= $state 2>/dev/null || continue
ifname=$(basename $_i)
- sed -n 's/root-path/new_root_path/p' <$state >/tmp/dhclient.$ifname.dhcpopts
+ sed -n 's/root-path/new_root_path/p;s/next-server/new_next_server/p' <$state >/tmp/dhclient.$ifname.dhcpopts
source_hook initqueue/online $ifname
/sbin/netroot $ifname
done
From ab24d818e206ab443d71194365d1d50c673a86e4 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Mon, 27 May 2019 12:43:59 +0200
Subject: [PATCH 2/3] network-manager: generate configuration with netroot=
If the root is on network, let nm-initrd-generator create configuration
even if none was explicitly specified on the command line.
Also do the same if /tmp/net.ifaces exists, because the anaconda plugin
creates an empty file in that location in hopes that will make us
configure the network.
---
modules.d/35network-manager/nm-config.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules.d/35network-manager/nm-config.sh b/modules.d/35network-manager/nm-config.sh
index 1339ebe76..1efa737c5 100755
--- a/modules.d/35network-manager/nm-config.sh
+++ b/modules.d/35network-manager/nm-config.sh
@@ -1,3 +1,7 @@
#!/bin/sh
+if [ -n "$netroot" ] || [ -e /tmp/net.ifaces ]; then
+ echo rd.neednet >> /etc/cmdline.d/35-neednet.conf
+fi
+
/usr/libexec/nm-initrd-generator -- $(getcmdline)
From 9a9c061fd70ce83191c6df5846bcb84559f46bf6 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Mon, 27 May 2019 11:12:22 +0200
Subject: [PATCH 3/3] network: parse root=dhcp also with network-manager module
Move the logic from network-legacy to common network code.
---
modules.d/35network-legacy/module-setup.sh | 1 -
modules.d/{35network-legacy => 40network}/dhcp-root.sh | 0
modules.d/40network/module-setup.sh | 1 +
3 files changed, 1 insertion(+), 1 deletion(-)
rename modules.d/{35network-legacy => 40network}/dhcp-root.sh (100%)
diff --git a/modules.d/35network-legacy/module-setup.sh b/modules.d/35network-legacy/module-setup.sh
index 71abda36d..5a82e998c 100755
--- a/modules.d/35network-legacy/module-setup.sh
+++ b/modules.d/35network-legacy/module-setup.sh
@@ -36,7 +36,6 @@ install() {
inst_simple -H "/etc/dhclient.conf"
cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
inst_hook pre-udev 60 "$moddir/net-genrules.sh"
- inst_hook cmdline 91 "$moddir/dhcp-root.sh"
inst_hook cmdline 92 "$moddir/parse-ibft.sh"
inst_hook cmdline 95 "$moddir/parse-vlan.sh"
inst_hook cmdline 96 "$moddir/parse-bond.sh"
diff --git a/modules.d/35network-legacy/dhcp-root.sh b/modules.d/40network/dhcp-root.sh
similarity index 100%
rename from modules.d/35network-legacy/dhcp-root.sh
rename to modules.d/40network/dhcp-root.sh
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index e8541636b..8e2a74a34 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -28,6 +28,7 @@ install() {
inst_script "$moddir/netroot.sh" "/sbin/netroot"
inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh"
inst_hook pre-udev 50 "$moddir/ifname-genrules.sh"
+ inst_hook cmdline 91 "$moddir/dhcp-root.sh"
dracut_need_initqueue
}

View File

@ -5,16 +5,18 @@
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
%define dist_free_release 27.git20181204
%define dist_free_release 1
Name: dracut
Version: 049
Release: %{dist_free_release}%{?dist}.2
Version: 050
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+
@ -26,46 +28,12 @@ URL: https://dracut.wiki.kernel.org/
# Source can be generated by
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%%{version};sf=tgz
Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
Patch1: 0001.patch
Patch2: 0002.patch
Patch3: 0003.patch
Patch4: 0004.patch
Patch5: 0005.patch
Patch6: 0006.patch
Patch7: 0007.patch
Patch8: 0008.patch
Patch9: 0009.patch
Patch10: 0010.patch
Patch11: 0011.patch
Patch12: 0012.patch
Patch13: 0013.patch
Patch14: 0014.patch
Patch15: 0015.patch
Patch16: 0016.patch
Patch17: 0017.patch
Patch18: 0018.patch
Patch19: 0019.patch
Patch20: 0020.patch
Patch21: 0021.patch
Patch22: 0022.patch
Patch23: 0023.patch
Patch24: 0024.patch
# https://github.com/dracutdevs/dracut/pull/541
# Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1676357
# dracut-install crash during kernel scriptlets
Patch100: 541.patch
# https://github.com/dracutdevs/dracut/pull/578
# Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1719057
# installer boot fails if network is required during initramfs
Patch101: 578.patch
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
BuildRequires: bash
BuildRequires: git
BuildRequires: kmod-devel >= 23
BuildRequires: pkgconfig(libkmod) >= 23
BuildRequires: gcc
%if 0%{?fedora} || 0%{?rhel}
@ -150,7 +118,8 @@ Requires: %{name} = %{version}-%{release}
%endif
Requires: iputils
Requires: iproute
Requires: dhclient
Requires: (NetworkManager >= 1.20 or dhclient)
Suggests: NetworkManager
Obsoletes: dracut-generic < 008
Provides: dracut-generic = %{version}-%{release}
@ -255,6 +224,9 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00bootchart
# 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
# remove gentoo specific modules
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
@ -290,21 +262,24 @@ 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
rm -f $RPM_BUILD_ROOT%{_mandir}/man?/*suse*
%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}/mkinitrd
rm -f -- $RPM_BUILD_ROOT%{_bindir}/lsinitrd
rm -f -- $RPM_BUILD_ROOT%{_mandir}/man8/mkinitrd.8*
rm -f -- $RPM_BUILD_ROOT%{_mandir}/man1/lsinitrd.1*
%endif
%if 0%{?fedora} || 0%{?rhel}
echo 'hostonly="no"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-generic-image.conf
echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-rescue.conf
%if 0%{?fedora} <=30 || 0%{?rhel} <= 8
# FIXME: remove after F30
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d
install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d/51-dracut-rescue-postinst.sh
@ -312,7 +287,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%files
%if %{with doc}
%doc README HACKING TODO AUTHORS NEWS dracut.html dracut.png dracut.svg
%doc README.md HACKING TODO AUTHORS NEWS dracut.html dracut.png dracut.svg
%endif
%{!?_licensedir:%global license %%doc}
%license COPYING lgpl-2.1.txt
@ -349,6 +324,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%{_mandir}/man8/mkinitrd.8*
%{_mandir}/man1/lsinitrd.1*
%endif
%if 0%{?suse_version}
%{_mandir}/man8/mkinitrd-suse.8*
%endif
%{_mandir}/man7/dracut.kernel.7*
%{_mandir}/man7/dracut.cmdline.7*
%{_mandir}/man7/dracut.modules.7*
@ -372,6 +350,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%{dracutlibdir}/modules.d/03rescue
%{dracutlibdir}/modules.d/04watchdog
%{dracutlibdir}/modules.d/05busybox
%{dracutlibdir}/modules.d/06rngd
%{dracutlibdir}/modules.d/10i18n
%{dracutlibdir}/modules.d/30convertfs
%{dracutlibdir}/modules.d/45url-lib
@ -388,6 +367,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%{dracutlibdir}/modules.d/90mdraid
%{dracutlibdir}/modules.d/90multipath
%{dracutlibdir}/modules.d/90stratis
%{dracutlibdir}/modules.d/90ppcmac
%{dracutlibdir}/modules.d/90qemu
%{dracutlibdir}/modules.d/91crypt-gpg
%{dracutlibdir}/modules.d/91crypt-loop
@ -445,11 +425,8 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%{_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
%if 0%{?fedora} || 0%{?rhel}
%{_prefix}/lib/kernel/install.d/50-dracut.install
%endif
%files network
%{dracutlibdir}/modules.d/02systemd-networkd
@ -498,13 +475,16 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%files config-rescue
%{dracutlibdir}/dracut.conf.d/02-rescue.conf
%if 0%{?fedora} || 0%{?rhel}
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
%if 0%{?fedora} <= 30 || 0%{?rhel} <= 8
# FIXME: remove after F30
%{_sysconfdir}/kernel/postinst.d/51-dracut-rescue-postinst.sh
%endif
%changelog
* Wed Mar 04 2020 Harald Hoyer <harald@redhat.com> - 050-1
- version 050
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 049-27.git20181204.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (dracut-049.tar.xz) = 0ae2afa43d5c415bcc0c18494fb2e4ccb8bff1535f673e366a57b9d95631f88631e6274abddb07ee14c07fb29a51e8df3467ce07dd2f5bdc5f22e29d7bea4534
SHA512 (dracut-050.tar.xz) = 9d9a66acfd6b9d2fd50855a59a2393e0602c2ef97119db046f68d6167ea84d1423fa465b8b4d96339febb38d5a96df26dec7862c4b3397c3d726db18d280eee4