dracut-functions.sh: if no libdirs are set, take the ld.so.cache paths
authorHarald Hoyer <harald@redhat.com>
Tue, 13 Aug 2013 18:00:55 +0000 (20:00 +0200)
committerHarald Hoyer <harald@redhat.com>
Wed, 14 Aug 2013 13:04:05 +0000 (15:04 +0200)
dracut-functions.sh

index 6033a1a..ec31cf1 100755 (executable)
@@ -55,6 +55,21 @@ if ! [[ $dracutbasedir ]]; then
     dracutbasedir="$(readlink -f $dracutbasedir)"
 fi
 
+ldconfig_paths()
+{
+    local a i
+    declare -A a
+    for i in $(
+        ldconfig -pN 2>/dev/null | while read a b c d; do
+            [[ "$c" != "=>" ]] && continue
+            echo ${d%/*};
+        done
+    ); do
+        a["$i"]=1;
+    done;
+    printf "%s\n" ${!a[@]}
+}
+
 # Detect lib paths
 if ! [[ $libdirs ]] ; then
     if [[ "$(ldd /bin/sh)" == */lib64/* ]] &>/dev/null \
@@ -65,6 +80,9 @@ if ! [[ $libdirs ]] ; then
         libdirs+=" /lib"
         [[ -d /usr/lib ]] && libdirs+=" /usr/lib"
     fi
+
+    libdirs+="$(ldconfig_paths)"
+
     export libdirs
 fi