54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			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" |