commit:     ba41bafca7f0dfb4420984b96775ebefe0e7406a
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 20 17:26:50 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Dec 20 17:27:12 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba41bafc

sys-kernel/dracut: apply patch to resolve error loading libgcc.so.1

Closes: https://bugs.gentoo.org/760249
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 .../{dracut-051.ebuild => dracut-051-r1.ebuild}    |  1 +
 .../dracut/files/051-dracut.sh-move-ldconfig.patch | 60 ++++++++++++++++++++++
 2 files changed, 61 insertions(+)

diff --git a/sys-kernel/dracut/dracut-051.ebuild 
b/sys-kernel/dracut/dracut-051-r1.ebuild
similarity index 98%
rename from sys-kernel/dracut/dracut-051.ebuild
rename to sys-kernel/dracut/dracut-051-r1.ebuild
index 69b97ddb7c4..60a9ba03892 100644
--- a/sys-kernel/dracut/dracut-051.ebuild
+++ b/sys-kernel/dracut/dracut-051-r1.ebuild
@@ -64,6 +64,7 @@ DOCS=( AUTHORS HACKING NEWS README.md README.generic 
README.kernel README.module
 QA_MULTILIB_PATHS="usr/lib/dracut/.*"
 
 PATCHES=(
+       "${FILESDIR}"/051-dracut.sh-move-ldconfig.patch
        "${FILESDIR}"/gentoo-ldconfig-paths.patch
 )
 

diff --git a/sys-kernel/dracut/files/051-dracut.sh-move-ldconfig.patch 
b/sys-kernel/dracut/files/051-dracut.sh-move-ldconfig.patch
new file mode 100644
index 00000000000..d6d97f7bb94
--- /dev/null
+++ b/sys-kernel/dracut/files/051-dracut.sh-move-ldconfig.patch
@@ -0,0 +1,60 @@
+From 48258fae9fa58046d7d1a246ea3d821530180643 Mon Sep 17 00:00:00 2001
+From: Alexander Tsoy <[email protected]>
+Date: Fri, 18 Dec 2020 00:01:32 +0300
+Subject: [PATCH] dracut.sh: Move ldconfig after library workaround
+
+This fixes boot failures when libgcc_s.so.1 is in a non-standard
+directory.
+
+Bug: https://bugs.gentoo.org/760249
+Fixes: de3cb0e3214c (dracut.sh: Move the library workaround after squash)
+---
+ dracut.sh | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 0f4648397..c6c361acc 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1724,20 +1724,6 @@ for ((i=0; i < ${#include_src[@]}; i++)); do
+     fi
+ done
+ 
+-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
+-fi
+-
+ if [[ $do_hardlink = yes ]] && command -v hardlink >/dev/null; then
+     dinfo "*** Hardlinking files ***"
+     hardlink "$initdir" 2>&1
+@@ -1920,6 +1906,20 @@ if [[ $kernel_only != yes ]]; then
+     fi
+ 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
++fi
++
+ if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then
+     dinfo "*** Stripping files ***"
+     find "$initdir" -type f \

Reply via email to