ci: repo-remove before repo-add so db CSIZE matches new build bytes
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) <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,16 @@ jobs:
|
|||||||
for ext in xz zst gz; do
|
for ext in xz zst gz; do
|
||||||
for f in *.pkg.tar.$ext; do [ -f "$f" ] && pkgs+=("$f"); done
|
for f in *.pkg.tar.$ext; do [ -f "$f" ] && pkgs+=("$f"); done
|
||||||
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 \
|
repo-add --new --sign --key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C \
|
||||||
--verify marfrit.db.tar.gz "${pkgs[@]}"
|
--verify marfrit.db.tar.gz "${pkgs[@]}"
|
||||||
ln -sf marfrit.db.tar.gz marfrit.db
|
ln -sf marfrit.db.tar.gz marfrit.db
|
||||||
@@ -226,6 +236,13 @@ jobs:
|
|||||||
for ext in xz zst gz; do
|
for ext in xz zst gz; do
|
||||||
for f in *.pkg.tar.$ext; do [ -f "$f" ] && pkgs+=("$f"); done
|
for f in *.pkg.tar.$ext; do [ -f "$f" ] && pkgs+=("$f"); done
|
||||||
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 \
|
repo-add --new --sign --key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C \
|
||||||
--verify marfrit.db.tar.gz "${pkgs[@]}"
|
--verify marfrit.db.tar.gz "${pkgs[@]}"
|
||||||
ln -sf marfrit.db.tar.gz marfrit.db
|
ln -sf marfrit.db.tar.gz marfrit.db
|
||||||
|
|||||||
Reference in New Issue
Block a user