fix: point each Amiberry build pin at its repo

KNULLI builds amiberry from Batocera's package through its batocera
submodule: the reference now names knulli-linux at 20260511, the tag
platforms/knulli.yml is read at, and the package file below the
submodule. check_freshness follows a path .gitmodules declares to the
commit the tree pins, which reads AMIBERRY_VERSION = v7.1.0 there.

RetroBat pins amiberry 8.3.0.0 only in emulators/versions.xml on its
download server, read by emulatorLauncher/Installer.cs. No repository
holds it, so amiberry-8.3.0 keeps pin_frozen, which says so, and no
pin_build.
This commit is contained in:
Abdessamad Derraz committed 2026-11-10 07:10:43 +01:00
1 parent 7d89877aab
commit 6191d4783a
4 files changed
+40 -13

No files matched your search

+22
View File
@@ -86,6 +86,28 @@ class HeldPinsReadTheirBuildFileAgain(unittest.TestCase):
self.assertEqual(found["mame0278 (recalbox)"].status, cf.STALE)
self.assertIn("is gone", found["mame0278 (recalbox)"].detail)
def test_a_file_of_a_submodule_is_read_at_its_gitlink(self):
"""KNULLI builds Batocera's amiberry package through its batocera
submodule: the file is not in knulli-linux's own tree."""
self._platform("10.2")
ref = {**self.REF, "path": "batocera/package/amiberry/amiberry.mk",
"variable": "AMIBERRY_VERSION", "value": "v7.1.0"}
modules = ['[submodule "batocera"]', "\tpath = batocera",
"\turl = https://github.com/batocera-linux/batocera.linux.git"]
def fetch(repo, sha, path, *_args):
if path == ".gitmodules":
return modules
if repo.slug == "batocera-linux/batocera.linux" and sha == "c" * 40:
return ["AMIBERRY_VERSION = v7.1.0"]
return None
profiles = {"amiberry": {"pin_frozen": "x", "pin_build": [ref]}}
with mock.patch.object(cf.upstream, "fetch_file", side_effect=fetch), \
mock.patch.object(cf.upstream, "list_gitlinks", return_value={"batocera": "c" * 40}):
(row,) = cf.check_pin_builds(profiles, self.platforms, "cache", False)
self.assertEqual(row.status, cf.OK, row.detail)
def test_offline_and_uncached_is_skipped(self):
self._platform("10.2")
profiles = {"mame0278": {"pin_frozen": "x", "pin_build": [self.REF]}}