diff options
| author | Danilo M. <danix@danix.xyz> | 2026-07-13 10:36:37 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-07-13 10:36:37 +0200 |
| commit | f4dff4e6d537700314736dc1f28a53e3ab0e1da9 (patch) | |
| tree | 2c24766cf12acc9cc9670f8e1168752951dcc9da /.extras/test-build | |
| parent | 5d1fb3ab2e027176dfd29e6bcc69d606aa550c2b (diff) | |
| download | sbo-slackbuilds-f4dff4e6d537700314736dc1f28a53e3ab0e1da9.tar.gz sbo-slackbuilds-f4dff4e6d537700314736dc1f28a53e3ab0e1da9.zip | |
test-build: port BLOCKED-BY-DEP propagation
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 |
