apt-ostree/debian/build.sh

81 lines
No EOL
1.8 KiB
Bash

#!/bin/bash
# apt-ostree Debian Package Builder
# Simplified version for CI/CD environments
set -e
# Colors for output
GREEN='\033[0;32m'
BLUE='\033[0;34m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'
print_status() {
echo -e "${BLUE}[INFO]${NC} $1"
}
print_success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
print_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
print_header() {
echo ""
echo -e "${BLUE}================================${NC}"
echo -e "${BLUE}$1${NC}"
echo -e "${BLUE}================================${NC}"
}
# Configuration
PROJECT_NAME="apt-ostree"
VERSION="0.1.0"
print_header "apt-ostree Debian Package Builder"
# Check if we're in the right directory
if [ ! -f "Cargo.toml" ]; then
print_error "Cargo.toml not found. Please run this script from the project root."
exit 1
fi
# Check if debian directory exists
if [ ! -d "debian" ]; then
print_error "debian/ directory not found. Please ensure Debian packaging files are present."
exit 1
fi
print_status "Building apt-ostree package..."
# Ensure Rust environment is available
if command -v cargo &> /dev/null; then
print_status "Rust environment found"
cargo --version
else
print_error "Cargo not found. Please ensure Rust is installed."
exit 1
fi
# Build the package using dpkg-buildpackage
print_status "Running dpkg-buildpackage..."
dpkg-buildpackage -us -uc -b
# Check if build was successful
if [ $? -eq 0 ]; then
print_success "Package built successfully!"
# List built packages
print_status "Built packages:"
ls -la ../*.deb 2>/dev/null || echo "No .deb files found in parent directory"
ls -la *.deb 2>/dev/null || echo "No .deb files found in current directory"
else
print_error "Package build failed!"
exit 1
fi
print_success "Build completed successfully!"