You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.5 KiB
43 lines
1.5 KiB
From 03bf7758aa08e6533f438b4a60b4d5bd1847b1cd 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 38095ba4..2872516a 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
|
|
|