aboutsummaryrefslogtreecommitdiffstats
path: root/pkgconfigdeps.sh
diff options
context:
space:
mode:
authorOlivier Thauvin <nanardon@mandriva.org>2007-02-13 22:26:30 +0000
committerOlivier Thauvin <nanardon@mandriva.org>2007-02-13 22:26:30 +0000
commitefca5e98a396afaf37b71205802f627a34f20e65 (patch)
tree69405c0f38f561d3e6b3a26dcb0137cd64a088d7 /pkgconfigdeps.sh
parentc404c94e8243b3eb111b1f3971b278dcc24a8d25 (diff)
downloadrpm-setup-efca5e98a396afaf37b71205802f627a34f20e65.tar
rpm-setup-efca5e98a396afaf37b71205802f627a34f20e65.tar.gz
rpm-setup-efca5e98a396afaf37b71205802f627a34f20e65.tar.bz2
rpm-setup-efca5e98a396afaf37b71205802f627a34f20e65.tar.xz
rpm-setup-efca5e98a396afaf37b71205802f627a34f20e65.zip
- fork pkgconfig dependencies finder script
Diffstat (limited to 'pkgconfigdeps.sh')
-rwxr-xr-xpkgconfigdeps.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgconfigdeps.sh b/pkgconfigdeps.sh
new file mode 100755
index 0000000..dc93c80
--- /dev/null
+++ b/pkgconfigdeps.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+pkgconfig=/usr/bin/pkg-config
+test -x $pkgconfig || {
+ cat > /dev/null
+ exit 0
+}
+
+[ $# -ge 1 ] || {
+ cat > /dev/null
+ exit 0
+}
+
+case $1 in
+-P|--provides)
+ while read filename ; do
+ case "${filename}" in
+ *.pc)
+ # Assume that this file doesn't contain useful information.
+ needs_pkgconfig=false
+ # Query the dependencies of the package.
+ $pkgconfig --print-provides "$filename" 2> /dev/null | while read n r v ; do
+ # We have a dependency. Make a note that we need the pkgconfig
+ # tool for this package.
+ echo "pkgconfig($n)" "$r" "$v"
+ needs_pkgconfig=true
+ done
+ # The dependency on the pkgconfig package itself.
+ if $needs_pkgconfig ; then
+ echo pkgconfig
+ fi
+ ;;
+ esac
+ done
+ ;;
+-R|--requires)
+ while read filename ; do
+ case "${filename}" in
+ *.pc)
+ $pkgconfig --print-requires "$filename" 2> /dev/null | while read n r v ; do
+ echo "pkgconfig($n)" "$r" "$v"
+ done
+ esac
+ done
+ ;;
+esac
+exit 0