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.master
parent
185e940e27
commit
1d50dfe602
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue