summaryrefslogtreecommitdiff
path: root/autodeps
diff options
context:
space:
mode:
authorroot <devnull@localhost>1996-08-14 21:02:31 +0000
committerroot <devnull@localhost>1996-08-14 21:02:31 +0000
commit9de35134298d3534ceb8e4a5982366d3d061fcba (patch)
treeebfcc9d55ab63601a49ad4af1f66ab93cbca4d9d /autodeps
parent9962520a26f21fc8d3db44b0a28c12e593070e0b (diff)
downloadrpm-9de35134298d3534ceb8e4a5982366d3d061fcba.tar.gz
rpm-9de35134298d3534ceb8e4a5982366d3d061fcba.tar.bz2
rpm-9de35134298d3534ceb8e4a5982366d3d061fcba.zip
Initial revision
CVS patchset: 953 CVS date: 1996/08/14 21:02:31
Diffstat (limited to 'autodeps')
-rw-r--r--autodeps/linux.prov18
1 files changed, 18 insertions, 0 deletions
diff --git a/autodeps/linux.prov b/autodeps/linux.prov
new file mode 100644
index 000000000..294c58ee6
--- /dev/null
+++ b/autodeps/linux.prov
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# This script reads filenames from STDIN and outputs any relevant provides
+# information that needs to be included in the package.
+
+filelist=$(grep "\\.so" | grep -v "^/lib/ld.so" | xargs file | grep "ELF.*shared object" | cut -d: -f1)
+
+for f in $filelist; do
+ soname=$(objdump --raw $f --section=.dynstr 2> /dev/null | tr '\\0' '\\n' | tail -1)
+
+ if [ "$soname" != "" ]; then
+ if [ "$soname" != "_end" ]; then
+ echo $soname
+ else
+ echo ${f##*/}
+ fi
+ fi
+done | sort -u