Add commit suffix to operator USB artifact names (Sam & Codex)

This commit is contained in:
Sam & Claude 2026-05-17 10:20:34 +02:00
parent 00d06ea776
commit 4ae5c5111e
5 changed files with 34 additions and 32 deletions

View file

@ -58,14 +58,14 @@ sudo ./build.sh
Output:
```text
tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY.img
tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
sync
```
@ -74,15 +74,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.img.gz
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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-xfce-quindecim-usb-DD.MM.YY-abcdef0.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.img of=/dev/daX bs=1M status=progress conv=fsync
sudo dd if=tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img of=/dev/daX bs=1M status=progress conv=fsync
sync
```

View file

@ -3,7 +3,7 @@
Published Clawdie operator USB artifacts are compressed:
```text
clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz
clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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.img.gz
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
```
Verify the downloaded artifact:
```sh
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz.sha256
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
sync
```
@ -97,14 +97,14 @@ curl -fL --retry 5 --retry-delay 5 -O \
Verify the downloaded artifact:
```sh
HASH=$(awk '{print $1}' clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz.sha256)
sha256 -c "$HASH" clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz
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
```
If `sha256sum` is installed, this GNU-style form is also OK:
```sh
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz.sha256
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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.img of=/dev/sdX bs=4M status=progress conv=fsync
sudo dd if=clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img of=/dev/sdX bs=4M status=progress conv=fsync
sync
```
### FreeBSD
```sh
sudo dd if=clawdie-xfce-quindecim-usb-DD.MM.YY.img of=/dev/daX bs=1M status=progress conv=fsync
sudo dd if=clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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.img.gz
gunzip -k clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
```
---

View file

@ -108,7 +108,7 @@ 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.img
clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img
```
means:
@ -118,6 +118,7 @@ means:
- `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
Small reference for the current naming convention:
@ -170,26 +171,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.img.gz
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
```
Linux:
```sh
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz.sha256
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
set -o pipefail 2>/dev/null || true
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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.img.gz.sha256)
sha256 -c "$HASH" clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
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
sync
```

View file

@ -1,7 +1,7 @@
# Clawdie Operator USB Testing Guide
**Branch:** `xfce-operator-usb`
**Target artifact:** `clawdie-xfce-quindecim-usb-DD.MM.YY.img`
**Target artifact:** `clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img`
**Current desktop path:** XFCE via LightDM autologin as `clawdie`
---
@ -58,7 +58,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.img
sudo mdconfig -a -t vnode -f tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img
sudo mount -o ro /dev/md0s2a /mnt
egrep 'root_rw_mount|tmpmfs|varmfs|lightdm|display_manager|clawdie_live_gpu|linux_enable|zfs_enable|kld_list' /mnt/etc/rc.conf
@ -186,12 +186,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.img.gz
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.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
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz.sha256
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
set -o pipefail 2>/dev/null || true
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
sync
```

View file

@ -108,13 +108,14 @@ echo ""
# FreeBSD major release when we have one, otherwise fall back to the old
# fbsd<series> 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)"
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}.img"
IMAGE_NAME="clawdie-${DEFAULT_DESKTOP}-${BUILD_FREEBSD_CODENAME}-usb-${BUILD_DATE_STAMP}-${BUILD_REPO_SHORT_COMMIT}.img"
mkdir -p "$TMP_DIR"
: > "$NPM_CONFIG_GLOBALCONFIG"
: > "$NPM_CONFIG_USERCONFIG"