mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 02:13:28 -05:00
fix: copy standalone files from their pack path
The registry names one path per standalone copy for every platform, but each manifest places the file its own way, so the installer looked where the pack had put nothing and copied nothing: EmuDeck's aes_keys.txt for Azahar, Batocera's switch/prod.keys. Each manifest copy now names its source, which the installer validates and reads.
This commit is contained in:
1 parent
648784d875
commit
91b378d641
6 files changed
+118
-4
No files matched your search
+8
-1
@@ -1396,6 +1396,10 @@ def _validate_manifest(data: object, plat: str) -> dict:
|
||||
_safe_relative_path(
|
||||
entry["file"], f"standalone_copies[{index}].file"
|
||||
)
|
||||
if "source" in entry:
|
||||
_safe_relative_path(
|
||||
entry["source"], f"standalone_copies[{index}].source"
|
||||
)
|
||||
if "pattern" in entry:
|
||||
pattern = entry["pattern"]
|
||||
if (
|
||||
@@ -2432,7 +2436,10 @@ def do_standalone_copies(
|
||||
if fnmatch(f.name, entry["pattern"]) and f.is_file()
|
||||
]
|
||||
else:
|
||||
src = bios_path / entry["file"]
|
||||
# `source` is where this platform's manifest put the file; `file`
|
||||
# names it as the registry does for every platform, and laid out
|
||||
# that way it was missing wherever the pack places it elsewhere.
|
||||
src = _destination_path(bios_path, entry.get("source") or entry["file"])
|
||||
sources = [src] if src.exists() else []
|
||||
|
||||
if not sources:
|
||||
|
||||
Reference in new issue
Block a user