summaryrefslogtreecommitdiff
path: root/autodeps/sparc-linux.prov
diff options
context:
space:
mode:
Diffstat (limited to 'autodeps/sparc-linux.prov')
-rw-r--r--autodeps/sparc-linux.prov30
1 files changed, 27 insertions, 3 deletions
diff --git a/autodeps/sparc-linux.prov b/autodeps/sparc-linux.prov
index fa9511357..aa23cc197 100644
--- a/autodeps/sparc-linux.prov
+++ b/autodeps/sparc-linux.prov
@@ -3,12 +3,21 @@
# 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 -L 2>/dev/null | grep "ELF.*shared object" | cut -d: -f1)
+filelist=`sed "s/['\"]/\\\&/g"`
-for f in $filelist; do
+solist=$(echo $filelist | grep "\\.so" | grep -v "^/lib/ld.so" | \
+ xargs file -L 2>/dev/null | grep "ELF.*shared object" | cut -d: -f1)
+perllist=$(echo $filelist | grep "\\.pm")
+pythonlist=
+tcllist=
+
+#
+# --- Library sonames and weak symbol versions (from glibc).
+for f in $solist; do
soname=$(objdump -p $f | awk '/SONAME/ {print $2}')
- lib64=`if file -L $f 2>/dev/null | grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi`
+ lib64=`if file -L $f 2>/dev/null | \
+ grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi`
if [ "$soname" != "" ]; then
if [ ! -L $f ]; then
echo $soname$lib64
@@ -27,3 +36,18 @@ for f in $filelist; do
echo ${f##*/}$lib64
fi
done | sort -u
+
+#
+# --- Perl modules.
+[ -x /usr/lib/rpm/perl.prov -a -n "$perllist" ] &&
+ echo $perllist | tr [:blank:] \\n | /usr/lib/rpm/perl.prov | sort -u
+
+#
+# --- Python modules.
+[ -x /usr/lib/rpm/python.prov -a -n "$pythonlist" ] &&
+ echo $pythonlist | tr [:blank:] \\n | /usr/lib/rpm/python.prov | sort -u
+
+#
+# --- Tcl modules.
+[ -x /usr/lib/rpm/tcl.prov -a -n "$tcllist" ] &&
+ echo $tcllist | tr [:blank:] \\n | /usr/lib/rpm/tcl.prov | sort -u