mid coding commit
This commit is contained in:
Executable
+75
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
# Build bootable Alpine Linux ISO for Archipelago Bitcoin Node OS
|
||||
# Supports building on macOS (via Docker) and Linux (native)
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
# Configuration
|
||||
ARCHIPELAGO_VERSION="${ARCHIPELAGO_VERSION:-0.1.0}"
|
||||
ALPINE_VERSION="${ALPINE_VERSION:-3.19}"
|
||||
ARCH="${ARCH:-x86_64}"
|
||||
BUILD_TYPE="${BUILD_TYPE:-iso}" # iso or disk
|
||||
OUTPUT_DIR="${OUTPUT_DIR:-$SCRIPT_DIR/results}"
|
||||
|
||||
echo "🔨 Building Archipelago Alpine Linux Image"
|
||||
echo " Version: $ARCHIPELAGO_VERSION"
|
||||
echo " Alpine: $ALPINE_VERSION"
|
||||
echo " Architecture: $ARCH"
|
||||
echo " Build Type: $BUILD_TYPE"
|
||||
echo ""
|
||||
|
||||
# Detect build environment
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
BUILD_ENV="macos"
|
||||
USE_DOCKER=true
|
||||
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||||
BUILD_ENV="linux"
|
||||
USE_DOCKER=false
|
||||
else
|
||||
echo "❌ Unsupported OS: $OSTYPE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "🌍 Build Environment: $BUILD_ENV"
|
||||
echo ""
|
||||
|
||||
# Create output directory
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
|
||||
# Build backend first
|
||||
echo "📦 Building Archipelago backend..."
|
||||
"$SCRIPT_DIR/scripts/build-backend.sh" || {
|
||||
echo "❌ Backend build failed"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Build frontend
|
||||
echo "🎨 Building Archipelago frontend..."
|
||||
"$SCRIPT_DIR/scripts/build-frontend.sh" || {
|
||||
echo "❌ Frontend build failed"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Create backend APK
|
||||
echo "📦 Creating backend APK package..."
|
||||
"$SCRIPT_DIR/scripts/create-backend-apk.sh" || {
|
||||
echo "❌ APK creation failed"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Build image based on environment
|
||||
if [ "$USE_DOCKER" = true ]; then
|
||||
echo "🐳 Building via Docker (macOS)..."
|
||||
"$SCRIPT_DIR/build-macos.sh" "$BUILD_TYPE"
|
||||
else
|
||||
echo "🐧 Building natively (Linux)..."
|
||||
"$SCRIPT_DIR/build-linux.sh" "$BUILD_TYPE"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✅ Build complete!"
|
||||
echo " Output: $OUTPUT_DIR"
|
||||
ls -lh "$OUTPUT_DIR"/*.{iso,img} 2>/dev/null || echo " (Check output directory for results)"
|
||||
Reference in New Issue
Block a user