diff options
author | Olivier Thauvin <nanardon@mandriva.org> | 2007-02-13 22:26:30 +0000 |
---|---|---|
committer | Olivier Thauvin <nanardon@mandriva.org> | 2007-02-13 22:26:30 +0000 |
commit | efca5e98a396afaf37b71205802f627a34f20e65 (patch) | |
tree | 69405c0f38f561d3e6b3a26dcb0137cd64a088d7 /pkgconfigdeps.sh | |
parent | c404c94e8243b3eb111b1f3971b278dcc24a8d25 (diff) | |
download | rpm-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-x | pkgconfigdeps.sh | 47 |
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 |