mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
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:
1 parent
7d89877aab
commit
6191d4783a
4 files changed
+40
-13
No files matched your search
@@ -7,7 +7,7 @@ profiled_date: "2026-11-09"
|
||||
source_commit: "c53d6db770a5580732a7f2bb48abcbfcd95fd0f4"
|
||||
pin_frozen: "AmberELEC builds this revision (AmberELEC packages/games/emulators/amiberry/package.mk:6\
|
||||
\ at a21975b), KNULLI the v7.1.0 tag through its batocera submodule (batocera package/batocera/emulators/amiberry/amiberry.mk:7\
|
||||
\ at 487014d). The two read the same files: equal ROM database, folders, scan and booter, the changes\
|
||||
\ at 487014d, the commit knulli-linux 20260511 pins). The two read the same files: equal ROM database, folders, scan and booter, the changes\
|
||||
\ between them being hotkeys, the GUI font and the plugins folder."
|
||||
pin_build:
|
||||
- platform: amberelec
|
||||
@@ -17,9 +17,9 @@ pin_build:
|
||||
variable: PKG_VERSION
|
||||
value: "c53d6db770a5580732a7f2bb48abcbfcd95fd0f4"
|
||||
- platform: knulli
|
||||
repo: "https://github.com/batocera-linux/batocera.linux"
|
||||
revision: "487014d91147610ebdd62f870009d4563ac61763"
|
||||
path: "package/batocera/emulators/amiberry/amiberry.mk"
|
||||
repo: "https://github.com/knulli-cfw/knulli-linux"
|
||||
revision: "20260511"
|
||||
path: "batocera/package/batocera/emulators/amiberry/amiberry.mk"
|
||||
variable: AMIBERRY_VERSION
|
||||
value: "v7.1.0"
|
||||
core_version: "7.1.1"
|
||||
|
||||
@@ -6,15 +6,9 @@ upstream: "https://github.com/tonioni/WinUAE"
|
||||
profiled_date: "2026-11-09"
|
||||
source_commit: "110ab1b08c010f8b1f873310add18cc66dae4f24"
|
||||
pin_frozen: "RetroBat, the only platform that ships it, installs the Windows build of the v8.3.0 tag\
|
||||
\ (RetroBat emulators/versions.xml lists amiberry 8.3.0.0 on its stable channel, RetroBat emulatorLauncher/Installer.cs:26,\
|
||||
\ 199-237 reads it). Later releases are not part of that install."
|
||||
pin_build:
|
||||
- platform: retrobat
|
||||
repo: "https://www.retrobat.org/repo/win64"
|
||||
revision: "stable"
|
||||
path: "emulators/versions.xml"
|
||||
variable: amiberry
|
||||
value: "8.3.0.0"
|
||||
\ (emulators/versions.xml on its download server lists amiberry 8.3.0.0 for the stable channel, which\
|
||||
\ emulatorLauncher/Installer.cs:26, 199-237 reads). No repository holds that list. Later releases are not\
|
||||
\ part of that install."
|
||||
core_version: "8.3.0"
|
||||
version_basis:
|
||||
kind: file
|
||||
|
||||
@@ -1615,6 +1615,17 @@ def check_pin_builds(
|
||||
at = revision or upstream.resolve_head(repo, cache_dir, offline)
|
||||
lines = upstream.fetch_file(repo, at, reference["path"], cache_dir, offline) \
|
||||
if at else None
|
||||
if at and lines is None:
|
||||
# A file of a submodule is read at the commit the
|
||||
# platform's tree pins: KNULLI builds Batocera's
|
||||
# amiberry package through its batocera submodule.
|
||||
modules = upstream.fetch_file(repo, at, ".gitmodules", cache_dir, offline)
|
||||
declared = upstream.submodule_urls("\n".join(modules or ()), repo)
|
||||
if any(reference["path"].startswith(f"{p}/") for p in declared):
|
||||
linked = upstream.through_gitlink(repo, at, reference["path"],
|
||||
cache_dir, offline)
|
||||
if linked is not None:
|
||||
lines = upstream.fetch_file(*linked, cache_dir, offline)
|
||||
except upstream.NotCachedError:
|
||||
findings.append(Finding("profiles", subject, SKIPPED, local=recorded[:12],
|
||||
detail="offline, the build file is not cached"))
|
||||
|
||||
@@ -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]}}
|
||||
|
||||
Reference in new issue
Block a user