mid coding commit
This commit is contained in:
Executable
+57
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
# Linux native build script
|
||||
# Builds Alpine image using native tools or Docker
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
BUILD_TYPE="${1:-iso}"
|
||||
|
||||
ARCHIPELAGO_VERSION="${ARCHIPELAGO_VERSION:-0.1.0}"
|
||||
ALPINE_VERSION="${ALPINE_VERSION:-3.19}"
|
||||
ARCH="${ARCH:-x86_64}"
|
||||
OUTPUT_DIR="${OUTPUT_DIR:-$SCRIPT_DIR/results}"
|
||||
|
||||
echo "🐧 Building on Linux"
|
||||
echo ""
|
||||
|
||||
# Check if we're in Alpine or need Docker
|
||||
if [ -f /etc/alpine-release ]; then
|
||||
echo "✅ Running on Alpine Linux - using native tools"
|
||||
USE_DOCKER=false
|
||||
elif command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then
|
||||
echo "⚠️ Not on Alpine - using Docker"
|
||||
USE_DOCKER=true
|
||||
else
|
||||
echo "❌ Need Alpine Linux or Docker"
|
||||
echo " Install Alpine: https://alpinelinux.org/downloads/"
|
||||
echo " Or install Docker: https://docs.docker.com/get-docker/"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$USE_DOCKER" = true ]; then
|
||||
# Use Docker for build
|
||||
echo "🐳 Using Docker container for build..."
|
||||
echo " This may take 30-60 minutes on first build..."
|
||||
echo ""
|
||||
|
||||
docker run --rm -it \
|
||||
-v "$PROJECT_ROOT:/workspace" \
|
||||
-v "$OUTPUT_DIR:/results" \
|
||||
-v "$SCRIPT_DIR/build:/build" \
|
||||
-v "$SCRIPT_DIR/apks:/apks" \
|
||||
-e BUILD_TYPE="$BUILD_TYPE" \
|
||||
-e ARCHIPELAGO_VERSION="$ARCHIPELAGO_VERSION" \
|
||||
-e ALPINE_VERSION="$ALPINE_VERSION" \
|
||||
-e ARCH="$ARCH" \
|
||||
alpine:${ALPINE_VERSION} \
|
||||
sh -c "
|
||||
apk add --no-cache bash git alpine-sdk abuild alpine-conf syslinux xorriso squashfs-tools grub grub-efi mtools dosfstools e2fsprogs curl rust cargo nodejs npm
|
||||
cd /workspace/image-recipe
|
||||
./build-alpine-native.sh $BUILD_TYPE
|
||||
"
|
||||
else
|
||||
# Native Alpine build
|
||||
"$SCRIPT_DIR/build-alpine-native.sh" "$BUILD_TYPE"
|
||||
fi
|
||||
Reference in New Issue
Block a user