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
+16 -7
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)
+856 -847
View File
File diff suppressed because it is too large Load Diff
+314 -314
View File
File diff suppressed because it is too large Load Diff
+905 -176
View File
File diff suppressed because it is too large Load Diff
+1424 -686
View File
File diff suppressed because it is too large Load Diff
+1620 -882
View File
File diff suppressed because it is too large Load Diff
+790 -781
View File
File diff suppressed because it is too large Load Diff
+780 -51
View File
File diff suppressed because it is too large Load Diff
+508 -508
View File
File diff suppressed because it is too large Load Diff
+2 -2
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,
+5 -1
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)