Improve Docker-based build & test pipeline for pkgmgr
- Add .dockerignore rules to prevent Arch package artifacts from entering the build context - Rework Dockerfile to remove stale package artifacts before makepkg and use a dev entry script - Introduce docker-entry-dev.sh to always rebuild pkgmgr from the mounted /src tree - Update Makefile 'test' target to rebuild pkgmgr inside the container before running tests - Fix predictable makepkg failures caused by residual *.pkg.tar.* files Conversation reference: https://chatgpt.com/share/6935e6e8-f3fc-800f-a4e9-7537114f13d1
This commit is contained in:
22
scripts/docker-entry-dev.sh
Normal file
22
scripts/docker-entry-dev.sh
Normal file
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
echo "[entry] Using /src as working tree for package-manager..."
|
||||
cd /src
|
||||
|
||||
# Optional: altes Paket entfernen
|
||||
echo "[entry] Removing existing 'package-manager' Arch package (if installed)..."
|
||||
pacman -Rns --noconfirm package-manager || true
|
||||
|
||||
# Build-Owner richtig setzen (falls /src vom Host kommt)
|
||||
echo "[entry] Fixing ownership of /src for user 'builder'..."
|
||||
chown -R builder:builder /src
|
||||
|
||||
echo "[entry] Rebuilding Arch package from /src as user 'builder'..."
|
||||
su builder -c "cd /src && makepkg -s --noconfirm --clean"
|
||||
|
||||
echo "[entry] Installing freshly built package-manager-*.pkg.tar.*..."
|
||||
pacman -U --noconfirm /src/package-manager-*.pkg.tar.*
|
||||
|
||||
echo "[entry] Handing off to pkgmgr with args: $*"
|
||||
exec pkgmgr "$@"
|
||||
Reference in New Issue
Block a user