From bdba09b3e105f4a90d5598ed4b940521603b34ec Mon Sep 17 00:00:00 2001 From: Thomas Stallinger Date: Mon, 6 Jul 2026 14:30:26 +0200 Subject: [PATCH] Add ISO extraction script --- scripts/extract.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 scripts/extract.sh diff --git a/scripts/extract.sh b/scripts/extract.sh new file mode 100755 index 0000000..9238f37 --- /dev/null +++ b/scripts/extract.sh @@ -0,0 +1,45 @@ +#!/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."