diff --git a/contrib/kiss-repodepends b/contrib/kiss-repodepends new file mode 100755 index 0000000..83365a2 --- /dev/null +++ b/contrib/kiss-repodepends @@ -0,0 +1,16 @@ +#!/bin/sh -ef +# Display a package's dependencies in repositories + +pkg=${1:-"${PWD##*/}"} + +kiss search "$pkg" >/dev/null || { + printf 'usage: kiss-depends [pkg]\n' >&2 + exit 1 +} + +kiss search "$pkg" | while read -r pkgpath; do + printf '=> %s\n' "$pkgpath" + while read -r dep mak || [ "$dep" ]; do + printf '%s%s\n' "$dep" "${mak:+ "$mak"}" + done 2>/dev/null < "$pkgpath/depends" +done diff --git a/contrib/kiss-reporevdepends b/contrib/kiss-reporevdepends new file mode 100755 index 0000000..ccd9610 --- /dev/null +++ b/contrib/kiss-reporevdepends @@ -0,0 +1,19 @@ +#!/bin/sh +# Display packages in all repositories which depend on a package + +[ "$1" ] || set -- "${PWD##*/}" + +suffix () { + case "$1" in *"$2") return 0; esac; return 1 +} + +IFS=: +for repo in $KISS_PATH; do + # remove trailing slashes + while suffix "$repo" /; do repo="${repo%/}"; done + gitdir="$(git -C "$repo" rev-parse --show-toplevel 2>/dev/null || echo "$repo")" + case "$gitdir" in "$repo") unset prefix ;; *) prefix="${repo##*/}/" ;; esac + + cd "$gitdir/.." || continue + grep -E "^$1([[:space:]]|$)" -- "${gitdir##*/}/$prefix"*/depends 2>/dev/null ||: +done