diff options
Diffstat (limited to 'finddeps.in')
-rw-r--r-- | finddeps.in | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/finddeps.in b/finddeps.in new file mode 100644 index 0000000..656fe5a --- /dev/null +++ b/finddeps.in @@ -0,0 +1,39 @@ +#!/bin/bash +# +# finddeps - find packages that depend on a given depname +# + +source @pkgdatadir@/common.sh + +match=$1 + +if [[ -z $match ]]; 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 1 +fi + +find . -type d | while read d; do + if [[ -f "$d/PKGBUILD" ]]; then + unset pkgname depends makedepends optdepends + . "$d/PKGBUILD" + for dep in "${depends[@]}"; do + # lose the version comparator, if any + depname=${dep%%[<>=]*} + [[ $depname = $match ]] && echo "$d (depends)" + done + for dep in "${makedepends[@]}"; do + # lose the version comparator, if any + depname=${dep%%[<>=]*} + [[ $depname = $match ]] && echo "$d (makedepends)" + done + for dep in "${optdepends[@]/:*}"; do + # lose the version comaparator, if any + depname=${dep%%[<>=]*} + [[ $depname = $match ]] && echo "$d (optdepends)" + done + fi +done |