From: Harald Hoyer Date: Mon, 4 Jun 2012 09:33:29 +0000 (+0200) Subject: dracut.sh: do not rely on the presence of lib64, check with ldd X-Git-Tag: 019~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=01bbe8311a1ca08cd18560918a4233416185af48;p=thirdparty%2Fdracut.git dracut.sh: do not rely on the presence of lib64, check with ldd --- diff --git a/dracut.sh b/dracut.sh index b52c69197..d8535dbc7 100755 --- a/dracut.sh +++ b/dracut.sh @@ -527,16 +527,23 @@ ddebug "Executing $0 $dracut_args" } # Detect lib paths -[[ $libdir ]] || for libdir in /lib64 /lib; do - [[ -d $libdir ]] && libdirs+=" $libdir" && break -done || { - dfatal 'No lib directory?!!!' - exit 1 -} - -[[ $usrlibdir ]] || for usrlibdir in /usr/lib64 /usr/lib; do - [[ -d $usrlibdir ]] && libdirs+=" $usrlibdir" && break -done || dwarn 'No usr/lib directory!' +if ! [[ $libdir ]] || ! [[ $usrlibdir ]] ; then + if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \ + && [[ -d /lib64 ]]; then + libdir=/lib64 + usrlibdir=/usr/lib64 + else + libdir=/lib + usrlibdir=/usr/lib + fi + 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. case $dracutmodules in