aidecoe 14/03/20 08:51:44
Added:
037-0004-Install-dracut-install-into-libexec-di.patch
037-0002-gentoo.conf-let-udevdir-be-handled-by-.patch
037-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch
037-0001-dracut-functions.sh-support-for-altern.patch
Log:
Version bump. New udev and systemd are unblocked.
dracut-037
==========
- dracut: hostonly_cmdline variable and command line switch
Toggle hostonly cmdline storing in the initramfs
--hostonly-cmdline:
Store kernel command line arguments needed in the initramfs
--no-hostonly-cmdline:
Do not store kernel command line arguments needed in the initramfs
- dracut: --mount now understands full fstab lines
- dracut now also includes drivers from the /lib/modules/<version>/updates
directory
- dracut: only set the owner of files to 0:0, if generated as non-root
- dracut now directly writes to the initramfs file
- dracut: call lz4 with the legacy flag (linux kernel does not support the
new format)
- systemd: rootfs-generator generates JobTimeout=0 units for the root device
- systemd: added the systemd-sysctl service
- systemd: add 80-net-setup-link.rules and .link files for persistent
interface renaming
- systemd: make dracut-shutdown.service failure non-fatal
- network: various IPv6 fixes
- network: DCHCP for IPv6
- network: understand ip=.....:<dns1>:<dns2>
- network: parse ibft nameserver settings
- shutdown: if kexec fails, just reboot
- lvm: handle one LV at a time with lvchange
- module-setup.sh: New functions require_binaries() and require_any_binary()
to be used in the check() section of module-setup.sh.
- a lot of small bugfixes
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key
F0134531E1DBFAB5)
Revision Changes Path
1.1
sys-kernel/dracut/files/037-0004-Install-dracut-install-into-libexec-di.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/037-0004-Install-dracut-install-into-libexec-di.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/037-0004-Install-dracut-install-into-libexec-di.patch?rev=1.1&content-type=text/plain
Index: 037-0004-Install-dracut-install-into-libexec-di.patch
===================================================================
>From c379589cc5cdd0c4e9e559b9edde44410416d2fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <[email protected]>
Date: Wed, 2 Oct 2013 22:40:43 +0200
Subject: [PATCH 4/4] Install dracut-install into libexec dir instead of lib
dir
dracut-install script is the only thing ABI specific atm.
See https://bugs.gentoo.org/show_bug.cgi?id=485218 for details on the
problem.
---
Makefile | 4 +++-
configure | 1 +
dracut-functions.sh | 4 ++++
dracut.sh | 1 +
4 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index cab7755..fd936f2 100644
--- a/Makefile
+++ b/Makefile
@@ -104,6 +104,7 @@ install: dracut-version.sh
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5
$(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
sed -r \
+ -e "s|^(libexecdir)=.*|\1=$(libexecdir)|" \
-e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
-i $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
@@ -147,7 +148,8 @@ endif
done \
fi
if [ -f install/dracut-install ]; then \
- install -m 0755 install/dracut-install
$(DESTDIR)$(pkglibdir)/dracut-install; \
+ mkdir -p $(DESTDIR)$(libexecdir); \
+ install -m 0755 install/dracut-install
$(DESTDIR)$(libexecdir)/dracut-install; \
fi
if [ -f skipcpio/skipcpio ]; then \
install -m 0755 skipcpio/skipcpio
$(DESTDIR)$(pkglibdir)/skipcpio; \
diff --git a/configure b/configure
index 19b5e1f..d2ffc2c 100755
--- a/configure
+++ b/configure
@@ -61,6 +61,7 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
mandir ?= ${mandir:-${prefix}/share/man}
enable_documentation ?= ${enable_documentation:-yes}
bindir ?= ${bindir:-${prefix}/bin}
+libexecdir ?= ${libexecdir:-${prefix}/libexec}
EOF
{
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 6281fa0..e2b1a7a 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -740,6 +740,10 @@ if ! [[ $DRACUT_INSTALL ]]; then
DRACUT_INSTALL=$(find_binary dracut-install)
fi
+if ! [[ $DRACUT_INSTALL ]] && [[ -x $libexecdir/dracut-install ]]; then
+ DRACUT_INSTALL=$libexecdir/dracut-install
+fi
+
if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then
DRACUT_INSTALL=$dracutbasedir/dracut-install
fi
diff --git a/dracut.sh b/dracut.sh
index b1141de..6cf80b4 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -27,6 +27,7 @@
dracut_args=( "$@" )
# base dirs
+libexecdir=/usr/libexec
pkglibdir=/usr/lib/dracut
dracutbasedir="$pkglibdir"
--
1.9.0
1.1
sys-kernel/dracut/files/037-0002-gentoo.conf-let-udevdir-be-handled-by-.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/037-0002-gentoo.conf-let-udevdir-be-handled-by-.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/037-0002-gentoo.conf-let-udevdir-be-handled-by-.patch?rev=1.1&content-type=text/plain
Index: 037-0002-gentoo.conf-let-udevdir-be-handled-by-.patch
===================================================================
>From 48b6551c95897a89be2510b268b8d89bfd6dc851 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <[email protected]>
Date: Sun, 16 Dec 2012 20:02:48 +0100
Subject: [PATCH 2/4] gentoo.conf: let udevdir= be handled by pkg-config and
use udevaltdirs
To avoid need of rebuild after udev update/downgrade let udevdir= be set
dynamically with pkg-config. Use udevaltdirs to search for rules both
in old and new locations.
---
dracut.conf.d/gentoo.conf.example | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dracut.conf.d/gentoo.conf.example
b/dracut.conf.d/gentoo.conf.example
index 26e7314..f9617f0 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -1,7 +1,8 @@
# /etc/dracut.conf.d/gentoo.conf
# dracut config file customized for Gentoo Base System release 2
-udevdir=/lib/udev
+udevdir=
+udevaltdirs="/lib/udev /usr/lib/udev"
ro_mnt=yes
#
--
1.9.0
1.1
sys-kernel/dracut/files/037-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/037-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/037-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch?rev=1.1&content-type=text/plain
Index: 037-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch
===================================================================
>From e40f005daf74f6b6b62ea2e7fc352f097caf5f13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <[email protected]>
Date: Wed, 2 Oct 2013 22:37:09 +0200
Subject: [PATCH 3/4] Use the same paths in dracut.sh as those set with
configure script
Makefile alters destination main dracut script and sets dracutbasedir to
the value of pkglibdir set in configure.
---
Makefile | 3 +++
dracut.sh | 9 ++++-----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index ceb7096..cab7755 100644
--- a/Makefile
+++ b/Makefile
@@ -103,6 +103,9 @@ install: dracut-version.sh
mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5
$(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
+ sed -r \
+ -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
+ -i $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
diff --git a/dracut.sh b/dracut.sh
index c1ef474..b1141de 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -26,10 +26,13 @@
# store for logging
dracut_args=( "$@" )
+# base dirs
+pkglibdir=/usr/lib/dracut
+dracutbasedir="$pkglibdir"
+
set -o pipefail
usage() {
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
@@ -54,7 +57,6 @@ EOF
}
long_usage() {
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
@@ -652,8 +654,6 @@ export DRACUT_LOG_LEVEL=warning
debug=yes
}
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
-
# if we were not passed a config file, try the default one
if [[ ! -f $conffile ]]; then
if [[ $allowlocal ]]; then
@@ -773,7 +773,6 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
[[ $use_fstab_l ]] && use_fstab=$use_fstab_l
[[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
[[ $lvmconf_l ]] && lvmconf=$lvmconf_l
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
[[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
[[ $tmpdir ]] || tmpdir=/var/tmp
--
1.9.0
1.1
sys-kernel/dracut/files/037-0001-dracut-functions.sh-support-for-altern.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/037-0001-dracut-functions.sh-support-for-altern.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/037-0001-dracut-functions.sh-support-for-altern.patch?rev=1.1&content-type=text/plain
Index: 037-0001-dracut-functions.sh-support-for-altern.patch
===================================================================
>From 9cdda4d50eddf8a14c57f986c6c4f86bc9619269 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <[email protected]>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 1/4] dracut-functions.sh: support for alternative udev dirs -
udevaltdirs
It is required for Gentoo which moves udev from / to /usr and supports
both /lib/udev and /usr/lib/udev for compatibility with other packages.
Credits go to Alexander Tsoy <[email protected]>.
Conflicts:
dracut-functions.sh
---
dracut-functions.sh | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 391b549..6281fa0 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -918,6 +918,16 @@ inst_rules() {
inst_dir "$_target"
for _rule in "$@"; do
if [ "${_rule#/}" = "$_rule" ]; then
+ for r in ${udevaltdirs}; do
+ [[ "$r" = "${udevdir}" ]] && continue
+ if [[ -e $r/rules.d/$_rule ]]; then
+ _found="$r/rules.d/$_rule"
+ inst_rule_programs "$_found"
+ inst_rule_group_owner "$_found"
+ inst_rule_initqueue "$_found"
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+ fi
+ done
for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do
if [[ -e $r/$_rule ]]; then
_found="$r/$_rule"
--
1.9.0