From f5819d27e43f7526bfa5feff306dc982cd5c1f26 Mon Sep 17 00:00:00 2001 From: fithwum Date: Sun, 6 Jul 2025 08:27:36 -0700 Subject: [PATCH] test --- base-image-script/alpine-base_pt1.sh | 4 +-- base-image-script/alpine-base_pt3.sh | 43 ++++++++++++++++------------ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/base-image-script/alpine-base_pt1.sh b/base-image-script/alpine-base_pt1.sh index 30ef928..283eca2 100644 --- a/base-image-script/alpine-base_pt1.sh +++ b/base-image-script/alpine-base_pt1.sh @@ -28,11 +28,11 @@ sudo mount --bind /proc "$ROOTFS_DIR/proc" sudo mount --bind /sys "$ROOTFS_DIR/sys" echo "[INFO] Copying part 2 script into chroot..." -sudo cp alpine-base_pt2.sh "$ROOTFS_DIR/alpine-base_pt2.sh" +sudo cp base-image-script/alpine-base_pt2.sh "$ROOTFS_DIR/alpine-base_pt2.sh" sudo chmod +x "$ROOTFS_DIR/alpine-base_pt2.sh" echo "[INFO] Entering chroot. Run 'exit' when done." sudo chroot "$ROOTFS_DIR" /alpine-base_pt2.sh echo "[INFO] Continuing with packaging after chroot..." -bash alpine-base_pt3.sh "$ROOTFS_DIR" "$OUTPUT_TAR" +bash base-image-script/alpine-base_pt3.sh "$ROOTFS_DIR" "$OUTPUT_TAR" diff --git a/base-image-script/alpine-base_pt3.sh b/base-image-script/alpine-base_pt3.sh index a84838f..319cb11 100644 --- a/base-image-script/alpine-base_pt3.sh +++ b/base-image-script/alpine-base_pt3.sh @@ -3,28 +3,35 @@ # All rights reserved set -e -ROOTFS_DIR="$1" -OUTPUT_TAR="$2" +# Auto-detect rootfs dir if not passed as arg +if [ -n "$1" ]; then + ROOTFS_DIR="$1" +else + ROOTFS_DIR=$(find . -maxdepth 1 -type d -name "alpine-rootfs" | sed 's|^\./||' | head -n 1) + if [ -z "$ROOTFS_DIR" ]; then + echo "[ERROR] No alpine-rootfs directory found!" + exit 1 + fi +fi -echo "[INFO] Unmounting system dirs..." -sudo umount -lf "$ROOTFS_DIR/dev" -sudo umount -lf "$ROOTFS_DIR/proc" -sudo umount -lf "$ROOTFS_DIR/sys" +# Define output tarball location (adjust as needed) +TARBALL="/output/${ROOTFS_DIR}.tar.gz" -echo "[INFO] Cleaning up chroot script..." -sudo rm -f "$ROOTFS_DIR/alpine-base_pt2.sh" +echo "[INFO] Unmounting system directories (ignore errors)..." +for dir in dev proc sys; do + sudo umount -lf "$ROOTFS_DIR/$dir" 2>/dev/null || true +done -echo "[INFO] Creating tarball: $OUTPUT_TAR" -sudo tar -czf "$OUTPUT_TAR" -C "$ROOTFS_DIR" . +echo "[INFO] Removing chroot script if exists..." +sudo rm -f "$ROOTFS_DIR/alpine-base_pt2.sh" 2>/dev/null || true -echo "[INFO] Image size:" -du -sh "$OUTPUT_TAR" +echo "[INFO] Rootfs size:" +du -sh "$ROOTFS_DIR" -# OPTIONAL FTP upload - echo "[INFO] Uploading via FTP..." - ftp-upload -v -h -u --password -d /path "$OUTPUT_TAR" +echo "[INFO] Creating compressed base image tarball..." +sudo tar -czf "$TARBALL" -C "$ROOTFS_DIR" . -echo "[INFO] Cleaning up rootfs directory..." -sudo rm -rf "$ROOTFS_DIR" +echo "[INFO] Tarball size:" +du -sh "$TARBALL" -echo "[INFO] Done." +echo "[INFO] Tarball ready for CI to upload: $TARBALL"