#!/usr/bin/env bash set -euo pipefail if [[ $# -ne 1 ]]; then echo "Usage: $0 /path/to/source.iso" exit 1 fi SOURCE_ISO="$1" if [[ ! -f "$SOURCE_ISO" ]]; then echo "Error: ISO not found: $SOURCE_ISO" exit 1 fi REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" BASE_DIR="$(cd "$REPO_DIR/.." && pwd)" BUILD_DIR="$BASE_DIR/build" WORK_DIR="$BUILD_DIR/work" MOUNT_DIR="/mnt/fedora-iso" echo "Source ISO: $SOURCE_ISO" echo "Work dir: $WORK_DIR" sudo mkdir -p "$MOUNT_DIR" rm -rf "$WORK_DIR" mkdir -p "$WORK_DIR" echo "Mounting ISO..." sudo mount -o loop "$SOURCE_ISO" "$MOUNT_DIR" cleanup() { echo "Unmounting ISO..." sudo umount "$MOUNT_DIR" || true } trap cleanup EXIT echo "Copying ISO contents..." sudo rsync -a "$MOUNT_DIR"/ "$WORK_DIR"/ echo "Fixing ownership..." sudo chown -R "$(id -u):$(id -g)" "$WORK_DIR" echo "Done."