From 4eba10d1ad97f4f6d173980ef3c663f2ee8d794a Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Fri, 6 Nov 2026 15:19:32 +0100 Subject: [PATCH] fix: name every board system in --target help --- install.ps1 | 2 +- install.py | 4 ++-- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install.py | 15 +++++++++++++++ wiki/installer.md | 5 +++-- 6 files changed, 30 insertions(+), 14 deletions(-) diff --git a/install.ps1 b/install.ps1 index 4719a31b9..5fb3dea2e 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 = "64dcffcffb5027e5eb306f19e70437c3f30ea4ffbc3c71556090103b18e0356e" + $defaultInstallSha256 = "e6f1825bd04698851d98e30ad9ff016d3fbf28ea5db2d65e5d7e25820026cd4a" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index e42b0d0cd..b367f5906 100644 --- a/install.py +++ b/install.py @@ -13384,8 +13384,8 @@ def build_parser() -> argparse.ArgumentParser: "--target", metavar="NAME", help="hardware target for core filtering (switch, rpi4, ...). " - "On Batocera, Recalbox, ROCKNIX, Lakka, KNULLI and RetroPie the board is read " - "from the system", + f"On {_names_and([display_name(name) for name in _BOARD_SOURCES])} the board " + "is read from the system", ) parser.add_argument( "--every-board", diff --git a/install.sh b/install.sh index da295e7f0..0a873ae9d 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="64dcffcffb5027e5eb306f19e70437c3f30ea4ffbc3c71556090103b18e0356e" +DEFAULT_INSTALL_SHA256="e6f1825bd04698851d98e30ad9ff016d3fbf28ea5db2d65e5d7e25820026cd4a" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 81f29a5a5..f1dfad8b6 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": 1118180, - "sha256": "64dcffcffb5027e5eb306f19e70437c3f30ea4ffbc3c71556090103b18e0356e", + "size": 1118187, + "sha256": "e6f1825bd04698851d98e30ad9ff016d3fbf28ea5db2d65e5d7e25820026cd4a", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1171807, - "sha256": "ac78b326c3a0f69fe36db2197ee7ce53f977c2d3124177fd97fcc70e605e719f" + "size": 1171814, + "sha256": "848576a731e09308fb897e760acf62c566523b881b1eca4f2818bacc259747ad" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1118180, - "sha256": "64dcffcffb5027e5eb306f19e70437c3f30ea4ffbc3c71556090103b18e0356e", + "size": 1118187, + "sha256": "e6f1825bd04698851d98e30ad9ff016d3fbf28ea5db2d65e5d7e25820026cd4a", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1118180, - "sha256": "64dcffcffb5027e5eb306f19e70437c3f30ea4ffbc3c71556090103b18e0356e", + "size": 1118187, + "sha256": "e6f1825bd04698851d98e30ad9ff016d3fbf28ea5db2d65e5d7e25820026cd4a", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index ec8dd7d49..4304e6bd1 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -4609,6 +4609,21 @@ class StandaloneCopiesUnderTheirOwnName(unittest.TestCase): self.assertLessEqual({"keys.txt", "otp.bin", "seeprom.bin"}, names) +class TheBoardSystemsAreNamedFromTheCode(unittest.TestCase): + """--help and the wiki named six systems whose board is read, while the + code read eight: an AmberELEC user concluded --target was needed.""" + + def test_help_and_wiki_name_every_one(self): + names = [install.display_name(name) for name in install._BOARD_SOURCES] + help_text = " ".join(install.build_parser().format_help().split()) + wiki = " ".join((REPO_ROOT / "wiki" / "installer.md").read_text().split()) + paragraph = wiki[:wiki.index("RetroPie reads the Pi model") + len("RetroPie")][-400:] + for name in names: + with self.subTest(name=name): + self.assertIn(name, help_text[help_text.index("--target"):]) + self.assertIn(name, paragraph) + + class RetroArchAppImageIsPortable(unittest.TestCase): """The buildbot's Linux RetroArch is an AppImage beside a .home folder the AppImage runtime makes its HOME: the run found nothing and offered diff --git a/wiki/installer.md b/wiki/installer.md index 183594d9e..934e92a68 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -1069,8 +1069,9 @@ AmberELEC, EmuELEC and KNULLI install the BIOS list they publish themselves. The image or source of its Odroid Go builds is published, so neither its marker files nor its folder could be read. -Batocera, Recalbox, ROCKNIX, Lakka and KNULLI also name the board they were built -for, RetroPie reads the Pi model as its setup script does (`x86_64` on a PC), +AmberELEC, EmuELEC, Batocera, Recalbox, ROCKNIX, Lakka and KNULLI also name the +board they were built for (AmberELEC and EmuELEC as `COREELEC_DEVICE` in +`/etc/os-release`), RetroPie reads the Pi model as its setup script does (`x86_64` on a PC), and that board narrows the install unless `--target` or `--every-board` says otherwise (see the options above). A board with no core list of its own is named and gets the files of every board. KNULLI writes its board to