feat: a platform package can differ from upstream

bundled describes the emulator's own release, and a platform package can differ both ways: Batocera's hcl package installs the binary alone and sends users to fetch the data, while its blueMSX core package copies the machines and databases beside the core. not_bundled_on and installed_on name those platforms, and the builder reads them through one rule.
This commit is contained in:
Abdessamad Derraz committed 2026-10-20 06:11:10 +02:00
1 parent 36e30beac0
commit f7d57dd91d
6 files changed
+77 -4

No files matched your search

+3 -1
View File
@@ -80,7 +80,9 @@ class BundledHashIsProof(unittest.TestCase):
wrong = []
for name, profile in sorted(load_emulator_profiles("emulators", skip_aliases=False).items()):
for entry in profile.get("files") or []:
if not entry.get("bundled") or entry.get("unsourceable"):
# A bundled entry is packed only where a platform's package
# leaves it out: there the copy has to be the declared bytes.
if not entry.get("not_bundled_on") or entry.get("unsourceable"):
continue
if not any(entry.get(k) for k in ("sha1", "md5", "sha256", "crc32")):
continue