aboutsummaryrefslogtreecommitdiffstats
path: root/find-provides.in
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2014-09-08 12:39:19 +0200
committerThierry Vignaud <thierry.vignaud@gmail.com>2014-09-12 22:26:43 +0200
commitaa832f67a55e851fbd7de69ffda44b7d82cd8bf8 (patch)
treea2a4aecc97e508296841c188cd7daed25201b7c9 /find-provides.in
parent986531bbeb989ec830b07bd661ffd29ba844e736 (diff)
downloadrpm-setup-aa832f67a55e851fbd7de69ffda44b7d82cd8bf8.tar
rpm-setup-aa832f67a55e851fbd7de69ffda44b7d82cd8bf8.tar.gz
rpm-setup-aa832f67a55e851fbd7de69ffda44b7d82cd8bf8.tar.bz2
rpm-setup-aa832f67a55e851fbd7de69ffda44b7d82cd8bf8.tar.xz
rpm-setup-aa832f67a55e851fbd7de69ffda44b7d82cd8bf8.zip
drop most of the script-based dependency generation bits
Use rpmdeps to generate any "normal" dependencies even for the kernel module stuff, drop all other unnecessary duplication like elf, libtool and pkgconfig deps. But for TCL, which is broken since forever (we don't package the needed prov/req scripts since at least 2007)
Diffstat (limited to 'find-provides.in')
-rwxr-xr-xfind-provides.in110
1 files changed, 2 insertions, 108 deletions
diff --git a/find-provides.in b/find-provides.in
index 1e16d3c..1f95f86 100755
--- a/find-provides.in
+++ b/find-provides.in
@@ -5,51 +5,12 @@
filelist=`sed "s/['\"]/\\\&/g"`
-solist=$(echo "$filelist" | egrep -v "^/lib/ld\.so|/usr/lib(64)?/gcj/" | egrep '(/usr(/X11R6)?)?/lib(64)?/.*\.so' | \
- xargs file -L 2>/dev/null | grep "ELF.*shared object" | cut -d: -f1)
-pythonlist=
-tcllist=
rubygemlist=$(echo "$filelist"| egrep "\.gemspec$")
-mavenlist=$(echo "$filelist" |egrep '/usr/share/maven-fragments/*')
-osgilist=$(echo "$filelist" |egrep "^(.*\.jar|((/usr/lib(64)|/usr/share).*/MANIFEST.MF))")
# fix parsing output of objdump when localized (mga#7883):
export LC_ALL=C
#
-# --- Alpha does not mark 64bit dependencies
-case `uname -m` in
- alpha*) mark64="" ;;
- *) mark64="()(64bit)" ;;
-esac
-
-#
-# --- Library sonames and weak symbol versions (from glibc).
-for f in $solist; do
- soname=$(objdump -p $f 2>/dev/null | awk '/SONAME/ {print $2}')
-
- lib64=`if file -L $f 2>/dev/null | \
- grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
- if [ "$soname" != "" ]; then
- if [ ! -L $f ]; then
- echo $soname$lib64
- objdump -p $f 2>/dev/null | awk '
- BEGIN { START=0 ; }
- /Version definitions:/ { START=1; }
- /^[0-9]/ && (START==1) { print $4; }
- /^$/ { START=0; }
- ' | \
- grep -v $soname | \
- while read symbol ; do
- echo "$soname($symbol)`echo $lib64 | sed 's/()//'`"
- done
- fi
- else
- echo ${f##*/}$lib64
- fi
-done | sort -u
-
-#
# --- If libperl.so is found in buildroot, we provide perlapi-<version>
if [ -n "`echo $filelist | grep -e '/CORE/libperl\.so'`" ]; then
for i in $filelist; do
@@ -67,24 +28,6 @@ if [ -n "`echo $filelist | grep -e '/CORE/libperl\.so'`" ]; then
fi
#
-# --- Perl modules.
-[ -x @RPMVENDORDIR@/perl.prov ] &&
- echo "$filelist" | tr '[:blank:]' \\n | @RPMVENDORDIR@/perl.prov | grep 'perl([[:upper:]]' | sort -u \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMVENDORDIR@/perl.prov failed' >&2 && exit 1
-
-#
-# --- Python modules.
-[ -x @RPMVENDORDIR@/pythoneggs.py -a -n "$filelist" ] &&
- echo "$filelist" | tr '[:blank:]' \\n | @RPMVENDORDIR@/pythoneggs.py --provides | sort -u \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMVENDORDIR@/pythoneggs.py failed' >&2 && exit 1
-
-#
-# --- Tcl modules.
-[ -x @RPMVENDORDIR@/tcl.prov -a -n "$tcllist" ] &&
- echo "$tcllist" | tr '[:blank:]' \\n | @RPMVENDORDIR@/tcl.prov | sort -u \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMVENDORDIR@/tcl.prov failed' >&2 && exit 1
-
-#
# --- Php modules.
[ -x @RPMVENDORDIR@/php.prov ] &&
echo "$filelist" | tr '[:blank:]' \\n | @RPMVENDORDIR@/php.prov | sort -u \
@@ -97,36 +40,13 @@ fi
&& test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMVENDORDIR@/kmod.prov failed' >&2 && exit 1
#
-# --- Pkgconfig deps
-[ -x @RPMLIBDIR@/pkgconfigdeps.sh ] &&
- echo "$filelist" | tr '[:blank:]' \\n | @RPMLIBDIR@/pkgconfigdeps.sh -P | sort -u \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMLIBDIR@/pkgconfigdeps.sh failed' >&2 && exit 1
-
-#
-# --- mimehandler
-[ -x @RPMLIBDIR@/desktop-file.prov ] &&
- echo "$filelist" | tr '[:blank:]' \\n | @RPMLIBDIR@/desktop-file.prov --provides | sort -u \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMLIBDIR@/desktop-file.prov failed' >&2 && exit 1
-
-#
-# --- fonts
-[ -x @RPMLIBDIR@/fontconfig.prov ] &&
- echo "$filelist" | tr '[:blank:]' \\n | @RPMLIBDIR@/fontconfig.prov --provides | sort -u
-
-#
# --- typelib() gobject-introspection bindings
[ -x @RPMVENDORDIR@/gi-find-deps.sh ] &&
echo "$filelist" | tr '[:blank:]' \\n | @RPMVENDORDIR@/gi-find-deps.sh -P | sort -u \
&& test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMVENDORDIR@/gi-find-deps.sh failed' >&2 && exit 1
-if [ -n "$LIBTOOLDEP" ]; then
-#
-# --- libtooldep deps
-[ -x @RPMLIBDIR@/libtooldeps.sh ] &&
- echo "$filelist" | tr '[:blank:]' \\n | @RPMLIBDIR@/libtooldeps.sh -P | sort -u \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMVENDORDIR@/libtooldeps.sh failed' >&2 && exit 1
-
-fi
+[ -x /usr/lib/rpm/rpmdeps -a -n "$filelist" ] &&
+ echo $filelist | tr '[:blank:]' \\n | /usr/lib/rpm/rpmdeps --provides
#
# --- Ruby gems
@@ -144,14 +64,6 @@ for i in `echo $filelist | tr '[:blank:]' "\n" | egrep '(/usr(/X11R6)?)?/lib(|64
done | sort -u
#
-# --- mono provides
-if [ -x /usr/bin/mono-find-provides ]; then
-echo $filelist | tr '[:blank:]' '\n' | /usr/bin/mono-find-provides \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: /usr/bin/mono-find-provides failed' >&2 && exit 1
-fi
-
-
-#
# --- haskell provides
if [ -x /usr/bin/haskell-find-provides ]; then
echo $filelist | tr '[:blank:]' '\n' | /usr/bin/haskell-find-provides \
@@ -168,22 +80,4 @@ fi
echo "$solist" | tr '[:blank:]' \\n | @RPMVENDORDIR@/gstreamer1.0.prov | sort -u \
&& test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMVENDORDIR@/gstreamer1.0.prov failed' >&2 && exit 1
-#
-# --- osgi provides
-if [ -x @RPMLIBDIR@/osgi.prov ];then
- if [ ! -z "$osgilist" ]; then
- echo "$osgilist" | tr '[:blank:]' '\n' | @RPMLIBDIR@/osgi.prov \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMLIBDIR@/osgi.prov failed' >&2 && exit 1
- fi
-fi
-
-#
-# --- maven provides
-if [ -x @RPMLIBDIR@/maven.prov ];then
- if [ ! -z "$mavenlist" ]; then
- echo "$mavenlist" | tr '[:blank:]' '\n' | @RPMLIBDIR@/maven.prov \
- && test ${PIPESTATUS[2]} -ne 0 && echo 'error: @RPMLIBDIR@/maven.prov failed' >&2 && exit 1
- fi
-fi
-
exit 0