diff options
Diffstat (limited to 'finddeps.in')
-rw-r--r-- | finddeps.in | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/finddeps.in b/finddeps.in new file mode 100644 index 0000000..ded7a93 --- /dev/null +++ b/finddeps.in @@ -0,0 +1,46 @@ +#!/bin/bash +# +# finddeps - find packages that depend on a given depname +# + +if [ "$1" = '' ]; then + echo 'usage: finddeps <depname>' + echo '' + echo 'Find packages that depend on a given depname.' + echo 'Run this script from the top-level directory of your ABS tree.' + echo '' + exit 0 +fi + +match=$1 +tld=$(pwd) + +for d in $(find . -type d); do + cd $d + if [ -f PKGBUILD ]; then + unset pkgname depends makedepends + . PKGBUILD + for dep in "${depends[@]}"; do + # lose the version comparator, if any + depname=${dep%%[<>=]*} + if [ "$depname" = "$match" ]; then + echo "$d (depends)" + fi + done + for dep in "${makedepends[@]}"; do + # lose the version comparator, if any + depname=${dep%%[<>=]*} + if [ "$depname" = "$match" ]; then + echo "$d (makedepends)" + fi + done + for dep in "${optdepends[@]/:*}"; do + # lose the version comaparator, if any + depname=${dep%%[<>=]*} + if [ "$depname" = "$match" ]; then + echo "$d (optdepends)" + fi + done + fi + cd $tld +done |