From f273077105877e2b0558702e0eaa47f34a36c01a Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 13 Jul 2026 14:37:28 +0200 Subject: image-builder: accept any Slackware pkg extension (*.t?z) not just .txz Upstream sbopkg ships as .tgz, not .txz. The require_pkgs guard, txz_hash find, cp staging, and Dockerfile COPY all hard-coded *.txz, so a .tgz package failed the presence check and was excluded from the rebuild hash. Widen every glob to *.t?z (matches .txz/.tgz/.tbz/.tlz); stage the whole pkgs dir into the image and installpkg the lot, dropping the in-image extension coupling entirely. Co-Authored-By: Claude Opus 4.8 --- .extras/image-builder/lib.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to '.extras/image-builder/lib.sh') diff --git a/.extras/image-builder/lib.sh b/.extras/image-builder/lib.sh index 6cd9e4e..da12fd0 100644 --- a/.extras/image-builder/lib.sh +++ b/.extras/image-builder/lib.sh @@ -46,12 +46,13 @@ fetch() { } # txz_hash DIR -# Stable hash of the set of .txz files in DIR (names + contents), order +# Stable hash of the set of Slackware package files (*.t?z) in DIR (names + +# contents), order # independent. Empty/absent dir -> empty string. txz_hash() { local dir="$1" [[ -d "$dir" ]] || { printf ''; return 0; } - local files; files=$(find "$dir" -maxdepth 1 -name '*.txz' -type f | sort) + local files; files=$(find "$dir" -maxdepth 1 -name '*.t?z' -type f | sort) [[ -n "$files" ]] || { printf ''; return 0; } # Hash sorted "name sha256" lines so reordering does not change output. while IFS= read -r f; do -- cgit v1.2.3