fix: manifest dest paths relative to bios dir

This commit is contained in:
Abdessamad Derraz
2026-03-28 18:42:19 +01:00
parent 8777706a01
commit 080cc8f19d
11 changed files with 7220 additions and 4255 deletions

View File

@@ -507,6 +507,22 @@ def main() -> None:
os_type = detect_os()
# Early exit for listing
if args.list_platforms:
available = [
"retroarch", "batocera", "recalbox", "retrobat",
"emudeck", "lakka", "retrodeck", "romm", "bizhawk",
]
print("Available platforms:")
for p in available:
print(f" {p}")
detected = detect_platforms(os_type)
if detected:
print("\nDetected on this system:")
for name, path in detected:
print(f" {name}: {path}")
return
# Platform detection or override
if args.platform and args.dest:
platforms = [(args.platform, args.dest)]
@@ -532,13 +548,6 @@ def main() -> None:
for name, path in platforms:
print(f" Found {name.capitalize()} at {path}")
if args.list_platforms:
if not platforms:
platforms = detect_platforms(os_type)
for name, path in platforms:
print(f" {name}: {path}")
return
if len(platforms) > 1 and not args.list_targets and sys.stdin.isatty():
platforms = _prompt_platform_choice(platforms)

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

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

View File

@@ -1799,7 +1799,7 @@ def generate_manifest(
repo_path = _get_repo_path(sha1, db) if sha1 else ""
entry: dict = {
"dest": full_dest,
"dest": dest,
"sha1": sha1,
"size": file_size,
"repo_path": repo_path,
@@ -1855,7 +1855,7 @@ def generate_manifest(
source_emu = fe.get("source_emulator", "")
entry = {
"dest": full_dest,
"dest": dest,
"sha1": sha1,
"size": file_size,
"repo_path": repo_path,

View File

@@ -2520,7 +2520,11 @@ class TestE2E(unittest.TestCase):
"test_existence", self.platforms_dir, self.db, self.bios_dir,
registry_path, emulators_dir=self.emulators_dir,
)
manifest_dests = {f["dest"] for f in manifest["files"]}
base = manifest.get("base_destination", "")
manifest_dests = set()
for f in manifest["files"]:
d = f"{base}/{f['dest']}" if base else f["dest"]
manifest_dests.add(d)
self.assertEqual(manifest_dests, zip_names)