fix: drop amiberry copies its install provides

bundled_only.py --strict listed 14 copies in bios/Commodore/Amiga/
.variants that only the per-build amiberry profiles reach, each through
a bundled entry. Four are the AROS ROMs, and those entries say
not_bundled_on: ROCKNIX, AmberELEC and Recalbox package amiberry
without them, so their packs bring them from the collection. The tool
read bundled alone and listed them, and now keeps a copy a
not_bundled_on entry reaches. The ten others (WHDLoad, boot-data.zip,
whdload_db.xml of 5.6.5 to 8.0.0) no platform, profile or manifest
needs: removed. database.json is to be regenerated with the
collection's release assets.
This commit is contained in:
Abdessamad Derraz committed 2026-11-09 23:32:02 +01:00
1 parent a8b9853474
commit 57399b967a
12 files changed
+8 -1109497

No files matched your search

Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+4 -1
View File
@@ -66,7 +66,10 @@ def bundled_only(db: dict, profiles: dict, platforms_dir: str, install_dir: Path
sha1 = consumers.sha1_of(entry, entry.get("path") or "", owner=emulator)
if not sha1:
continue
if entry.get("bundled"):
# A platform whose package leaves the file out (not_bundled_on:
# AmberELEC's amiberry 7.1.1 has no AROS ROMs) brings it from
# the collection.
if entry.get("bundled") and not entry.get("not_bundled_on"):
bundled.setdefault(sha1, set()).add(emulator)
else:
needed.add(sha1)
+4
View File
@@ -6934,6 +6934,10 @@ class WhatOnlyAnInstallProvidesIsListed(unittest.TestCase):
}
rows = bundled_only.bundled_only(db, profiles, tmp, Path(tmp))
self.assertEqual([row["path"] for row in rows], [str(Path(tmp, "icon.png"))])
# A platform whose package leaves the file out brings it from the
# collection: the copy stays.
profiles["app"]["files"][0]["not_bundled_on"] = ["someplatform"]
self.assertEqual(bundled_only.bundled_only(db, profiles, tmp, Path(tmp)), [])
def test_every_copy_of_the_listed_bytes_is_listed(self):
"""The database keeps one path per content: splitwolf's sprite