fix: let config reads date their own build

A pin_build that only dates a config_reads entry names the revision the
platform reads that file at (ROCKNIX's armsx2 PKG_VERSION, KNULLI's
lrmame0278), not the profile's source_commit. Since a6716796a wrote
config_reads into the profiles, EveryBuildReferenceNamesThePin counted
armsx2, duckstation, hatari, mame, melonds and xemu as disagreeing. The
value is now required to name the pin only for a profile whose pin
those references hold or follow (pin_frozen, pin_follows).

advancemame still disagrees: held at 799060b, it names three earlier
builds (EmuELEC 6a34ec0, AmberELEC 0f6a767, Recalbox 5f301c8).
This commit is contained in:
Abdessamad Derraz committed 2026-11-11 13:27:18 +01:00
1 parent 7ff8f17808
commit 389ebfa132
1 file changed
+4 -1
+4 -1
View File
@@ -155,7 +155,10 @@ class EveryBuildReferenceNamesThePin(unittest.TestCase):
token = value.split()[-1].rsplit("/", 1)[-1].removesuffix(".tar.gz")
return value in pins or any(token in v or v in value for v in versions)
if not any(names_it(str(r["value"])) for r in references):
# A reference that only dates a config_reads entry names the build
# the platform reads that file at, not this profile's pin.
justifies_pin = profile.get("pin_frozen") or profile.get("pin_follows")
if justifies_pin and not any(names_it(str(r["value"])) for r in references):
disagree.append(name)
for reference in references:
if not cf.pin_build_revision(reference, REPO_ROOT / "platforms"):