45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 KiB
Bash
Executable File
#!/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"
|