dracut.sh: do not rely on the presence of lib64, check with ldd

master
Harald Hoyer 2012-06-04 11:33:29 +02:00
parent 21928b97b0
commit 01bbe8311a
1 changed files with 17 additions and 10 deletions

View File

@ -527,16 +527,23 @@ ddebug "Executing $0 $dracut_args"
} }


# Detect lib paths # Detect lib paths
[[ $libdir ]] || for libdir in /lib64 /lib; do if ! [[ $libdir ]] || ! [[ $usrlibdir ]] ; then
[[ -d $libdir ]] && libdirs+=" $libdir" && break if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \
done || { && [[ -d /lib64 ]]; then
dfatal 'No lib directory?!!!' libdir=/lib64
exit 1 usrlibdir=/usr/lib64
} else

libdir=/lib
[[ $usrlibdir ]] || for usrlibdir in /usr/lib64 /usr/lib; do usrlibdir=/usr/lib
[[ -d $usrlibdir ]] && libdirs+=" $usrlibdir" && break fi
done || dwarn 'No usr/lib directory!' for i in $libdir $usrlibdir; do
if [[ -d $i ]]; then
libdirs+=" $i"
else
dwarn 'No $i directory??!!'
fi
done
fi


# This is kinda legacy -- eventually it should go away. # This is kinda legacy -- eventually it should go away.
case $dracutmodules in case $dracutmodules in