mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
fix: replay outer roots as the pack builds them
The ZIP replay in packextras.hidden_extras now skips roms, emulators and configs entries as the builder does, so verify and pack integrity stop counting files only the installer places. The consistency check treats the Android .nomedia marker as a pack note. MAME4droid's hiscore.dat leaves bios/: the app unpacks it from its own files.zip. VVVVVV's Make and Play data.zip is collected as a release asset, which EmuELEC declares as required.
This commit is contained in:
1 parent
2dc427d5d0
commit
372d41e3b4
8 files changed
+42
-18940
No files matched your search
@@ -35,6 +35,7 @@ bios/Other/mame4droid-2024/data/.variants/history.db.615619e8
|
||||
bios/Interplay/Descent/d1x-rebirth/d1xr-opl3-music.dxa
|
||||
bios/Interplay/Descent/d1x-rebirth/d1xr-sc55-music.dxa
|
||||
bios/Game Engines/Sonic 3 AIR/sonic3-air/data/audioremaster.bin
|
||||
bios/Game Engines/VVVVVV/data.zip
|
||||
bios/Id Software/Return to Castle Wolfenstein/demomain/pak0.pk3
|
||||
bios/Id Software/Return to Castle Wolfenstein/demomain/.variants/pak0.pk3.82395c6e
|
||||
bios/Id Software/Doom 3/demo/demo00.pk4
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -16,7 +16,7 @@
|
||||
# and Invoke-WebRequest throws on a cut transfer before the hash is read:
|
||||
# the site's build rewrites this line there (scripts/sitebootstrap.py).
|
||||
$mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that."
|
||||
$defaultInstallSha256 = "185fa0951fa9a7cce617547c72770819ef4df08ebb3b29857126713083179fe7"
|
||||
$defaultInstallSha256 = "9dcac77739d3cf609879117fb16bcf798c4b6432b8647cf49dbef52d6650adeb"
|
||||
# The pin above refuses any changed byte: this cap only stops a body that
|
||||
# cannot be the installer (a sign-in portal's page) before it is hashed.
|
||||
$maximumInstallerBytes = 8MB
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins
|
||||
# curl or wget stop on a cut transfer before the hash is read: the site's
|
||||
# build rewrites this line there (scripts/sitebootstrap.py).
|
||||
MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that."
|
||||
DEFAULT_INSTALL_SHA256="185fa0951fa9a7cce617547c72770819ef4df08ebb3b29857126713083179fe7"
|
||||
DEFAULT_INSTALL_SHA256="9dcac77739d3cf609879117fb16bcf798c4b6432b8647cf49dbef52d6650adeb"
|
||||
# The pin above refuses any changed byte: this cap only stops a body that
|
||||
# cannot be the installer (a sign-in portal's page) before it is hashed.
|
||||
MAX_INSTALLER_BYTES=8388608
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
{
|
||||
"dest": "roms/ports/retrobios/install.py",
|
||||
"repo_path": "install.py",
|
||||
"size": 1132111,
|
||||
"sha256": "185fa0951fa9a7cce617547c72770819ef4df08ebb3b29857126713083179fe7",
|
||||
"size": 1150418,
|
||||
"sha256": "9dcac77739d3cf609879117fb16bcf798c4b6432b8647cf49dbef52d6650adeb",
|
||||
"executable": false
|
||||
},
|
||||
{
|
||||
@@ -71,8 +71,8 @@
|
||||
"muos": {
|
||||
"archive": {
|
||||
"dest": "ARCHIVE/RetroBIOS.muxapp",
|
||||
"size": 1185736,
|
||||
"sha256": "cb245dc33b894a9720ae3734bf55512c2b0fca99e0bd33e8c12a72738085f5cc"
|
||||
"size": 1204043,
|
||||
"sha256": "24a025696054f5a9371eab36b0f43332ea1cd3c35a706619a6ddc2559c4aa220"
|
||||
},
|
||||
"members": [
|
||||
{
|
||||
@@ -92,8 +92,8 @@
|
||||
{
|
||||
"name": "RetroBIOS/install.py",
|
||||
"repo_path": "install.py",
|
||||
"size": 1132111,
|
||||
"sha256": "185fa0951fa9a7cce617547c72770819ef4df08ebb3b29857126713083179fe7",
|
||||
"size": 1150418,
|
||||
"sha256": "9dcac77739d3cf609879117fb16bcf798c4b6432b8647cf49dbef52d6650adeb",
|
||||
"executable": false
|
||||
},
|
||||
{
|
||||
@@ -166,8 +166,8 @@
|
||||
{
|
||||
"dest": ".config/modules/retrobios/install.py",
|
||||
"repo_path": "install.py",
|
||||
"size": 1132111,
|
||||
"sha256": "185fa0951fa9a7cce617547c72770819ef4df08ebb3b29857126713083179fe7",
|
||||
"size": 1150418,
|
||||
"sha256": "9dcac77739d3cf609879117fb16bcf798c4b6432b8647cf49dbef52d6650adeb",
|
||||
"executable": false
|
||||
},
|
||||
{
|
||||
|
||||
@@ -419,6 +419,11 @@ def hidden_extras(
|
||||
dest = sanitize_pack_path(fe.get("destination", fe.get("name", "")))
|
||||
if not dest or (region_drops and extra_region_key(fe, region_prefix) in region_drops):
|
||||
continue
|
||||
if fe.get("root") in OUTER_ROOTS:
|
||||
# As the builder does: the pack is extracted into the BIOS folder
|
||||
# and cannot reach the roms, emulator or configs folder, the
|
||||
# installer places these files.
|
||||
continue
|
||||
full = extra_full_destination(fe, prefix)
|
||||
if not full:
|
||||
continue
|
||||
|
||||
+7
-2
@@ -77,6 +77,7 @@ from common import (
|
||||
publish_hold,
|
||||
)
|
||||
from refresh_data_dirs import hold_data_dirs
|
||||
from packpaths import MEDIA_MARKER
|
||||
|
||||
|
||||
class StepResults(dict):
|
||||
@@ -432,8 +433,12 @@ def parse_pack_paths(output: str) -> dict[str, str]:
|
||||
return paths
|
||||
|
||||
|
||||
# Members the builder writes for the reader rather than for a core.
|
||||
_PACK_NOTES = re.compile(r"(^README\.txt$|^manifest\.json$|(^|/)(INSTRUCTIONS|RENAMED)_[^/]*\.txt$)")
|
||||
# Members the builder writes for the reader or the device rather than for a
|
||||
# core: the documents, and the empty marker an Android pack carries.
|
||||
_PACK_NOTES = re.compile(
|
||||
r"(^README\.txt$|^manifest\.json$|(^|/)(INSTRUCTIONS|RENAMED)_[^/]*\.txt$"
|
||||
rf"|(^|/){re.escape(MEDIA_MARKER)}$)"
|
||||
)
|
||||
|
||||
|
||||
def _tree_members(
|
||||
|
||||
+19
-19
@@ -420,13 +420,13 @@ A RetroArch dry run into an empty folder, with the list of 2026-11-09, printed t
|
||||
```
|
||||
Fetching file index for retroarch...
|
||||
106 files read from RetroArch's save directory go to a folder per core under /home/me/.config/retroarch/saves
|
||||
14985 files (7.6 GB)
|
||||
3296 BIOS files (4.4 GB), 5108 game data files (3.1 GB) and 6581 data files (135.6 MB).
|
||||
15013 files (7.6 GB)
|
||||
3324 BIOS files (4.4 GB), 5108 game data files (3.1 GB) and 6581 data files (135.6 MB).
|
||||
Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets.
|
||||
Not installable: 76 files are not in the collection, 1 of them required.
|
||||
Not installable: 156 files are not in the collection, 1 of them required.
|
||||
|
||||
Checking existing files...
|
||||
0 in place, 14985 missing, 0 wrong copies
|
||||
0 in place, 15013 missing, 0 wrong copies
|
||||
```
|
||||
<!-- /generated: dry-run -->
|
||||
|
||||
@@ -486,13 +486,13 @@ few minutes on a memory card, because every file is hashed:
|
||||
```
|
||||
Fetching file index for batocera...
|
||||
23 files read from Batocera's save directory go to a folder per system under /userdata/saves
|
||||
18181 files (9.3 GB)
|
||||
3165 BIOS files (4.3 GB), 11544 game data files (4.8 GB) and 3472 data files (81.8 MB).
|
||||
19062 files (10.0 GB)
|
||||
3804 BIOS files (5.3 GB), 11550 game data files (4.6 GB) and 3708 data files (81.9 MB).
|
||||
Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets.
|
||||
Not installable: 444 files are not in the collection, 79 of them required.
|
||||
Not installable: 675 files, 79 of them required. Why: no system runs the core (83), not found (592).
|
||||
|
||||
Checking existing files...
|
||||
0 in place, 18181 missing, 0 wrong copies
|
||||
0 in place, 19062 missing, 0 wrong copies
|
||||
```
|
||||
<!-- /generated: run-index -->
|
||||
|
||||
@@ -507,10 +507,10 @@ as the log of the run below:
|
||||
<!-- generated: run-download -->
|
||||
|
||||
```
|
||||
Downloading 14709 files (9.2 GB)...
|
||||
Downloading 15354 files (9.9 GB)...
|
||||
Press Ctrl+C to stop. Running the same command again carries on from here.
|
||||
[1/14709] panafz1.bin ok
|
||||
[2/14709] panafz10.bin ok
|
||||
[1/15354] panafz1.bin ok
|
||||
[2/15354] panafz10.bin ok
|
||||
```
|
||||
<!-- /generated: run-download -->
|
||||
|
||||
@@ -522,10 +522,10 @@ command again picks up where it stopped.
|
||||
<!-- generated: run-end -->
|
||||
|
||||
```
|
||||
Done. 18181 files installed.
|
||||
Installed: 3165 BIOS files, 11544 game data files and 3472 data files.
|
||||
Done. 19062 files installed.
|
||||
Installed: 3804 BIOS files, 11550 game data files and 3708 data files.
|
||||
BIOS folder: /userdata/bios
|
||||
444 files were not installed: the collection does not hold them, or its copy fails their check.
|
||||
675 files were not installed: the collection does not hold them, or its copy fails their check.
|
||||
Not available here: DARK.GOB, DARKWAR.RTL, DARKWAR.WAD and 76 more, game data their games read. Copy them from an owned copy of the game into /userdata/bios/, /userdata/bios/Source/, /userdata/bios/base/ and 10 more folders.
|
||||
Game data: files a game or a game engine reads, of no use to the other cores.
|
||||
To check this later, run the same command with --check.
|
||||
@@ -573,7 +573,7 @@ The same command with `--check` reads the folder and writes nothing:
|
||||
|
||||
```
|
||||
Checking existing files...
|
||||
18181 in place, 0 missing, 0 wrong copies
|
||||
19062 in place, 0 missing, 0 wrong copies
|
||||
|
||||
Every file on the list is in place.
|
||||
```
|
||||
@@ -767,8 +767,8 @@ by `scripts/generate_installer_doc.py`):
|
||||
<!-- generated: line-menu -->
|
||||
|
||||
```
|
||||
RetroArch: 14985 files, 7.6 GB.
|
||||
3296 BIOS files (4.4 GB), 5108 game data files (3.1 GB) and 6581 data files (135.6 MB).
|
||||
RetroArch: 15013 files, 7.6 GB.
|
||||
3324 BIOS files (4.4 GB), 5108 game data files (3.1 GB) and 6581 data files (135.6 MB).
|
||||
Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets.
|
||||
BIOS folder: /home/me/.config/retroarch/system
|
||||
Not available here: jazz2/Source/Anims.j2a (Jazz Jackrabbit 2), game data its game reads. Copy it from an owned copy of the game into /home/me/.config/retroarch/system/jazz2/Source/.
|
||||
@@ -781,8 +781,8 @@ RetroArch: 14985 files, 7.6 GB.
|
||||
|
||||
Counted again for these choices. Nothing is written before Enter.
|
||||
|
||||
RetroArch: 9877 files, 4.5 GB.
|
||||
3296 BIOS files (4.4 GB) and 6581 data files (135.6 MB). 5108 game data files left out.
|
||||
RetroArch: 9905 files, 4.6 GB.
|
||||
3324 BIOS files (4.4 GB) and 6581 data files (135.6 MB). 5108 game data files left out.
|
||||
Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets.
|
||||
BIOS folder: /home/me/.config/retroarch/system
|
||||
Same choice without questions: python3 install.py --platform retroarch --dest /home/me/.config/retroarch/system --no-game-data
|
||||
|
||||
Reference in new issue
Block a user