diff options
Diffstat (limited to '.extras/test-build')
| -rwxr-xr-x | .extras/test-build | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/.extras/test-build b/.extras/test-build index 1f7920c..706d5ab 100755 --- a/.extras/test-build +++ b/.extras/test-build @@ -372,6 +372,23 @@ resolve_cache_root() { mkdir -p "$CACHE_ROOT" } +# Does SlackBuild dir $1 directly require any prog in the dead list (nameref $2)? +# Direct-requires check only; transitive blocking works because run_target +# iterates in topo order, propagating a failure one hop per package. +depends_on_failed() { + local dir="$1"; local -n failed="$2" + local info="$dir/$(basename "$dir").info" + local req tok f + req="$(read_requires "$info")" + for tok in $req; do + [[ "$tok" == "%README%" ]] && continue + for f in "${failed[@]:-}"; do + [[ "$tok" == "$f" ]] && return 0 + done + done + return 1 +} + main() { parse_args "$@" init_color |
