2026-03-17 11:58:13 +00:00
|
|
|
#!/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")"
|
2026-04-05 14:19:32 +00:00
|
|
|
OUTPUT_DIR="${PARENT_DIR}/tmp/output"
|
2026-03-17 11:58:13 +00:00
|
|
|
. "${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
|
2026-04-05 14:19:32 +00:00
|
|
|
ISO_FILE=$(ls -t "${OUTPUT_DIR}"/clawdie-iso-*.img 2>/dev/null | head -1)
|
2026-03-17 11:58:13 +00:00
|
|
|
|
|
|
|
|
if [ -z "$ISO_FILE" ]; then
|
2026-04-05 14:19:32 +00:00
|
|
|
echo "ERROR: No ISO file found in ${OUTPUT_DIR}"
|
2026-03-17 11:58:13 +00:00
|
|
|
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."
|