#!/bin/bash set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" OUTPUT_DIR="${OUTPUT_DIR:-$SCRIPT_DIR/staging}" mkdir -p "$OUTPUT_DIR" build_package() { local pkg_dir="$1" local pkg_name pkg_name="$(basename "$pkg_dir")" if [ -f "$pkg_dir/bin/build.sh" ]; then echo "=== Building $pkg_name ===" ( cd "$pkg_dir" ./bin/build.sh # Move built debian packages to output dir mv -v *.deb "$OUTPUT_DIR/" 2>/dev/null || true ) else echo "Skipping $pkg_name: no bin/build.sh found" fi } TARGET="${1:-all}" if [ "$TARGET" = "all" ]; then echo "Building all packages in sources/..." for dir in "$SCRIPT_DIR"/sources/*; do if [ -d "$dir" ]; then build_package "$dir" fi done else if [ -d "$SCRIPT_DIR/sources/$TARGET" ]; then build_package "$SCRIPT_DIR/sources/$TARGET" else echo "Error: Source directory sources/$TARGET not found." exit 1 fi fi echo "Build complete. Packages available in: $OUTPUT_DIR"