diff --git a/install.ps1 b/install.ps1 index f12f5ffb2..d53d32866 100644 --- a/install.ps1 +++ b/install.ps1 @@ -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 } diff --git a/install.py b/install.py index 546d9d04f..4c66501ff 100644 --- a/install.py +++ b/install.py @@ -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"}, } diff --git a/install.sh b/install.sh index 61669c012..e62e835c6 100755 --- a/install.sh +++ b/install.sh @@ -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() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 4d17f4026..371e49d0c 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -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 }, { diff --git a/tests/test_install.py b/tests/test_install.py index a01203c32..079d4d45b 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -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")