fix: record each platform's own list version

install/<platform>.json wrote the constant "1.0" as the version of the
list it was built from. The manifest now carries the version the platform
YAML records, and generate_pack refuses a YAML without one.

inherits: no longer passes a parent's version to a child: Lakka was
published as RetroArch v1.22.2 in its manifest, pack name and site page.
lakka.yml records v6.1, the Lakka-LibreELEC tag its target list is read
at. The MiSTer scraper refuses a BiosDB without a timestamp instead of
writing an empty version.

A pack's manifest.json records list_version, so an install from the pack
alone knows it too. Manifests regenerated twice and compared: only
version and generated changed.
This commit is contained in:
Abdessamad Derraz committed 2026-10-27 19:10:39 +01:00
1 parent 1f6c018006
commit 25c356669b
37 files changed
+197 -52

No files matched your search

+4 -3
View File
@@ -58,6 +58,7 @@ class SlugPlatform(unittest.TestCase):
self.db = {"files": files, "indexes": generate_db.build_indexes(files, {})}
self.config = {
"platform": "Slugs",
"version": "2.1",
"verification_mode": "md5",
"base_destination": "bios",
"cores": ["dosbox"],
@@ -139,7 +140,7 @@ class RegionKeysForEveryClaimant(unittest.TestCase):
)
common._emulator_profiles_cache.clear()
profiles = common.load_emulator_profiles("emulators")
config = {"platform": "P", "verification_mode": "existence", "cores": ["one", "two"],
config = {"platform": "P", "version": "2.1", "verification_mode": "existence", "cores": ["one", "two"],
"systems": {"sys": {"files": []}}}
_groups, extra_dests = platform_region_groups(
config, config["systems"], "emulators", db, "", profiles
@@ -178,7 +179,7 @@ class FlatFirmwareFolder(unittest.TestCase):
}
db = {"files": files, "indexes": generate_db.build_indexes(files, {})}
config = {
"platform": "Flat", "verification_mode": "md5",
"platform": "Flat", "version": "2.1", "verification_mode": "md5",
"base_destination": "bios", "cores": ["psx"],
"systems": {
"psx": {"files": [{"name": "scph5501.bin",
@@ -300,7 +301,7 @@ class OnePathCountsOnce(unittest.TestCase):
common._emulator_profiles_cache.clear()
self.addCleanup(common._emulator_profiles_cache.clear)
profiles = common.load_emulator_profiles("emulators")
config = {"platform": "P", "verification_mode": "existence", "cores": ["one", "two"],
config = {"platform": "P", "version": "2.1", "verification_mode": "existence", "cores": ["one", "two"],
"systems": {"amiga": {"files": []}}}
report = verify_platform(config, db, "emulators", profiles)
claims = [u for u in report["undeclared_files"] if u["name"] == "rom.key"]