From 505cfc044b7e12a55cd6ee436c19fa0e5e3fb9dd Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 12:10:51 +0100 Subject: [PATCH] fix: say what a platform's own check compares --- install.ps1 | 2 +- install.py | 5 ++++- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install.py | 6 ++++-- tests/test_install_tui.py | 3 ++- wiki/installer.md | 4 ++-- 7 files changed, 22 insertions(+), 16 deletions(-) diff --git a/install.ps1 b/install.ps1 index a1e01e61b..0108187fd 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 = "5255181d018ce7020a619c6a31419da0dde862626bc57347cd0299a099e64f11" + $defaultInstallSha256 = "209c7614ad968cfc1cf30e69048acfb306cf5f8e3b14e3b00a6339699419e08c" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index a345ace17..0482c2aa5 100644 --- a/install.py +++ b/install.py @@ -1762,7 +1762,10 @@ _VERSION_TEXT = re.compile(r"[0-9A-Za-z][0-9A-Za-z._+-]{0,39}") # What generate_pack.py wrote as every list's version until it recorded the # platform's own: not a version, so a list holding it names none. _NO_LIST_VERSION = "1.0" -_MD5_CHECK = "{name}'s own BIOS check may report some files as wrong though they work." +# What the platform's own check does, not a verdict on it: it compares the +# files with the list of its own version, and no run proved them working. +_MD5_CHECK = ("{name}'s own BIOS check reads the list of the version it runs, and " + "may show some files as not matching it.") def _version_line(path: Path) -> str: diff --git a/install.sh b/install.sh index 0384b82f8..3246396a6 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="5255181d018ce7020a619c6a31419da0dde862626bc57347cd0299a099e64f11" +DEFAULT_INSTALL_SHA256="209c7614ad968cfc1cf30e69048acfb306cf5f8e3b14e3b00a6339699419e08c" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 7470b4532..374f7c557 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": 1084625, - "sha256": "5255181d018ce7020a619c6a31419da0dde862626bc57347cd0299a099e64f11", + "size": 1084827, + "sha256": "209c7614ad968cfc1cf30e69048acfb306cf5f8e3b14e3b00a6339699419e08c", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1138252, - "sha256": "bc75188e7d115aa35066fba281deb2bec5ce07553ebdbe2d8444d0dbdfc5d41d" + "size": 1138454, + "sha256": "5748eb969c4bebfca1a560e2c4ffcd8507e20b12ea36c4400386e69a260d330d" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1084625, - "sha256": "5255181d018ce7020a619c6a31419da0dde862626bc57347cd0299a099e64f11", + "size": 1084827, + "sha256": "209c7614ad968cfc1cf30e69048acfb306cf5f8e3b14e3b00a6339699419e08c", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1084625, - "sha256": "5255181d018ce7020a619c6a31419da0dde862626bc57347cd0299a099e64f11", + "size": 1084827, + "sha256": "209c7614ad968cfc1cf30e69048acfb306cf5f8e3b14e3b00a6339699419e08c", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index dea417910..d0e9260df 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -6132,7 +6132,8 @@ class TheListVersionIsComparedWithTheSystems(unittest.TestCase): self.assertEqual((listed, installed), ("43.1", "41")) self.assertEqual( text, "This list was built for Batocera 43.1, this machine runs 41. " - "Batocera's own BIOS check may report some files as wrong though they work.") + "Batocera's own BIOS check reads the list of the version it runs, and " + "may show some files as not matching it.") self.assertIsNone(self.note("batocera", "41")) def test_recalbox_reads_only_a_release(self): @@ -6243,7 +6244,8 @@ class TheListVersionIsSaidBeforeAndAfter(unittest.TestCase): ) SAID = ("This list was built for RetroBat 8.3.1, this machine runs 8.2.0. " - "RetroBat's own BIOS check may report some files as wrong though they work.") + "RetroBat's own BIOS check reads the list of the version it runs, and " + "may show some files as not matching it.") def test_line_mode_says_it_before_the_install_and_with_the_result(self): proc = self.run_installer() diff --git a/tests/test_install_tui.py b/tests/test_install_tui.py index 03bc22ffd..318453fff 100644 --- a/tests/test_install_tui.py +++ b/tests/test_install_tui.py @@ -10920,7 +10920,8 @@ class AuditNineteenAndTwelve(_CardFixtures, unittest.TestCase): """code_audit_19 P2-1, tui_audit_12 P2-4: line mode said it, the screen dropped the version event.""" said = ("This list was built for RetroBat 8.3.1, this machine runs 8.2.0.1. " - "RetroBat's own BIOS check may report some files as wrong though they work.") + "RetroBat's own BIOS check reads the list of the version it runs, and " + "may show some files as not matching it.") state = fresh_state() state.stack = ["setup"] with mock.patch.object(install.Path, "exists", return_value=True): diff --git a/wiki/installer.md b/wiki/installer.md index d7d04be39..cf7f3f600 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -355,8 +355,8 @@ The file list names the version of the platform it was built for (Batocera 43.1, RetroBat 8.3.1). Where the system writes its own version in a file, the installer reads it, and when the two differ it says so before the install and again with the result: "This list was built for Batocera 43.1, this machine -runs 41. Batocera's own BIOS check may report some files as wrong though they -work." The install goes on. The files read are +runs 41. Batocera's own BIOS check reads the list of the version it runs, and +may show some files as not matching it." The install goes on. The files read are `/usr/share/batocera/batocera.version` on Batocera, `/recalbox/recalbox.version` on Recalbox (a release, not a branch build), `system\version.info` beside the `bios` folder of RetroBat, and `VERSION_ID` in `/etc/os-release` on Lakka and