Commit Graph
2078 Commits
Author SHA1 Message Date
Abdessamad Derraz df801fd311 chore: merge resolver and export fixes 2026-11-06 05:54:29 +01:00
Abdessamad Derraz 7a98d73d79 chore: merge engine fixes, third pass 2026-11-06 05:06:59 +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 47ece52410 docs: drop a semicolon in the RetroPie scraper 2026-11-06 04:07:14 +01:00
Abdessamad Derraz 3cb1d9c06a fix: keep the -sa name in ROCKNIX targets
The target scraper stripped -sa from every standalone package while the platform scraper keeps both spellings. vice-standalone, scummvm-standalone and supermodel3 answer to vice-sa, scummvm-sa and supermodel-sa only, so every targeted ROCKNIX build left them out. Both now read standalone_emulators(), and the targets are rescraped at tag 20261001.
2026-11-06 04:05:10 +01:00
Abdessamad Derraz 87f6211983 fix: one core name per RetroPie package
The platform scraper kept lr-dosbox-pure as dosbox-pure, which matched the standalone DOSBox Pure Unleashed profile, while the target scraper wrote dosbox_pure. Both now read core_name(), and platforms/retropie.yml is rescraped at its pinned revision 46128cd2: only the libretro core names change, and six Unleashed files leave the RetroPie manifest.
2026-11-06 04:03:36 +01:00
Abdessamad Derraz 39e6afbeb2 fix: a size kept in bios_db.json is not removed
When the truth accepts the BiosDB hash but none of its sizes fits, the MiSTer render keeps the entry's size beside the hash, and the report still counted a size removed. A size the truth does not state is no longer reported as changed.
2026-11-06 04:00:47 +01:00
Abdessamad Derraz 290c0b73ff fix: a container md5 leaves a zippedFile md5 alone
Batocera and KNULLI check a zippedFile item's md5 against the member inside the archive. A profile's container md5 for the archive would have replaced it as a correction. The item's md5 is now read as Recalbox's composite md5 is: neither compared with the container's nor overwritten by it.
2026-11-06 04:00:15 +01:00
Abdessamad Derraz 6427e46e25 fix: an empty or HTML original fails the export
fetch checked archives only, so a System.dat served as an HTML page with 200, or a 0-byte cache, reached render() as a file with no entries. System.dat, es_bios.xml, RetroBat and RomM then rebuilt the platform's file from our data and reported OK. Such an original is now refused, before it is cached and when read from the cache, and a format that needs its original fails when none was read.
2026-11-06 03:59:07 +01:00
Abdessamad Derraz d5e61308e1 fix: additions join the native id their cores read
A platform system spanning several native ids with no native_id filed every addition under the id that sorts first: RetroDECK's arcade wrote MAME device archives as FBNeo BIOS, RetroBat's Amiga put A500 kickstarts under amiga1200. An addition now joins the id whose declared files its cores read, and one the cores do not settle is counted and not written.
2026-11-06 03:57:39 +01:00
Abdessamad Derraz 7d2c393118 fix: provenance gaps read held names by index
profile_needs decided held-ness from each record's own name. np2pi's KANJI2.ROM, held as the PC-88 n88knj2.rom, was listed missing and paired with a Fujitsu dump. It now reads by_name as verify does, and an unsourceable entry is not held by a homonym, which lists xm7's KANJI.ROM.
2026-11-06 03:53:26 +01:00
Abdessamad Derraz d1bf77a09c fix: write PS2 companions as PCSX2 opens them
PCSX2 stats <bios>.rom1 then <stem>.rom1, case-sensitive on Linux (BiosTools.cpp:214-229), and so does PCSX2 1.6 for erom. The pack wrote the stored SCPH-70004.ROM1, never found. A companion entry also seeded a scan of its own with a 4 MB bound and swept cheats, GameIndex.yaml and DVD firmware to the BIOS root. A companion now scans its image's folder for its own extension only, any size, since the code reads min(size, filesize), and is written as the code spells it.
2026-11-06 03:52:47 +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 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 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 8f7dbb1b31 fix: gap report reads the launcher layer
cross_reference --platform listed core files the platform's launcher already settles, as Batocera's DuckStation scph1002a.bin while the PAL slot holds scph5502.bin. It now hands the launcher layer the same entries verify does, and counts what it settles as set aside.
2026-11-06 03:31:27 +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 3bad1ad35e fix: an uncached tip offline is unknown
Offline, resolve_head answered None for a tip the cache never stored, as for a branch the forge does not have. select_views then dropped xenios-jp/XeniOS and judged its citations against has207/xenia-edge. The tip and the dated commit now raise NotCachedError, and the profile is skipped as unread.
2026-11-06 03:27:04 +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 402e688b01 fix: platform entries skip other emulators' trees
A platform entry names no profile, so bios/Other/<emulator>/ was never foreign to it. EmuELEC's ports/VVVVVV/data.zip resolved to xrick's data.zip, then to xrick's data directory copy. A system that lists its cores now takes no name match only another emulator's tree answers.
2026-11-06 03:21:07 +01:00
Abdessamad Derraz 35ad19ff02 fix: same bytes under two paths agree in slots
A data directory cache and a bios/ copy of one file were judged by path, so 56 bluemsx destinations on AmberELEC and EmuELEC read as contradicted.
2026-11-06 03:19:18 +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 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 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 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 49ff682eda chore: merge origin/main 2026-11-05 23:25:48 +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 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