fix: read a batocera zen3 board as its target

This commit is contained in:
Abdessamad Derraz committed 2026-11-05 19:18:50 +01:00
1 parent 289c180bfa
commit c0bb3443c0
5 files changed
+22 -11

No files matched your search

+1 -1
View File
@@ -16,7 +16,7 @@
# and Invoke-WebRequest throws on a cut transfer before the hash is read:
# the site's build rewrites this line there (scripts/sitebootstrap.py).
$mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that."
$defaultInstallSha256 = "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92"
$defaultInstallSha256 = "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b"
$maximumInstallerBytes = 2MB
$installerExit = 0
$installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null }
+3 -1
View File
@@ -1466,8 +1466,10 @@ _BOARD_SOURCES: dict[str, tuple[str, str]] = {
# target lists are named for the board files (configs/knulli-rk3566.board),
# and the arch file for the TARGET flag the board sets. knulli-rk3566.board
# sets BR2_PACKAGE_BATOCERA_TARGET_RK3568, which knulli-system.mk:22-23
# (20260511) writes as rk3568.
# (20260511) writes as rk3568. batocera-zen3.board sets TARGET_ZEN3, which
# batocera-system.mk:56-57 (batocera-43.1) writes as x86-64-v3.
_BOARD_NAMES: dict[str, dict[str, str]] = {
"batocera": {"x86-64-v3": "zen3"},
"knulli": {"rk3568": "rk3566"},
}
+1 -1
View File
@@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins
# curl or wget stop on a cut transfer before the hash is read: the site's
# build rewrites this line there (scripts/sitebootstrap.py).
MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that."
DEFAULT_INSTALL_SHA256="ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92"
DEFAULT_INSTALL_SHA256="e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b"
MAX_INSTALLER_BYTES=2097152
cleanup() {
+8 -8
View File
@@ -27,8 +27,8 @@
{
"dest": "roms/ports/retrobios/install.py",
"repo_path": "install.py",
"size": 1090336,
"sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92",
"size": 1090483,
"sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b",
"executable": false
},
{
@@ -71,8 +71,8 @@
"muos": {
"archive": {
"dest": "ARCHIVE/RetroBIOS.muxapp",
"size": 1143963,
"sha256": "c99324398d6e3746ef65b3cf491c30defae5556664bb4e7cca1675c3d1c2a444"
"size": 1144110,
"sha256": "5d9347427326038bf925f778d724f87cdafca03e50017123af3cd0eb9939cb7c"
},
"members": [
{
@@ -92,8 +92,8 @@
{
"name": "RetroBIOS/install.py",
"repo_path": "install.py",
"size": 1090336,
"sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92",
"size": 1090483,
"sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b",
"executable": false
},
{
@@ -166,8 +166,8 @@
{
"dest": ".config/modules/retrobios/install.py",
"repo_path": "install.py",
"size": 1090336,
"sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92",
"size": 1090483,
"sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b",
"executable": false
},
{
+9
View File
@@ -5414,6 +5414,15 @@ class BatoceraAndKnulliByWhatTheirBuildsWrite(unittest.TestCase):
if board:
self.assertIn(board, targets)
def test_a_batocera_zen3_board_narrows_to_its_target(self):
"""batocera.arch says x86-64-v3 on a zen3 image, which no target
list names: the run installed the files of every board."""
arch = Path(_tempdir(self)) / "batocera.arch"
arch.write_text("x86-64-v3")
with unittest.mock.patch.dict(install._BOARD_SOURCES,
{"batocera": ("file", str(arch))}):
self.assertEqual(install.detect_board("batocera"), "zen3")
def test_each_board_name_is_a_published_target(self):
for plat, names in install._BOARD_NAMES.items():
targets = json.loads((REPO_ROOT / "install" / "targets" / f"{plat}.json")