aboutsummaryrefslogtreecommitdiffstats
path: root/.extras/test-build
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-07-13 10:36:37 +0200
committerDanilo M. <danix@danix.xyz>2026-07-13 10:36:37 +0200
commitf4dff4e6d537700314736dc1f28a53e3ab0e1da9 (patch)
tree2c24766cf12acc9cc9670f8e1168752951dcc9da /.extras/test-build
parent5d1fb3ab2e027176dfd29e6bcc69d606aa550c2b (diff)
downloadsbo-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-build17
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