From 2e79f666b3c16dc64624c51db41f6b056eac98fe Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Tue, 14 Apr 2026 20:43:37 +0000 Subject: [PATCH] ci: repo-remove before repo-add so db CSIZE matches new build bytes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit makepkg output isn't byte-deterministic across runs; same pkgver-pkgrel rebuilds produce different .pkg.tar.xz bytes. repo-add no-ops on same-version entries, leaving the db's CSIZE/SHA256 pointing at the previous build while the nc copy is the new one — alpm then refuses download with 'Maximum file size exceeded'. Force-remove first. Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitea/workflows/build.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 6c574f4a5..dc90ce386 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -82,6 +82,16 @@ jobs: for ext in xz zst gz; do for f in *.pkg.tar.$ext; do [ -f "$f" ] && pkgs+=("$f"); done done + # Force-replace db entries: remove the package by name first so the + # subsequent --new add records this build's CSIZE/SHA256, not the + # previous build's. (makepkg output isn't byte-stable across runs.) + if [ -f marfrit.db.tar.gz ]; then + for f in "${pkgs[@]}"; do + name=$(echo "$f" | sed -E 's/-[0-9].*//') + repo-remove --sign --key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C \ + marfrit.db.tar.gz "$name" 2>/dev/null || true + done + fi repo-add --new --sign --key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C \ --verify marfrit.db.tar.gz "${pkgs[@]}" ln -sf marfrit.db.tar.gz marfrit.db @@ -226,6 +236,13 @@ jobs: for ext in xz zst gz; do for f in *.pkg.tar.$ext; do [ -f "$f" ] && pkgs+=("$f"); done done + if [ -f marfrit.db.tar.gz ]; then + for f in "${pkgs[@]}"; do + name=$(echo "$f" | sed -E 's/-[0-9].*//') + repo-remove --sign --key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C \ + marfrit.db.tar.gz "$name" 2>/dev/null || true + done + fi repo-add --new --sign --key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C \ --verify marfrit.db.tar.gz "${pkgs[@]}" ln -sf marfrit.db.tar.gz marfrit.db