Commit Graph
4273 Commits
Author SHA1 Message Date
Abdessamad Derraz 7a98d73d79 chore: merge engine fixes, third pass 2026-11-06 05:06:59 +01:00
Abdessamad Derraz b7def89e19 chore: merge installer fixes, third pass 2026-11-06 04:28:18 +01:00
Abdessamad Derraz f63a84a746 fix: check validate_pr platforms after git 2026-11-06 04:25:29 +01:00
Abdessamad Derraz c137d13621 fix: readme holds the data trees in main 2026-11-06 04:25:29 +01:00
Abdessamad Derraz cf2ea6cd44 fix: annotate the emulator pack comparison 2026-11-06 04:25:29 +01:00
Abdessamad Derraz 422de84ac8 chore: ask for the Lakka card in the platform menu
The manual platform menu test expected /storage/system for Lakka on a computer. Lakka is a card setup now, so the menu finds its card's STORAGE part: the default-folder case uses RetroPie, and a Lakka case checks the card.
2026-11-06 03:51:54 +01:00
Abdessamad Derraz cead17429b fix: compare narrowed emulator packs in step 5 2026-11-06 03:51:52 +01:00
Abdessamad Derraz 7e504e8469 fix: show and count data archive downloads
A data tree's archive came with no progress line, and the run ended on the BIOS bytes alone (310.5 KB where 82 MB arrived). Its download now draws the progress line and adds its bytes and time to the end line, a cut attempt taken back. It writes no progress event: those count the download event's files.
2026-11-06 03:51:36 +01:00
Abdessamad Derraz 7f6ba6952c feat: verify reports the required-only pack 2026-11-06 03:45:07 +01:00
Abdessamad Derraz 2ecbea56b5 fix: skip data trees a read-only folder refuses
A BIOS folder this user cannot write no longer tries each data tree's archive and blames its URL with a raw errno. The tree is counted failed for the same cause as the BIOS files, so the summary keeps its one line and its advice.
2026-11-06 03:44:17 +01:00
Abdessamad Derraz a82e9b6f7f fix: system report reads the claims the pack reads 2026-11-06 03:42:42 +01:00
Abdessamad Derraz 1ed605969d fix: standalone writers take the repository lock 2026-11-06 03:42:09 +01:00
Abdessamad Derraz f8702a19f7 feat: treat a Lakka card as a card setup
Lakka keeps its BIOS on its STORAGE partition (/storage/system). A computer now tells that partition by the retroarch.cfg RetroArch writes there, whose system_directory is Lakka's /tmp/system overlay, and --platform lakka on a computer asks for the card instead of writing to /storage/system here.
2026-11-06 03:41:18 +01:00
Abdessamad Derraz a2e8809945 fix: map a card's image name to its board
Batocera and KNULLI write the image name, not the board, to the card's board file (post-image-script.sh). The target scraper now records each board's images from Config.in, the target lists carry them, and the installer maps a card's image to its board. KNULLI's boot/knulli.board is read too.
2026-11-06 03:40:34 +01:00
Abdessamad Derraz 639204712b fix: check a tree before waiting to replace it 2026-11-06 03:35:53 +01:00
Abdessamad Derraz 286e39d199 fix: let two generators purge the coverage cache 2026-11-06 03:34:17 +01:00
Abdessamad Derraz 96f100ac22 fix: stop coverage on a missing input directory 2026-11-06 03:33:17 +01:00
Abdessamad Derraz cb17145665 fix: install setuptools for the packaging guard 2026-11-06 03:32:26 +01:00
Abdessamad Derraz af3c90e448 fix: unwind a terminated run to drop its scratch 2026-11-06 03:31:28 +01:00
Abdessamad Derraz 9b08925dd0 fix: finalize only the packs this run built 2026-11-06 03:30:47 +01:00
Abdessamad Derraz a6d7c92900 fix: refuse --full-narrowings without full pack 2026-11-06 03:29:41 +01:00
Abdessamad Derraz 46c651f0b0 fix: check every variant pack in step 6 2026-11-06 03:29:12 +01:00
Abdessamad Derraz 2cb9a5a495 fix: an unanswered buildbot check exits 1 2026-11-06 03:28:14 +01:00
Abdessamad Derraz 74055a9f31 fix: name a missing data directory registry 2026-11-06 03:27:36 +01:00
Abdessamad Derraz f96e7c10f4 fix: name a missing --from-md5-file 2026-11-06 03:27:29 +01:00
Abdessamad Derraz 7d33bd6e8e fix: count core data trees apart from baseline 2026-11-06 03:26:50 +01:00
Abdessamad Derraz 27991c84ba fix: refuse a missing platforms directory 2026-11-06 03:25:20 +01:00
Abdessamad Derraz 6445e5d7d6 fix: refuse a missing emulator profile directory 2026-11-06 03:21:53 +01:00
Abdessamad Derraz 349914fda2 fix: list boards offline from the given list
--list-targets offline was refused, and its advice to give --manifest or --from-pack was refused in turn. It now reads the boards where --target reads them: the pack's list or targets/<platform>.json beside --manifest.
2026-11-06 03:16:00 +01:00
Abdessamad Derraz 1c3462e7fd fix: name the python floor in generate_pack 2026-11-06 03:13:13 +01:00
Abdessamad Derraz b274e2303d fix: annotate the five affinity sort keys 2026-11-06 03:12:15 +01:00
Abdessamad Derraz b873c6a9fb fix: skip the report excerpt without the assets
The excerpt quotes verify over the whole collection. The PR workflow
restores none of the release assets, so the run there printed other
counts and failed on every push since the engine batch. The test now
names how many assets are absent and skips.
2026-11-06 02:20:14 +01:00
Abdessamad Derraz 6acd48a344 chore: merge narrowed pack comparison 2026-11-06 01:37:34 +01:00
Abdessamad Derraz 172639d0dd chore: merge demul profile 2026-11-06 01:01:37 +01:00
Abdessamad Derraz 1008b4b0f5 chore: merge maker folder name matches 2026-11-06 00:58:46 +01:00
Abdessamad Derraz c4bf864e02 docs: count the demul sets in the collection 2026-11-06 00:23:40 +01:00
Abdessamad Derraz 83b50c9acf chore: merge core data trees 2026-11-06 00:09:19 +01:00
Abdessamad Derraz 0983ae0188 chore: merge origin/main 2026-11-06 00:07:47 +01:00
Abdessamad Derraz d265453b32 feat: compare narrowed packs with verify
Step 5 builds the --required-only, --no-game-data, --region, --target
and --system packs of every platform in memory and compares their paths
with verify run under the same narrowing. verify_platform gains
required_only, generate_pack a record mode. A run samples three regions,
targets and systems per platform (155 packs, about 3 minutes);
--full-narrowings compares all 1,150 (25 minutes). A test fails when
_narrowings() gains a dimension that is neither compared nor exempted.
2026-11-06 00:07:40 +01:00
Abdessamad Derraz 20a6266923 fix: keep platform_system out of the site contract
The published platform contract validates against platform.schema.json, which does not carry the resolver's per-entry system key. The two inheritance tests and the alias call check read the new entry shape, and the testing guide lists test_maker_folder_names.
2026-11-05 23:54:47 +01:00
Abdessamad Derraz 43b71ded72 feat: collect dcdev 0.260 and build demul dc.zip
set5v0.972.ic507 (Katana Set5 v0.972, crc32 1a2f2a91, sha1 08df891f) entered MAME's dcdev set in 0.260. It comes from the archive.org item MAME_0.278_ROMs_non-merged_2025, whose dcdev.zip is the TorrentZip of the 0.260+ recipe. It becomes the primary dcdev.zip, and the five-member pre-0.260 set is kept as a variant.

Demul's dc set (11 rows of demul.exe's table) is built with build_torrentzip from members checked against the table's crc32 and sha1, in bios/Other/demul/. Only Demul reads dc.zip, so only its manifest entries move.
2026-11-05 23:40:43 +01:00
Abdessamad Derraz 755259517f feat: assemble the naomi.zip demul reads
Demul 0.7 reads 44 NAOMI BIOS rows from naomi.zip, the HOTD2, F355 and Airline Pilots BIOS among them. No copy held them all. The set is built with build_torrentzip from members already in the collection, each checked against the crc32 and sha1 of demul.exe's table, and kept in bios/Other/demul/. Batocera, KNULLI and RetroBat place it at bios/naomi.zip, the file MAME cores there also open, so it carries the nine MAME members the Demul table does not list.

The resolver left another emulator's own copy out of the member and superset ranking, so Flycast and the MAME cores keep the copies they were served.
2026-11-05 23:37:06 +01:00
Abdessamad Derraz 7cc732bd7f feat: profile demul from its BIOS table
Demul 0.7 build 251220 (demul.exe sha1 e326ae66, the build RetroBat and Batocera 43.1 ship) loads its BIOS from MAME-style sets named in seven tables in the executable: dc, naomi, naomi2, segasp, awbios, hikaru, mie and segadimm, each member checked by size, crc32 and sha1. The profile lists every set with its members and cites the tables and the loader by address. dc_boot.bin, dc_flash.bin, naomigd.zip, hod2bios.zip, f355bios.zip, f355dlx.zip, airlbios.zip and jvs13551.zip are not read by this build and leave the profile.
2026-11-05 23:28:09 +01:00
Abdessamad Derraz 49ff682eda chore: merge origin/main 2026-11-05 23:25:48 +01:00
Abdessamad Derraz be835b4cd0 chore: regenerate install lists with core trees
Fourteen lists gain the data trees their cores read. AmberELEC and EmuELEC fetch the 192 blueMSX machine configs from the tree instead of holding them back, and RetroPie drops the blueMSX tree its lr-bluemsx module installs.
2026-11-05 23:25:40 +01:00
Abdessamad Derraz 54a3876a8b feat: carry the data trees a platform's cores read
A platform pack carried only the trees its own systems declared, so for_platforms reached RetroArch, Lakka and RetroPie alone and every other platform running blueMSX, FBNeo or Dolphin got no tree. The pack, the install list and the pipeline's tree members now add the trees of the libretro cores the platform runs, below the system directory and build folder the core reads, unless the platform installs or never opens them. A platform entry the manifest resolved into a carried tree becomes that tree's member, which the installer can fetch: AmberELEC and EmuELEC no longer hold 192 blueMSX machine configs back. stonesoup reads its tree beside the content and pcee2 compiles its resources in, so neither tree reaches a BIOS pack.
2026-11-05 23:25:29 +01:00
Abdessamad Derraz 736dadd7e9 chore: record which platforms install data trees
Each registered platform running a core that reads a data directory was checked against its own image at the revision its platform YAML pins. A platform that installs the tree goes in installed_on, one that never opens it in unread_on, and one that leaves it to the user joins for_platforms. The install steps are cited beside each _data_dirs.yml entry.
2026-11-05 23:25:22 +01:00
Abdessamad Derraz 55f7ed24c2 fix: rank archives by name on a shared crc32
segadimm.zip holds fpr23905.ic36 and fpr23905c.ic36 under the same crc32, and segasp.zip four fpr-*.ic72 images. Ranked by crc32 alone, a copy missing some of them tied with the full set and the index order chose it. A crc32 that two declared members share now also requires the member name.
2026-11-05 23:25:21 +01:00
Abdessamad Derraz d1ebd411ab fix: narrow hashless name matches to their maker
AmberELEC's nec-pc-88 declares DISK.ROM with an empty md5. QUASI88 reads
that name as n88sub.rom, the 2 KB PC-88 disk ROM (libretro.c:1085), but
the name step served the 16 KB MSX disk ROM, the only primary of that
name. The quasi88 alias never reached by_name, which refuses an alias a
primary already carries.

load_platform_config now writes each entry's system as platform_system.
A platform entry with no hash and no owning emulator, whose system id
names a maker, takes no name candidate filed under another maker, in
the name step and in the hash_mismatch step after it. When nothing is
left, by_shadowed_alias, the profile aliases by_name refuses, answers
within the system's maker folder. names_manufacturer and BUCKET_FOLDERS
move to common.py, and generate_site imports them.

Across every registered platform the only resolution that moves is
AmberELEC nec-pc-88 DISK.ROM, from bios/Microsoft/MSX/DISK.ROM to
bios/NEC/PC-88/N88SUB.ROM. Manifests, truth and exports are otherwise
byte-identical.
2026-11-05 23:17:04 +01:00
Abdessamad Derraz 9a66ac3219 chore: drop the source tree pcem no longer pins
The pcem upstream pin moved to 10739b96. Merging both batches kept the
empty record of the orphaned 25b54e3f tree.
2026-11-05 22:59:30 +01:00