index : devtools32 | |
Archlinux32 fork of devtools | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | src/finddeps.in | 41 |
diff --git a/src/finddeps.in b/src/finddeps.in new file mode 100644 index 0000000..05b3530 --- /dev/null +++ b/src/finddeps.in @@ -0,0 +1,41 @@ +#!/bin/bash +# +# finddeps - find packages that depend on a given depname +# +# SPDX-License-Identifier: GPL-3.0-or-later + +m4_include(lib/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 -print0 2>/dev/null| while read -r -d '' d; do + if [[ -f "$d/PKGBUILD" ]]; then + pkgname=() depends=() makedepends=() optdepends=() + # shellcheck source=PKGBUILD.proto + . "$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 |