44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
|
From 1d50dfe6025126c38b1d23815360bd48e9e8c24c Mon Sep 17 00:00:00 2001
|
||
|
From: Colin Guthrie <colin@mageia.org>
|
||
|
Date: Sat, 2 Nov 2013 11:26:30 +0000
|
||
|
Subject: [PATCH] dracut-functions.sh: Avoid loading unnecessary 32-bit
|
||
|
libraries for 64-bit initrds
|
||
|
|
||
|
Due to the 'inst_libdir_file "libnss_files*"' in the udev-rules module
|
||
|
this caues the /usr/lib/libnss_files-2.18.so* to be included. This is a
|
||
|
32-bit library and pulls in a 32-bit version of glibc also even on a
|
||
|
64-bit system.
|
||
|
|
||
|
This is due to the fact that ldconfig -pN will print [/usr]/lib paths
|
||
|
from the cache as well as [/usr]/lib64. As we handle these paths
|
||
|
specifically we should ignore these results from the cache.
|
||
|
|
||
|
Also there was a missing space when appending the ldconfig paths
|
||
|
onto our list meaning the last builtin and first ldconfig path
|
||
|
were unusable.
|
||
|
---
|
||
|
dracut-functions.sh | 3 ++-
|
||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||
|
index 38095ba..2872516 100755
|
||
|
--- a/dracut-functions.sh
|
||
|
+++ b/dracut-functions.sh
|
||
|
@@ -65,6 +65,7 @@ ldconfig_paths()
|
||
|
printf "%s\n" ${d%/*};
|
||
|
done
|
||
|
); do
|
||
|
+ [[ "$i" = "/lib" || "$i" = "/usr/lib" || "$i" = "/lib64" || "$i" = "/usr/lib64" ]] && continue
|
||
|
a["$i"]=1;
|
||
|
done;
|
||
|
printf "%s\n" ${!a[@]}
|
||
|
@@ -81,7 +82,7 @@ if ! [[ $libdirs ]] ; then
|
||
|
[[ -d /usr/lib ]] && libdirs+=" /usr/lib"
|
||
|
fi
|
||
|
|
||
|
- libdirs+="$(ldconfig_paths)"
|
||
|
+ libdirs+=" $(ldconfig_paths)"
|
||
|
|
||
|
export libdirs
|
||
|
fi
|