Files
Zabbix/zabbix-apk-builder/build.sh
2025-09-03 11:21:38 +02:00

54 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -e
# Configuration
PROJECT_DIR="$(pwd)"
IMAGE_NAME="zabbix-apk-builder"
CONTAINER_NAME="zabbix-build-$$"
OUTPUT_DIR="$PROJECT_DIR/packages"
echo "=== Zabbix APK Builder ==="
echo "Project directory: $PROJECT_DIR"
echo "Output directory: $OUTPUT_DIR"
# Clean up any existing containers
cleanup() {
echo "Cleaning up..."
docker rm -f "$CONTAINER_NAME" 2>/dev/null || true
}
trap cleanup EXIT
# Create output directory
mkdir -p "$OUTPUT_DIR"
# Build Docker image
echo "Building Docker image..."
docker build -t "$IMAGE_NAME" "$PROJECT_DIR"
# Run the build in container
echo "Running package build..."
docker run --rm \
--name "$CONTAINER_NAME" \
-v "$OUTPUT_DIR:/output" \
"$IMAGE_NAME" \
sh -c "
set -e
echo 'Starting package build...'
# Generate checksums for APKBUILD
echo 'Generating checksums for APKBUILD...'
abuild checksum
# Build packages
abuild -r
# Copy packages to output
echo 'Copying packages to output directory...'
find /home/builder/packages -name '*.apk' -exec cp {} /output/ \;
"
echo "Build completed successfully!"
echo "To install packages:"
echo " apk add --allow-untrusted $OUTPUT_DIR/zabbix-agent-*.apk"
echo " apk add --allow-untrusted $OUTPUT_DIR/zabbix-proxy-*.apk"