From fdc21a1efbe60eab048c4ba36ea9bc45889fec06 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 14 Jul 2026 17:44:22 +0200 Subject: Add SemVer versioning (1.0.0) Bake a PROJECT_VERSION="1.0.0" const into every script (test-build, install.sh, and the three image-builder/*.sh). test-build and install.sh expose -V/--version; the image-builder scripts already use --version for the Slackware target, so their project-version flag is -V only. bootstrap.sh handles -V before its root check so it is queryable as any user. No VERSION file: a release bump is one sed over the consts, anchored on ^PROJECT_VERSION= so it never hits the SBo package VERSION/OPT_VERSION vars. Release procedure documented in CLAUDE.md; user-facing note in README. Co-Authored-By: Claude Opus 4.8 --- image-builder/bootstrap.sh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'image-builder/bootstrap.sh') diff --git a/image-builder/bootstrap.sh b/image-builder/bootstrap.sh index 273afc8..ea76413 100755 --- a/image-builder/bootstrap.sh +++ b/image-builder/bootstrap.sh @@ -14,11 +14,15 @@ # bootstrap.sh — build the sbo-base:{ver} image FROM scratch from NAS trees. # Run as root (installpkg). Adapted from forge slackware/docker-images. set -euo pipefail +PROJECT_VERSION="1.0.0" # bump via sed across all scripts; see CLAUDE.md Releases HERE="$(cd "$(dirname "$0")" && pwd)" source "${HERE}/config" LOG_TAG=bootstrap source "${HERE}/lib.sh" +# -V before the root check so version is queryable as any user. +[[ "${1:-}" == "-V" ]] && { echo "bootstrap.sh $PROJECT_VERSION"; exit 0; } + REGISTRY_IMAGE="${REGISTRY}/sbo-base" [[ "${EUID}" -eq 0 ]] || _err "run as root." mkdir -p "${HASH_DIR}" -- cgit v1.2.3