diff --git a/BUILD.md b/BUILD.md index e3911b5b..5f06b774 100644 --- a/BUILD.md +++ b/BUILD.md @@ -137,14 +137,14 @@ sudo ./build.sh Output: ```text -tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img +tmp/output/clawdie-quindecim-0.2.29.img ``` Published/downloaded artifacts are compressed as `.img.gz`. Stream the compressed image directly into `dd`: ```sh -gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync +gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync sync ``` @@ -153,15 +153,15 @@ For Linux or FreeBSD downloads from the published HTTPS path, prefer resumable ```sh curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz curl -fL --retry 5 --retry-delay 5 -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256 + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256 ``` For a build-local uncompressed image, plain `dd` is also fine: ```sh -sudo dd if=tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img of=/dev/daX bs=1M status=progress conv=fsync +sudo dd if=tmp/output/clawdie-quindecim-0.2.29.img of=/dev/daX bs=1M status=progress conv=fsync sync ``` diff --git a/FLASHING.md b/FLASHING.md index 73c3da8e..3c9f1f66 100644 --- a/FLASHING.md +++ b/FLASHING.md @@ -3,7 +3,7 @@ Published Clawdie operator USB artifacts are compressed: ```text -clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz +clawdie-quindecim-0.2.29.img.gz ``` Default policy: @@ -47,15 +47,15 @@ Download with resume and retries: ```sh curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz curl -fL --retry 5 --retry-delay 5 -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256 + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256 ``` Verify the downloaded artifact: ```sh -sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256 +sha256sum -c clawdie-quindecim-0.2.29.img.gz.sha256 ``` Unmount mounted USB partitions if needed: @@ -68,7 +68,7 @@ Flash by streaming gzip into `dd`: ```sh set -o pipefail 2>/dev/null || true -gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync +gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync sync ``` @@ -89,22 +89,22 @@ Download with resume and retries: ```sh curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz curl -fL --retry 5 --retry-delay 5 -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz.sha256 + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256 ``` Verify the downloaded artifact: ```sh -HASH=$(awk '{print $1}' clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256) -sha256 -c "$HASH" clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz +HASH=$(awk '{print $1}' clawdie-quindecim-0.2.29.img.gz.sha256) +sha256 -c "$HASH" clawdie-quindecim-0.2.29.img.gz ``` If `sha256sum` is installed, this GNU-style form is also OK: ```sh -sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256 +sha256sum -c clawdie-quindecim-0.2.29.img.gz.sha256 ``` Unmount mounted USB partitions if needed: @@ -116,7 +116,7 @@ sudo umount /dev/daXs* 2>/dev/null Flash by streaming gzip into `dd`: ```sh -gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync +gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync sync ``` @@ -131,21 +131,21 @@ For a local build artifact that already exists as a raw image: ### Linux ```sh -sudo dd if=clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img of=/dev/sdX bs=4M status=progress conv=fsync +sudo dd if=clawdie-quindecim-0.2.29.img of=/dev/sdX bs=4M status=progress conv=fsync sync ``` ### FreeBSD ```sh -sudo dd if=clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img of=/dev/daX bs=1M status=progress conv=fsync +sudo dd if=clawdie-quindecim-0.2.29.img of=/dev/daX bs=1M status=progress conv=fsync sync ``` Only gunzip first if you specifically need the raw file for inspection or reuse: ```sh -gunzip -k clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz +gunzip -k clawdie-quindecim-0.2.29.img.gz ``` --- diff --git a/README.md b/README.md index 5c1ab99b..a723af69 100644 --- a/README.md +++ b/README.md @@ -170,17 +170,17 @@ Artifact names use a short Latin codename for the FreeBSD major line they were built on. For FreeBSD `15`, that codename is `quindecim`, so: ```text -clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img +clawdie-quindecim-0.2.29.img ``` means: - `clawdie` — project name -- `xfce` — desktop/session target - `quindecim` — Latin for `15`, matching the FreeBSD 15 build line -- `usb` — operator USB image -- `DD.MM.YY` — build date -- `abcdef0` — short `clawdie-iso` commit used for that build +- `0.2.29` — version, tracking the zot release the image is built upon + +Per-build provenance (build date, `clawdie-iso` commit, zot commit) lives in +`build-manifest.json`, not the filename. Small reference for the current naming convention: @@ -233,26 +233,26 @@ Download on Linux or FreeBSD with resume and retries: ```sh curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz curl -fL --retry 5 --retry-delay 5 -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256 + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256 ``` Linux: ```sh -sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256 +sha256sum -c clawdie-quindecim-0.2.29.img.gz.sha256 set -o pipefail 2>/dev/null || true -gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync +gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync sync ``` FreeBSD: ```sh -HASH=$(awk '{print $1}' clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256) -sha256 -c "$HASH" clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz -gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync +HASH=$(awk '{print $1}' clawdie-quindecim-0.2.29.img.gz.sha256) +sha256 -c "$HASH" clawdie-quindecim-0.2.29.img.gz +gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync sync ``` diff --git a/TESTING.md b/TESTING.md index 96ec4ddb..0a60105a 100644 --- a/TESTING.md +++ b/TESTING.md @@ -1,7 +1,7 @@ # Clawdie Operator USB Testing Guide **Branch:** `xfce-operator-usb` -**Target artifact:** `clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img` +**Target artifact:** `clawdie-quindecim-0.2.29.img` **Current desktop path:** XFCE via SDDM, interactive login as `clawdie` --- @@ -105,7 +105,7 @@ Run this on the FreeBSD build host after `build.sh` finishes. ### Useful verification commands ```sh -sudo mdconfig -a -t vnode -f tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img +sudo mdconfig -a -t vnode -f tmp/output/clawdie-quindecim-0.2.29.img sudo mount -o ro /dev/md0s2a /mnt egrep 'hostname|root_rw_mount|tmpmfs|varmfs|sshd|avahi|powerd|powerdxx|pf_enable|sddm|display_manager|clawdie_live_gpu|clawdie_tailscale_up|linux_enable|zfs_enable|kld_list' /mnt/etc/rc.conf @@ -426,12 +426,12 @@ FreeBSD. For a published compressed image on Linux, the default path is: ```sh curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz curl -fL --retry 5 --retry-delay 5 -O \ - https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256 -sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256 + https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256 +sha256sum -c clawdie-quindecim-0.2.29.img.gz.sha256 set -o pipefail 2>/dev/null || true -gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync +gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync sync ``` diff --git a/build.sh b/build.sh index b1a42306..ed5e415a 100755 --- a/build.sh +++ b/build.sh @@ -139,19 +139,16 @@ echo " Target : ${TARGET:-baremetal}" echo " Colibri : ${FEATURE_COLIBRI:-NO} (agent ${ZOT_VERSION:-} / stage ${COLIBRI_STAGE_AGENT:-YES})" echo "" -# Name the output for the thing we are actually building. -# Keep the date short and operator-facing. Use a recognizable codename for the -# FreeBSD major release when we have one, otherwise fall back to the old -# fbsd stamp. -BUILD_DATE_STAMP="$(date +%d.%m.%y)" -BUILD_REPO_SHORT_COMMIT="$(git -C "${SCRIPT_DIR}" rev-parse --short=7 HEAD 2>/dev/null || echo unknown)" +# Name the output: clawdie--.img, where the version +# tracks zot (see ISO_VERSION above). Per-build provenance — date, clawdie-iso +# commit, zot commit — lives in build-manifest.json, not the filename. BUILD_FREEBSD_MAJOR="${FREEBSD_RELEASE_SERIES%%.*}" BUILD_FREEBSD_STAMP="$(printf '%s' "${FREEBSD_RELEASE_SERIES}" | tr 'A-Z' 'a-z')" case "${BUILD_FREEBSD_MAJOR}" in 15) BUILD_FREEBSD_CODENAME="quindecim" ;; *) BUILD_FREEBSD_CODENAME="fbsd${BUILD_FREEBSD_STAMP}" ;; esac -IMAGE_NAME="clawdie-${DEFAULT_DESKTOP}-${BUILD_FREEBSD_CODENAME}-usb-${BUILD_DATE_STAMP}-${BUILD_REPO_SHORT_COMMIT}.img" +IMAGE_NAME="clawdie-${BUILD_FREEBSD_CODENAME}-${ISO_VERSION}.img" : > "$NPM_CONFIG_GLOBALCONFIG" : > "$NPM_CONFIG_USERCONFIG" diff --git a/skills/iso-publish/SKILL.md b/skills/iso-publish/SKILL.md index 99e7d9a7..0936193f 100644 --- a/skills/iso-publish/SKILL.md +++ b/skills/iso-publish/SKILL.md @@ -47,7 +47,7 @@ ls -lh tmp/output ``` ```sh -find tmp/output -maxdepth 1 -type f -name 'clawdie-xfce-*.img*' -ls +find tmp/output -maxdepth 1 -type f -name 'clawdie-*.img*' -ls ``` Confirm the image filename includes the current commit suffix. Do not publish an @@ -61,7 +61,7 @@ steps that write beside the artifact, or use the `sudo` variants shown below. Set `IMG` to the raw image produced by the current build. Example: ```sh -IMG="tmp/output/clawdie-xfce-quindecim-usb-22.05.26-8c8dd5f.img" +IMG="tmp/output/clawdie-quindecim-0.2.29.img" ``` ```sh @@ -131,15 +131,15 @@ Remove only the old public Clawdie image/checksum symlinks, not the new output files under `tmp/output`: ```sh -sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-xfce-*.img.gz' -delete +sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-*.img.gz' -delete ``` ```sh -sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-xfce-*.img.gz.sha256' -delete +sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-*.img.gz.sha256' -delete ``` ```sh -sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-xfce-*.manifest.json' -delete +sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-*.manifest.json' -delete ``` ## 5. Link the new artifacts