clawdie-iso/scripts/publish.sh
Sam & Claude 60c35361a0 Make ISO builds cleaner by default (Sam & Codex)
---

Build: FAIL | Tests: FAIL — not run (deferred)
2026-06-04 20:04:22 +02:00

43 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
# publish.sh — Copy built ISO to CMS nginx downloads
#
# Called after build.sh completes successfully. Copies the ISO to the
# CMS jail's nginx /downloads/ directory for public distribution.
#
# Requirements:
# - Must run as root (sudo)
# - CMS jail must be running
# - Assumes CMS mountpoint: /jails/cms (customize below if needed)
set -e
SCRIPT_DIR="$(dirname "$(realpath "$0")")"
PARENT_DIR="$(dirname "$SCRIPT_DIR")"
OUTPUT_DIR="${PARENT_DIR}/tmp/output"
. "${PARENT_DIR}/build.cfg"
# CMS jail location (customize if different)
CMS_JAIL_ROOT="/jails/cms"
CMS_DOWNLOADS="${CMS_JAIL_ROOT}/usr/local/nginx/html/downloads"
# Find the most recent built ISO
ISO_FILE=$(ls -t "${OUTPUT_DIR}"/clawdie-iso-*.img 2>/dev/null | head -1)
if [ -z "$ISO_FILE" ]; then
echo "ERROR: No ISO file found in ${OUTPUT_DIR}"
exit 1
fi
echo "==> Publishing ISO to CMS downloads..."
echo " Source: ${ISO_FILE}"
echo " Destination: ${CMS_DOWNLOADS}/"
if [ ! -d "$CMS_DOWNLOADS" ]; then
echo "ERROR: CMS downloads directory not found: ${CMS_DOWNLOADS}"
echo " Is the CMS jail running? Check CMS_JAIL_ROOT setting."
exit 1
fi
# Copy ISO to CMS (preserve modification time)
cp -p "$ISO_FILE" "${CMS_DOWNLOADS}/"
echo " Done."