#!/bin/bash # Monitor ISO build progress - checks every 3 minutes LOG_FILE="/tmp/knel-iso-build.log" CHECK_INTERVAL=180 # 3 minutes echo "=== ISO Build Monitor ===" echo "Started: $(date)" echo "Checking every ${CHECK_INTERVAL}s" echo "" while true; do if [ -f "$LOG_FILE" ]; then LINES=$(wc -l < "$LOG_FILE") LAST_STAGE=$(grep -E "^\[.*\] lb (bootstrap|chroot|installer|binary|source)" "$LOG_FILE" 2>/dev/null | tail -1) ERRORS=$(grep -ic "error\|failed\|fatal" "$LOG_FILE" 2>/dev/null || echo "0") echo "[$(date '+%H:%M:%S')] Lines: $LINES | Errors: $ERRORS" [ -n "$LAST_STAGE" ] && echo " Stage: $LAST_STAGE" # Check if build completed if grep -q "lb build completed" "$LOG_FILE" 2>/dev/null; then echo "" echo "=== BUILD COMPLETED ===" echo "Finished: $(date)" ls -lh output/*.iso 2>/dev/null || echo "No ISO found in output/" break fi # Check if build failed if grep -q "lb build failed" "$LOG_FILE" 2>/dev/null; then echo "" echo "=== BUILD FAILED ===" echo "Check log: $LOG_FILE" tail -20 "$LOG_FILE" break fi else echo "[$(date '+%H:%M:%S')] Waiting for build log..." fi sleep $CHECK_INTERVAL done