fix: resolve a loose archive entry by its members

gngeopi and neo-emu declare neogeo.zip loose and, apart, the ROMs they
open inside it. The archive pass took the copy holding them, the loose
entry resolved by name to another copy, and both verify --emulator and
the emulator pack reported the archive missing while the ZIP held it.
with_archive_members() gives the loose entry the members in verify, the
pack, slots and the gap report.
This commit is contained in:
Abdessamad Derraz committed 2026-10-21 05:05:54 +02:00
1 parent 348c56e94c
commit fb639647e6
5 files changed
+87 -4

No files matched your search

+2 -1
View File
@@ -94,6 +94,7 @@ from validation import (
_build_validation_index,
deliverable,
filter_files_by_mode,
with_archive_members,
)
yaml = require_yaml()
@@ -1572,7 +1573,7 @@ def generate_emulator_pack(
refused_path: str | None = None
for fe in alternatives:
local_path, status = resolve_file(
{**fe, "source_profile": emu_name},
{**with_archive_members(fe, files), "source_profile": emu_name},
db,
bios_dir,
zip_contents,