diff options
author | 2000-10-18 06:17:25 +0000 | |
---|---|---|
committer | 2000-10-18 06:17:25 +0000 | |
commit | 6c308ec0ea861afeceeb4cb866526fd40bf93ff9 (patch) | |
tree | 3aa1a78798927d262a283c560441cb579d53d5a6 /sys-apps | |
parent | *** empty log message *** (diff) | |
download | gentoo-2-6c308ec0ea861afeceeb4cb866526fd40bf93ff9.tar.gz gentoo-2-6c308ec0ea861afeceeb4cb866526fd40bf93ff9.tar.bz2 gentoo-2-6c308ec0ea861afeceeb4cb866526fd40bf93ff9.zip |
*** empty log message ***
Diffstat (limited to 'sys-apps')
-rwxr-xr-x | sys-apps/portage/files/bin/find-packages | 13 | ||||
-rwxr-xr-x | sys-apps/portage/files/bin/find-requires | 41 |
2 files changed, 54 insertions, 0 deletions
diff --git a/sys-apps/portage/files/bin/find-packages b/sys-apps/portage/files/bin/find-packages new file mode 100755 index 000000000000..d808dd5777d6 --- /dev/null +++ b/sys-apps/portage/files/bin/find-packages @@ -0,0 +1,13 @@ +#!/bin/sh + + +filelist=`sed "s/['\"]/\\\&/g"` + +for f in $filelist; do + file=`grep -r "$f ->" /var/db/pkg/*/*/CONTENTS` + file=${file#/*/*/*/*/} + file=${file%*/CONTENTS:*} + echo $file +done | sort -u + + diff --git a/sys-apps/portage/files/bin/find-requires b/sys-apps/portage/files/bin/find-requires new file mode 100755 index 000000000000..eaf720da3973 --- /dev/null +++ b/sys-apps/portage/files/bin/find-requires @@ -0,0 +1,41 @@ +#!/bin/sh + +# note this works for both a.out and ELF executables +# it also auto-generates requirment lines for shell scripts + +ulimit -c 0 + +filelist=`sed "s/['\"]/\\\&/g"` +exelist=`echo $filelist | xargs -r file | grep ":.*executable" | cut -d: -f1 ` +scriptlist=`echo $filelist | xargs -r file | egrep ":.* (commands|script) " | cut -d: -f1 ` +liblist=`echo $filelist | xargs -r file | grep ":.*shared object" | cut -d : -f1 ` + +for f in $exelist; do + if [ -x $f ]; then + ldd $f | awk '/=>/ { print $1 }' + fi +done | sort -u | sed "s/['\"]/\\\&/g" | xargs -r -n 1 basename | grep -v 'libNoVersion.so' | sort -u + +for f in $liblist; do + ldd $f | awk '/=>/ { print $1 }' +done | sort -u | sed "s/['\"]/\\\&/g" | xargs -r -n 1 basename | grep -v 'libNoVersion.so' | sort -u + +for f in $scriptlist; do + if [ -x $f ]; then + head -1 $f | sed -e 's/^\#\![ ]*//' | cut -d" " -f1 + fi +done | sort -u + +#for f in $liblist $exelist ; do +# objdump -p $f | awk ' +# BEGIN { START=0; LIBNAME=""; } +# /Version References:/ { START=1; } +# /required from/ && (START==1) { +# sub(/:/, "", $3); +# LIBNAME=$3; +# } +# (START==1) && (LIBNAME!="") && ($4~/^GLIBC_*/) { print LIBNAME "(" $4 ")"; } +# /^$/ { START=0; } +# ' +#done | sort -u + |