Back to Provenance

3318

.changelog/3318.md

3.3.11.2 KB
Original Source

Fixed

  • RetroArch core download pipelineget-modules.sh now exits non-zero when fewer than 80% of cores download successfully, rejects HTML 404 pages disguised as zips via magic-byte validation, and clears the download cache and fails the build phase when 0 dylibs remain after extraction

Changed

  • get-modules.sh shebang — Changed from #!/bin/sh to #!/bin/bash to match bash-specific arithmetic syntax already used in the script ((( )) expansions); added bash self-re-exec guard so Xcode build phases that call via /bin/sh still get the correct interpreter
  • make_frameworks_retroarch.sh — Added bash self-re-exec guard so Xcode build phases that invoke the script via /bin/sh still run it under bash; also added explicit error checking for codesign, lipo, and vtool so framework-creation failures are counted and the build fails if all frameworks are broken

Added

  • Script test suiteCoresRetro/RetroArch/scripts/tests/ with test_get_modules.sh and test_make_frameworks.sh covering: happy path, all-404 failure, partial failures, corrupt zip detection, pinned-date validation, pinned-date URL fallback, framework executable validation, and 80% threshold logic