aidecoe 15/03/28 14:08:04 Added: 041-r2-0003-Take-into-account-lib64-dirs-when-dete.patch 041-r2-0002-Install-dracut-install-and-skipcpio-in.patch 041-r2-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch Removed: 041-r1-0004-Don-t-install-scripts-in-kernel-instal.patch 041-r1-0002-Install-dracut-install-and-skipcpio-in.patch 041-r1-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch 041-r1-0003-Take-into-account-lib64-dirs-when-dete.patch Log: Don't remove kernel/install.d scripts if systemd is enabled. Fix bug #544558. (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key F0134531E1DBFAB5)
Revision Changes Path 1.1 sys-kernel/dracut/files/041-r2-0003-Take-into-account-lib64-dirs-when-dete.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/041-r2-0003-Take-into-account-lib64-dirs-when-dete.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/041-r2-0003-Take-into-account-lib64-dirs-when-dete.patch?rev=1.1&content-type=text/plain Index: 041-r2-0003-Take-into-account-lib64-dirs-when-dete.patch =================================================================== >From acfd4d98e821dbaa9ae68dde82fb8843fbf5de59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aide...@aidecoe.name> Date: Sun, 11 Jan 2015 15:10:39 +0100 Subject: [PATCH 3/4] Take into account lib64 dirs when detecting version, modules and params --- lsinitrd.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lsinitrd.sh b/lsinitrd.sh index 2ed6e56..0355c87 100755 --- a/lsinitrd.sh +++ b/lsinitrd.sh @@ -108,6 +108,12 @@ if ! [[ -f "$image" ]]; then exit 1 fi +dracutlibdirs() { + for d in lib64/dracut lib/dracut usr/lib64/dracut usr/lib/dracut; do + echo "$d/$1" + done +} + extract_files() { (( ${#filenames[@]} == 1 )) && nofileinfo=1 @@ -124,7 +130,8 @@ extract_files() list_modules() { echo "dracut modules:" - $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/modules.txt' 'usr/lib/dracut/modules.txt' 2>/dev/null + $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- \ + $(dracutlibdirs modules.txt) 2>/dev/null ((ret+=$?)) } @@ -217,7 +224,8 @@ ret=0 if (( ${#filenames[@]} > 0 )); then extract_files else - version=$($CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/dracut-*' 'usr/lib/dracut/dracut-*' 2>/dev/null) + version=$($CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- \ + $(dracutlibdirs 'dracut-*') 2>/dev/null) ((ret+=$?)) echo "Version: $version" echo @@ -226,7 +234,8 @@ else echo "========================================================================" else echo -n "Arguments: " - $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/build-parameter.txt' 'usr/lib/dracut/build-parameter.txt' 2>/dev/null + $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- \ + $(dracutlibdirs build-parameter.txt) 2>/dev/null echo list_modules list_files -- 2.3.3 1.1 sys-kernel/dracut/files/041-r2-0002-Install-dracut-install-and-skipcpio-in.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/041-r2-0002-Install-dracut-install-and-skipcpio-in.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/041-r2-0002-Install-dracut-install-and-skipcpio-in.patch?rev=1.1&content-type=text/plain Index: 041-r2-0002-Install-dracut-install-and-skipcpio-in.patch =================================================================== >From 7d8dadfdb2d59ac60c6a579f602e13ac7c743e39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aide...@aidecoe.name> Date: Wed, 2 Oct 2013 22:40:43 +0200 Subject: [PATCH 2/4] Install dracut-install and skipcpio into libexec dir instead of lib dir dracut-install and skipcpio are the only ABI specific things atm. See https://bugs.gentoo.org/show_bug.cgi?id=485218 for details on the problem. --- Makefile | 7 +++++-- configure | 1 + dracut-functions.sh | 4 ++++ dracut-initramfs-restore.sh | 4 ++-- dracut.sh | 1 + lsinitrd.sh | 4 ++-- 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 41968b0..bb007d1 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,10 +148,12 @@ endif done \ fi if [ -f install/dracut-install ]; then \ - install -m 0755 install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \ + mkdir -p $(DESTDIR)$(libexecdir)/dracut; \ + install -m 0755 install/dracut-install $(DESTDIR)$(libexecdir)/dracut/dracut-install; \ fi if [ -f skipcpio/skipcpio ]; then \ - install -m 0755 skipcpio/skipcpio $(DESTDIR)$(pkglibdir)/skipcpio; \ + mkdir -p $(DESTDIR)$(libexecdir)/dracut; \ + install -m 0755 skipcpio/skipcpio $(DESTDIR)$(libexecdir)/dracut/skipcpio; \ fi mkdir -p $(DESTDIR)${prefix}/lib/kernel/install.d install -m 0755 50-dracut.install $(DESTDIR)${prefix}/lib/kernel/install.d/50-dracut.install diff --git a/configure b/configure index 0bd3d2d..17370de 100755 --- a/configure +++ b/configure @@ -59,6 +59,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 37ddca2..953acd1 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -733,6 +733,10 @@ if ! [[ $DRACUT_INSTALL ]]; then DRACUT_INSTALL=$(find_binary dracut-install) fi +if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutlibexecdir/dracut-install ]]; then + DRACUT_INSTALL=$dracutlibexecdir/dracut-install +fi + if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then DRACUT_INSTALL=$dracutbasedir/dracut-install elif ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/install/dracut-install ]]; then diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh index 8b9b80f..8dd358e 100644 --- a/dracut-initramfs-restore.sh +++ b/dracut-initramfs-restore.sh @@ -8,8 +8,8 @@ set -e KERNEL_VERSION="$(uname -r)" -[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut -SKIP="$dracutbasedir/skipcpio" +[[ $dracutlibexecdir ]] || dracutlibexecdir=/usr/libexec/dracut +SKIP="$dracutlibexecdir/skipcpio" [[ -x $SKIP ]] || SKIP=cat [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id diff --git a/dracut.sh b/dracut.sh index 89a711e..9cfeef1 100755 --- a/dracut.sh +++ b/dracut.sh @@ -25,6 +25,7 @@ dracut_args=( "$@" ) # base dirs +dracutlibexecdir=/usr/libexec/dracut pkglibdir=/usr/lib/dracut dracutbasedir="$pkglibdir" diff --git a/lsinitrd.sh b/lsinitrd.sh index 4f12c2c..2ed6e56 100755 --- a/lsinitrd.sh +++ b/lsinitrd.sh @@ -33,7 +33,7 @@ usage() } -[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +[[ $dracutlibexecdir ]] || dracutlibexecdir=/usr/libexec/dracut sorted=0 modules=0 @@ -158,7 +158,7 @@ case $bin in echo "Early CPIO image" list_files fi - SKIP="$dracutbasedir/skipcpio" + SKIP="$dracutlibexecdir/skipcpio" if ! [[ -x $SKIP ]]; then echo echo "'$SKIP' not found, cannot display remaining contents!" >&2 -- 2.3.3 1.1 sys-kernel/dracut/files/041-r2-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/041-r2-0001-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/041-r2-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch?rev=1.1&content-type=text/plain Index: 041-r2-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch =================================================================== >From 89334439113c0ea8196ac5e9e188e6a1bbebe267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aide...@aidecoe.name> Date: Wed, 2 Oct 2013 22:37:09 +0200 Subject: [PATCH 1/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 41ae274..41968b0 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 5e2feba..89a711e 100755 --- a/dracut.sh +++ b/dracut.sh @@ -24,10 +24,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 @@ -52,7 +55,6 @@ EOF } long_usage() { - [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut if [[ -f $dracutbasedir/dracut-version.sh ]]; then . $dracutbasedir/dracut-version.sh fi @@ -666,8 +668,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 @@ -808,7 +808,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 -- 2.3.3