diff options
| author | Danilo M. <danix@danix.xyz> | 2026-06-24 16:38:45 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-06-24 16:38:45 +0200 |
| commit | 9fb5b8b84b7822eb8a5aff2b0aaa176a15ff7a4f (patch) | |
| tree | 5c6fe749a03736e78f3b5f6a9dacbfbe41ffdb18 /sbo-batch-test | |
| parent | 492152f91a5d5668b384916321ae1b59c72bfb43 (diff) | |
| download | sbo-batch-tester-9fb5b8b84b7822eb8a5aff2b0aaa176a15ff7a4f.tar.gz sbo-batch-tester-9fb5b8b84b7822eb8a5aff2b0aaa176a15ff7a4f.zip | |
Add cache_path + cache_store + tests
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'sbo-batch-test')
| -rwxr-xr-x | sbo-batch-test | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sbo-batch-test b/sbo-batch-test index 1e0020c..c5e6cf1 100755 --- a/sbo-batch-test +++ b/sbo-batch-test @@ -342,6 +342,31 @@ cache_decision() { fi } +# cache_path <cat> <prog> <version> -> echoes the cached .txz path for that +# version, or nothing. Used to installpkg a cached dep. +cache_path() { + local cat="$1" prog="$2" version="$3" + [[ -z "$PKG_CACHE" ]] && return + local dir="$PKG_CACHE/$cat/$prog" + local f newest="" + for f in "$dir/$prog"-*.t?z; do + [[ -e "$f" ]] || continue + [[ -z "$newest" || "$f" -nt "$newest" ]] && newest="$f" + done + [[ -z "$newest" ]] && return + [[ "$(_cache_ver_of "$prog" "$(basename "$newest")")" == "$version" ]] && echo "$newest" +} + +# cache_store <cat> <prog> <src-txz> -> clear the prog dir, copy src in. +cache_store() { + local cat="$1" prog="$2" src="$3" + [[ -z "$PKG_CACHE" ]] && return + local dir="$PKG_CACHE/$cat/$prog" + mkdir -p "$dir" + rm -f "$dir"/*.t?z + cp -a "$src" "$dir/" +} + # ============================================================================= # SBo tree lookup. Find the SlackBuild dir for a prog name across roots. # Echoes the dir path, returns 0 if found, 1 otherwise. |
