* Move Arch-specific ignore rules into `packaging/arch/.gitignore` and simplify top-level `.gitignore`/`.dockerignore`. * Update Arch `PKGBUILD` to sync from the project root and drop `packaging/` from the installed tree. * Fix OS-specific `package.sh` helpers to resolve the new `packaging/*` locations correctly for Arch, Debian/Ubuntu, Fedora, and CentOS.
33 lines
957 B
Bash
Executable File
33 lines
957 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
echo "[ubuntu/package] Building Ubuntu (Debian-style) package..."
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)"
|
|
|
|
BUILD_ROOT="/tmp/package-manager-ubuntu-build"
|
|
rm -rf "${BUILD_ROOT}"
|
|
mkdir -p "${BUILD_ROOT}"
|
|
|
|
echo "[ubuntu/package] Syncing project sources to ${BUILD_ROOT}..."
|
|
rsync -a \
|
|
--exclude 'packaging/debian' \
|
|
"${PROJECT_ROOT}/" "${BUILD_ROOT}/"
|
|
|
|
echo "[ubuntu/package] Overlaying debian/ metadata from packaging/debian..."
|
|
mkdir -p "${BUILD_ROOT}/debian"
|
|
cp -a "${PROJECT_ROOT}/packaging/debian/." "${BUILD_ROOT}/debian/"
|
|
|
|
cd "${BUILD_ROOT}"
|
|
|
|
echo "[ubuntu/package] Running dpkg-buildpackage..."
|
|
dpkg-buildpackage -us -uc -b
|
|
|
|
echo "[ubuntu/package] Installing generated DEB package..."
|
|
apt-get update
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y ./../package-manager_*.deb
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
echo "[ubuntu/package] Done."
|