#!/bin/bash # Native Ubuntu build script # Assumes host is running Ubuntu Linux # Uses native Ubuntu packages (apt) and copies system Python set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" CONFIG="$PROJECT_DIR/.build-config.json" # Platform identifier export PLATFORM="linux" # Check we're on Linux if [[ ! -f /etc/os-release ]] || ! grep -q "ubuntu\|debian" /etc/os-release; then echo "Note: This script is optimized for Ubuntu/Debian but may work on other distributions." echo "For non-Ubuntu Linux, system dependencies might need manual installation." echo "" fi echo "=== Slopsmith Desktop Ubuntu Native Build ===" echo "" # Color setup export RED='\033[0;31m' export GREEN='\033[0;32m' export YELLOW='\033[1;33m' export BLUE='\033[0;34m' export NC='\033[0m' # Source common build logic source "$SCRIPT_DIR/build-common.sh" # Platform-specific: Return expected artifact patterns get_expected_artifacts() { printf "%s\n" "$PROJECT_DIR/release/*.AppImage" "$PROJECT_DIR/release/*.deb" } # Platform-specific: Install system dependencies install_system_deps() { echo -e "${YELLOW}!${NC} Using pre-installed system dependencies (sudo skipped for this build)" } # Platform-specific: Bundle Python runtime bundle_python_impl() { # Linux: use existing bundle-python.sh script bash "$SCRIPT_DIR/bundle-python.sh" } # Platform-specific: Bundle system binaries bundle_binaries_impl() { # Linux: use existing bundle-binaries.sh script bash "$SCRIPT_DIR/bundle-binaries.sh" } # Run the build main "$@"