Skip retained published archives when planning builds

This commit is contained in:
Ryan Hughes committed 2026-09-15 00:13:57 -04:00
1 parent cc143f7352
commit 9d5c3eea19
5 files changed
+96 -4

No files matched your search

+12
View File
@@ -191,6 +191,18 @@ package_supports_arch() {
esac
}
# The channel DB indexes only its newest version, but older published archives
# remain immutable. Both the scheduler and build planner must skip an existing
# filename even when the checkout differs from the version currently indexed.
package_version_is_published() {
local repo_dir="$1" package="$2" version="$3" target="$4" path
for path in "$repo_dir/$package-$version-$target.pkg.tar."* \
"$repo_dir/$package-$version-any.pkg.tar."*; do
[[ -f "$path" && "$path" != *.sig ]] && return 0
done
return 1
}
# Channel membership: where a package may be published. Packages without a
# `channels` key are members of every channel (they flow edge -> rc -> stable).
package_has_channels() {