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 --- CLAUDE.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'CLAUDE.md') diff --git a/CLAUDE.md b/CLAUDE.md index 9d4cd5f..c4813db 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -143,6 +143,28 @@ verified by running `test-build` against a real image. - GPLv2-only. Every source file carries a short GPL header notice. - No em dashes in prose. +## Releases + +SemVer, starting at `1.0.0`. The version is a baked `PROJECT_VERSION="X.Y.Z"` +const in every script (`test-build`, `install.sh`, and the three +`image-builder/*.sh`); there is no VERSION file. `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. + +To cut a release (bump `X.Y.Z`): + +```bash +sed -i 's/^PROJECT_VERSION="[^"]*"/PROJECT_VERSION="X.Y.Z"/' \ + test-build install.sh image-builder/*.sh +git commit -aS -m "release X.Y.Z" +git tag -s vX.Y.Z -m "vX.Y.Z" +git push origin master --tags # both remotes (danix_git + forge) +tea release create --repo danix/sbo-dockerbuild --tag vX.Y.Z --title vX.Y.Z +``` + +The `sed` anchors on `^PROJECT_VERSION="..."`, which never matches the SBo +package `VERSION=`/`OPT_VERSION=` vars, so it only touches the project const. + ## Deployment The image-builder scripts run on the docker host VM (`docker.noland.dnx`, -- cgit v1.2.3