2025-12-09 05:31:55 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
|
|
|
|
|
echo "[docker] Starting package-manager container"
|
|
|
|
|
|
2025-12-09 20:52:07 +01:00
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
# Log distribution info
|
|
|
|
|
# ---------------------------------------------------------------------------
|
2025-12-09 05:31:55 +01:00
|
|
|
if [[ -f /etc/os-release ]]; then
|
|
|
|
|
# shellcheck disable=SC1091
|
|
|
|
|
. /etc/os-release
|
|
|
|
|
echo "[docker] Detected distro: ${ID:-unknown} (like: ${ID_LIKE:-})"
|
|
|
|
|
fi
|
|
|
|
|
|
2025-12-09 05:50:08 +01:00
|
|
|
# Always use /src (mounted from host) as working directory
|
2025-12-09 05:31:55 +01:00
|
|
|
echo "[docker] Using /src as working directory"
|
|
|
|
|
cd /src
|
|
|
|
|
|
2025-12-09 20:52:07 +01:00
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
# DEV mode: rebuild package-manager from the mounted /src tree
|
|
|
|
|
# ---------------------------------------------------------------------------
|
2025-12-12 15:42:25 +01:00
|
|
|
if [[ "${REINSTALL_PKGMGR:-0}" == "1" ]]; then
|
|
|
|
|
echo "[docker] DEV mode enabled (REINSTALL_PKGMGR=1)"
|
|
|
|
|
echo "[docker] Rebuilding package-manager from /src via scripts/installation/package.sh..."
|
|
|
|
|
bash scripts/installation/package.sh || exit 1
|
2025-12-09 05:31:55 +01:00
|
|
|
fi
|
|
|
|
|
|
2025-12-09 20:52:07 +01:00
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
# Hand off to pkgmgr or arbitrary command
|
|
|
|
|
# ---------------------------------------------------------------------------
|
2025-12-09 05:31:55 +01:00
|
|
|
if [[ $# -eq 0 ]]; then
|
|
|
|
|
echo "[docker] No arguments provided. Showing pkgmgr help..."
|
|
|
|
|
exec pkgmgr --help
|
|
|
|
|
else
|
|
|
|
|
echo "[docker] Executing command: $*"
|
|
|
|
|
exec "$@"
|
|
|
|
|
fi
|