X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm-find-requires;h=431d96564b820010d97bd5438cc5f387145c4ddd;hb=231830119f0fb98a7ef4ef51d79b36a6f1c105d1;hp=6f2331b643921473dca6dad1edc8ec214b570d81;hpb=6cbf5aed81585822cbadf922f70d711f74f5967c;p=packages%2Frpm.git diff --git a/rpm-find-requires b/rpm-find-requires index 6f2331b..431d965 100755 --- a/rpm-find-requires +++ b/rpm-find-requires @@ -16,6 +16,13 @@ if [ -f __rpm_noautoreqfiles ] ; then filelist=`echo $filelist | sed "s![[:space:]]*$i[[:space:]]*!!g"` done fi + +# --- Alpha does not mark 64bit dependencies +case `uname -m` in + alpha*) mark64="" ;; + *) mark64="()(64bit)" ;; +esac + exelist=`echo $filelist | xargs -r file | grep ":.*executable" |grep -v ":.*script"| cut -d: -f1 ` elfexelist=`echo $exelist | xargs -r file | egrep ":.* ELF" | cut -d: -f1 ` aoutexelist=`echo $exelist | xargs -r file | egrep -v ":.* ELF" | cut -d: -f1 ` @@ -30,7 +37,9 @@ done | sort -u | sed "s/['\"]/\\\&/g" | xargs -r -n 1 basename | grep -v 'libNoV ` elfexerequires=`for f in $elfexelist; do - objdump -p $f|awk '/NEEDED/ {print $2}' + lib64=`if file -L $f 2>/dev/null | \ + grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi` + objdump -p $f | awk -v lib64="$lib64" '/NEEDED/ {print $2 lib64}' done | sed "s/['\"]/\\\&/g" | grep -v 'libNoVersion.so' | sort -u ` @@ -40,7 +49,9 @@ done | sort -u | sed "s/['\"]/\\\&/g" | xargs -r -n 1 basename | grep -v 'libNoV ` elflibrequires=`for f in $elfliblist; do - objdump -p $f|awk '/NEEDED/ {print $2}' + lib64=`if file -L $f 2>/dev/null | \ + grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi` + objdump -p $f | awk -v lib64="$lib64" '/NEEDED/ {print $2 lib64}' done | sed "s/['\"]/\\\&/g" | grep -v 'libNoVersion.so' | sort -u `