#!/bin/bash # # finddeps - find packages that depend on a given depname # # License: Unspecified . "$(librelib messages)" match=$1 usage() { print 'Usage: %s ' "${0##*/}" print 'Find packages that depend on a given depname.' echo prose 'Run this script from the top-level directory of your ABS tree.' } if [[ -z $match ]]; then usage >&2 exit 1 fi if [[ $match = '-h' ]]; then usage exit 0 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