summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAchim Gottinger <achim@gentoo.org>2000-10-18 06:17:25 +0000
committerAchim Gottinger <achim@gentoo.org>2000-10-18 06:17:25 +0000
commit6c308ec0ea861afeceeb4cb866526fd40bf93ff9 (patch)
tree3aa1a78798927d262a283c560441cb579d53d5a6 /sys-apps
parent*** empty log message *** (diff)
downloadgentoo-2-6c308ec0ea861afeceeb4cb866526fd40bf93ff9.tar.gz
gentoo-2-6c308ec0ea861afeceeb4cb866526fd40bf93ff9.tar.bz2
gentoo-2-6c308ec0ea861afeceeb4cb866526fd40bf93ff9.zip
*** empty log message ***
Diffstat (limited to 'sys-apps')
-rwxr-xr-xsys-apps/portage/files/bin/find-packages13
-rwxr-xr-xsys-apps/portage/files/bin/find-requires41
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
+