verify-fork-versions.sh: remove snapshot content-skip, add base fork to map

Context: A relibc fork check via cargo compare exposed that the fork
labeled 0.6.0 (matching a 2020-12-23 upstream tag) was on a
completely different codebase from upstream master. The fork was
imported as a snapshot. The verify-fork-versions.sh tool allowed
this because 'snapshot' mode skipped byte-for-byte content comparison.

Changes:
1. Remove 'snapshot = skip content check' behavior. All Cat 2 forks must
   pass actual content comparison against their claimed upstream tag.
2. Add base to local/fork-upstream-map.toml so it's checked too (was missing).

Effect: Future 'fake version label' divergences (Cargo.toml says
version X but source content does not match upstream X) will be
caught by the preflight check instead of slipping through build.
This commit is contained in:
2026-07-11 01:49:12 +03:00
parent 311a96bc94
commit 7d134eef37
2 changed files with 3 additions and 5 deletions
+1
View File
@@ -38,3 +38,4 @@ kernel https://gitlab.redox-os.org/redox-os/kernel.git 0.5.12 sna
bootloader https://gitlab.redox-os.org/redox-os/bootloader.git 1.0.0 snapshot
installer https://gitlab.redox-os.org/redox-os/installer.git 0.2.42 snapshot
userutils https://gitlab.redox-os.org/redox-os/userutils.git 0.1.0 snapshot
base https://gitlab.redox-os.org/redox-os/base.git main tracked
+2 -5
View File
@@ -91,11 +91,8 @@ for fork_dir in local/sources/*/; do
continue
fi
# Snapshot forks: skip content comparison (unrelated git histories).
# Version format and suffix are still verified above.
if [ "$fork_mode" = "snapshot" ]; then
continue
fi
# snapshot mode no longer skips content check — must match upstream tag.
# Fetch the upstream tag's tree hash
upstream_hash=$(cd /tmp && git ls-remote --tags "$upstream_url" "refs/tags/$upstream_tag" 2>/dev/null | awk '{print $1}' | head -1)