diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-kernel/dracut/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-kernel/dracut/files')
6 files changed, 255 insertions, 0 deletions
diff --git a/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch b/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch new file mode 100644 index 000000000000..fd6f11859457 --- /dev/null +++ b/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch @@ -0,0 +1,32 @@ +From c41df7e1db1adc51399ab2c22f251b15eb2065b1 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy <alexander@tsoy.me> +Date: Tue, 5 Jan 2016 22:11:57 +0300 +Subject: [PATCH] base/dracut-lib.sh:dev_unit_name() guard against $dev + beginning with "-" + +crypt/parse-crypt.sh generate initqueue job which always call +dev_unit_name() with an argument beginning with "-". This results +in the following error: + +dracut-initqueue[307]: + systemd-escape -p -cfb4aa43-2f02-4c6b-a313-60ea99288087 +dracut-initqueue[307]: systemd-escape: invalid option -- 'c' +--- + 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 ad03394..0a0b1b9 100755 +--- a/modules.d/99base/dracut-lib.sh ++++ b/modules.d/99base/dracut-lib.sh +@@ -874,7 +874,7 @@ dev_unit_name() + local dev="$1" + + if command -v systemd-escape >/dev/null; then +- systemd-escape -p "$dev" ++ systemd-escape -p -- "$dev" + return + fi + +-- +2.10.2 + diff --git a/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch b/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch new file mode 100644 index 000000000000..21cb6792acd2 --- /dev/null +++ b/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch @@ -0,0 +1,24 @@ +From d4efc0aeeecc470d9a267b7f3c130f472488905c Mon Sep 17 00:00:00 2001 +From: Harald Hoyer <harald@redhat.com> +Date: Wed, 25 May 2016 15:06:29 +0200 +Subject: [PATCH] systemd-initrd: add initrd-root-device.target + +--- + modules.d/01systemd-initrd/module-setup.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh +index fb6a9ea..c1ccd2a 100755 +--- a/modules.d/01systemd-initrd/module-setup.sh ++++ b/modules.d/01systemd-initrd/module-setup.sh +@@ -28,6 +28,7 @@ install() { + inst_multiple -o \ + $systemdsystemunitdir/initrd.target \ + $systemdsystemunitdir/initrd-fs.target \ ++ $systemdsystemunitdir/initrd-root-device.target \ + $systemdsystemunitdir/initrd-root-fs.target \ + $systemdsystemunitdir/initrd-switch-root.target \ + $systemdsystemunitdir/initrd-switch-root.service \ +-- +2.10.2 + diff --git a/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch b/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch new file mode 100644 index 000000000000..85ebc7e638f2 --- /dev/null +++ b/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch @@ -0,0 +1,23 @@ +From 69395a528aed99ec04b16c14ebacf4c2e10afd26 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Fri, 4 Nov 2016 13:09:28 -0400 +Subject: [PATCH] 50-dracut.install: use /bin/bash shebang + +This script utilizes several bash-specific constructs. +--- + 50-dracut.install | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/50-dracut.install b/50-dracut.install +index 7d081d5..54c71d4 100755 +--- a/50-dracut.install ++++ b/50-dracut.install +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + COMMAND="$1" + KERNEL_VERSION="$2" +-- +2.10.2 + diff --git a/sys-kernel/dracut/files/045-systemdutildir.patch b/sys-kernel/dracut/files/045-systemdutildir.patch new file mode 100644 index 000000000000..e56abba35470 --- /dev/null +++ b/sys-kernel/dracut/files/045-systemdutildir.patch @@ -0,0 +1,45 @@ +From ed5cc98864c28eab2c4cb45ec0f67450699aaaa8 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Mon, 3 Jul 2017 22:39:42 -0400 +Subject: [PATCH] dracut.sh: improve udevdir and systemdutildir fallback logic + +Check for a common binary in systemdutildir. This resolves an issue on +split-usr systems, where it is common to have both /lib/systemd[/system] +and /usr/lib/systemd[/user] present. + +Check for systemd-udevd specifically, since some distros (Gentoo) allow +udev to be installed without the rest of the systemd stack. + +Similar logic is applied to udevdir simply for consistency. +--- + dracut.sh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/dracut.sh b/dracut.sh +index 64d94201..67c12a72 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -1266,16 +1266,16 @@ done + [[ -d $udevdir ]] \ + || udevdir="$(pkg-config udev --variable=udevdir 2>/dev/null)" + if ! [[ -d "$udevdir" ]]; then +- [[ ! -h /lib ]] && [[ -d /lib/udev ]] && udevdir=/lib/udev +- [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev ++ [[ -e /lib/udev/collect ]] && udevdir=/lib/udev ++ [[ -e /usr/lib/udev/collect ]] && udevdir=/usr/lib/udev + fi + + [[ -d $systemdutildir ]] \ + || systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null) + + if ! [[ -d "$systemdutildir" ]]; then +- [[ ! -h /lib ]] && [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd +- [[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd ++ [[ -e /lib/systemd/systemd-udevd ]] && systemdutildir=/lib/systemd ++ [[ -e /usr/lib/systemd/systemd-udevd ]] && systemdutildir=/usr/lib/systemd + fi + + [[ -d $systemdsystemunitdir ]] \ +-- +2.13.2 + diff --git a/sys-kernel/dracut/files/dracut-044-bash-4.4.patch b/sys-kernel/dracut/files/dracut-044-bash-4.4.patch new file mode 100644 index 000000000000..3144c8e6b759 --- /dev/null +++ b/sys-kernel/dracut/files/dracut-044-bash-4.4.patch @@ -0,0 +1,80 @@ +diff -urN dracut-044.orig/modules.d/50drm/module-setup.sh dracut-044/modules.d/50drm/module-setup.sh +--- dracut-044.orig/modules.d/50drm/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 ++++ dracut-044/modules.d/50drm/module-setup.sh 2016-09-28 02:50:08.914967926 +0300 +@@ -24,9 +24,9 @@ + local _fname _fcont + while read _fname || [ -n "$_fname" ]; do + case "$_fname" in +- *.ko) _fcont="$(< $_fname)" ;; +- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;; +- *.ko.xz) _fcont="$(xz -dc $_fname)" ;; ++ *.ko) _fcont="$(< $_fname tr -d \\0)" ;; ++ *.ko.gz) _fcont="$(gzip -dc $_fname | tr -d \\0)" ;; ++ *.ko.xz) _fcont="$(xz -dc $_fname | tr -d \\0)" ;; + esac + [[ $_fcont =~ $_drm_drivers + && ! $_fcont =~ iw_handler_get_spy ]] \ +diff -urN dracut-044.orig/modules.d/90kernel-modules/module-setup.sh dracut-044/modules.d/90kernel-modules/module-setup.sh +--- dracut-044.orig/modules.d/90kernel-modules/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 ++++ dracut-044/modules.d/90kernel-modules/module-setup.sh 2016-09-28 02:49:11.725390294 +0300 +@@ -10,9 +10,9 @@ + function bmf1() { + local _f + while read _f || [ -n "$_f" ]; do case "$_f" in +- *.ko) [[ $(< $_f) =~ $_blockfuncs ]] && echo "$_f" ;; +- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;; +- *.ko.xz) [[ $(xz -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;; ++ *.ko) [[ $(< $_f tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;; ++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;; ++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;; + esac + done + return 0 +diff -urN dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh dracut-044/modules.d/90kernel-network-modules/module-setup.sh +--- dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 ++++ dracut-044/modules.d/90kernel-network-modules/module-setup.sh 2016-09-28 02:51:08.202422231 +0300 +@@ -26,9 +26,9 @@ + while read _fname; do + [[ $_fname =~ $_unwanted_drivers ]] && continue + case "$_fname" in +- *.ko) _fcont="$(< $_fname)" ;; +- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;; +- *.ko.xz) _fcont="$(xz -dc $_fname)" ;; ++ *.ko) _fcont="$(< $_fname tr -d \\0)" ;; ++ *.ko.gz) _fcont="$(gzip -dc $_fname | tr -d \\0)" ;; ++ *.ko.xz) _fcont="$(xz -dc $_fname | tr -d \\0)" ;; + esac + [[ $_fcont =~ $_net_drivers + && ! $_fcont =~ iw_handler_get_spy ]] \ +diff -urN dracut-044.orig/modules.d/90multipath/module-setup.sh dracut-044/modules.d/90multipath/module-setup.sh +--- dracut-044.orig/modules.d/90multipath/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 ++++ dracut-044/modules.d/90multipath/module-setup.sh 2016-09-28 02:49:11.726390235 +0300 +@@ -58,9 +58,9 @@ + local _f + while read _f || [ -n "$_f" ]; do + case "$_f" in +- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;; +- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; +- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko) [[ $(< $_f tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; + esac + done + return 0 +diff -urN dracut-044.orig/modules.d/95iscsi/module-setup.sh dracut-044/modules.d/95iscsi/module-setup.sh +--- dracut-044.orig/modules.d/95iscsi/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 ++++ dracut-044/modules.d/95iscsi/module-setup.sh 2016-09-28 02:49:11.726390235 +0300 +@@ -168,9 +168,9 @@ + local _f + while read _f || [ -n "$_f" ]; do + case "$_f" in +- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;; +- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; +- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko) [[ $(< $_f tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; + esac + done + return 0 diff --git a/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch b/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch new file mode 100644 index 000000000000..3146d8485a9c --- /dev/null +++ b/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch @@ -0,0 +1,51 @@ +From 61c761bc2c35fb244d46fbbde97161f5927071dc Mon Sep 17 00:00:00 2001 +From: Stefan Berger <stefanb@us.ibm.com> +Date: Tue, 25 Oct 2016 15:09:49 -0400 +Subject: [PATCH] dracut-install: preserve extended attributes when copying + files + +Preserve extended attributes when copying files using dracut-install. + +The copying of extended attributes avoids file execution denials when +the Linux Integrity Measurement's Appraisal mode is active. In that mode +executables need their file signatures copied. In particular, this patch +solves the problem that dependent libaries are not included in the +initramfs since the copied programs could not be executed due to missing +signatures. The following audit record shows the type of failure that +is now prevented: + +type=INTEGRITY_DATA msg=audit(1477409025.492:30065): pid=922 uid=0 + auid=4294967295 ses=4294967295 + subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 + op="appraise_data" cause="IMA-signature-required" + comm="ld-linux-x86-64" + name="/var/tmp/dracut.R6ySa4/initramfs/usr/bin/journalctl" + dev="dm-0" ino=37136 res=0 + +Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> +--- + install/dracut-install.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/install/dracut-install.c b/install/dracut-install.c +index fe30bba..c0f1c17 100644 +--- a/install/dracut-install.c ++++ b/install/dracut-install.c +@@ -294,7 +294,7 @@ static int cp(const char *src, const char *dst) + normal_copy: + pid = fork(); + if (pid == 0) { +- execlp("cp", "cp", "--reflink=auto", "--sparse=auto", "--preserve=mode,timestamps", "-fL", src, dst, ++ execlp("cp", "cp", "--reflink=auto", "--sparse=auto", "--preserve=mode,timestamps,xattr", "-fL", src, dst, + NULL); + _exit(EXIT_FAILURE); + } +@@ -302,7 +302,7 @@ static int cp(const char *src, const char *dst) + while (waitpid(pid, &ret, 0) < 0) { + if (errno != EINTR) { + ret = -1; +- log_error("Failed: cp --reflink=auto --sparse=auto --preserve=mode,timestamps -fL %s %s", src, ++ log_error("Failed: cp --reflink=auto --sparse=auto --preserve=mode,timestamps,xattr -fL %s %s", src, + dst); + break; + } |