full build test

This commit is contained in:
2025-07-05 06:33:06 -07:00
parent 777a7c2bce
commit f971be54ac
12 changed files with 259 additions and 269 deletions

View File

@@ -4,45 +4,34 @@
set -e
set -o pipefail
DEBIAN_RELEASE="bookworm"
ROOTFS_DIR="debian-docker-build"
SCRIPTS_URL="https://gitea.fithwum.tech/fithwum/files-for-dockers/raw/branch/master/base-image-script/"
PT2_SCRIPT="debian-docker-build_pt2.sh"
PT3_SCRIPT="debian-docker-build_pt3.sh"
DEBIAN_RELEASE="docker-build"
ROOTFS_DIR="debian-${DEBIAN_RELEASE}"
SCRIPTS_DIR="base-image-script"
PT2_SCRIPT="debian-${DEBIAN_RELEASE}_pt2.sh"
PT3_SCRIPT="debian-${DEBIAN_RELEASE}_pt3.sh"
echo "[INFO] Preparing environment..."
apt-get update -y
apt-get upgrade -y
apt-get install -y --no-install-recommends debootstrap bash curl wget ftp-upload dirmngr
apt-get install -y --no-install-recommends debootstrap bash curl wget dirmngr
echo "[INFO] Downloading extra scripts if missing..."
for SCRIPT in $PT2_SCRIPT $PT3_SCRIPT; do
if [ ! -f "./$SCRIPT" ]; then
echo "[INFO] Downloading $SCRIPT..."
wget --no-cache "$SCRIPTS_URL/$SCRIPT" -O "./$SCRIPT"
chmod +x "./$SCRIPT"
if [ ! -f "./${SCRIPTS_DIR}/$SCRIPT" ]; then
echo "[ERROR] Missing script: ${SCRIPTS_DIR}/$SCRIPT"
exit 1
fi
done
echo "[INFO] Bootstrapping Debian $DEBIAN_RELEASE..."
debootstrap \
--variant=minbase \
--components=main,contrib,non-free \
--include=apt,ca-certificates \
--arch=amd64 \
"$DEBIAN_RELEASE" "$ROOTFS_DIR" http://deb.debian.org/debian/
echo "[INFO] Bootstrapping Debian $DEBIAN_RELEASE rootfs..."
debootstrap --variant=minbase --components=main,contrib,non-free --include=apt,ca-certificates --arch=amd64 bookworm "$ROOTFS_DIR" http://deb.debian.org/debian/
echo "[INFO] Mounting system directories..."
for dir in dev dev/pts proc sys; do
mount --bind /$dir "$ROOTFS_DIR/$dir"
mount --bind "/$dir" "$ROOTFS_DIR/$dir"
done
echo "[INFO] Copying pt2 script into chroot..."
cp "./$PT2_SCRIPT" "$ROOTFS_DIR/root/$PT2_SCRIPT"
cp "./${SCRIPTS_DIR}/$PT2_SCRIPT" "$ROOTFS_DIR/root/$PT2_SCRIPT"
chmod +x "$ROOTFS_DIR/root/$PT2_SCRIPT"
echo "[INFO] Entering chroot. Type 'exit' when done."
chroot "$ROOTFS_DIR" /root/$PT2_SCRIPT
echo "[INFO] Running pt3 for packaging and upload..."
./$PT3_SCRIPT "$ROOTFS_DIR"
bash "./${SCRIPTS_DIR}/$PT3_SCRIPT" "$ROOTFS_DIR"