The checksums listed only *.tar*, so the two ICU source archives the frontends
need (icu4c-78.3-sources.tgz, icu4c-78.3-data.zip) were written without one.
They are now taken from every file the bundle writes, except the index files.
Verified: python3 -m unittest tests.test_source_bundle fails before the change
and passes after it; TMPDIR=$PWD/build/tmp bash tools/verify.sh -> verify: PASS
(format unit build integration evidence); python3 tools/source-bundle.py
dist/PPSA99169 dist/source-v0.6.7-alpha.6 -> 37 archives, 37 SHA256SUMS lines,
sha256sum -c all OK.
A release build (PS5_RELEASE_TAG set) now builds the picker and ES-DE
unless PS5_FRONTENDS says otherwise (tools/build-title.sh). A
development build still carries them only when asked.
tooling/notices/components.json lists what the frontends ship:
- ES-DE 3.5.0 (MIT) with its own licenses folder;
- the Alekfull NX theme (CC BY-NC-SA 2.0, marked non-commercial; the
picker's EmulationStation picture shows it);
- SDL2 (Zlib, the ps5-payload-dev fork);
- PS5_OpenGL (GPL-3.0-or-later, Mesa and its other parts in LICENSES/);
- FFmpeg (LGPL-2.1-or-later: no GPL parts configured), curl, Mbed TLS,
FreeType, HarfBuzz, ICU, pugixml, libwebp and stb;
- the picker, with the notices the template staged for it.
The port, the payload SDK and the LLVM runtime list the frontends'
executables beside eboot.bin.
tools/stage-notices.py and tools/check-notices.py treat es-de/es-de.bin
and picker/picker.bin as executables: each must belong to a part, with
its digest recorded. tools/source-bundle.py archives a part's extra
sources (a library's tarball, a git tree at a pinned or fixed revision)
even when the part has no archive of its own. The bundle then holds
ES-DE's commit, the libraries' tarballs, the SDL fork, PS5_OpenGL, the
template, the UI kit and the template's SDK pin.
Checked: tests/test_notices.py PASS (a frontend executable must belong
to a part); a build with both frontends staged 46 parts, and
check-notices "covers every shipped executable"; source-bundle --list
names every frontend source. The release-tagged build and its
--release check follow this commit.
Gates: tools/verify.sh PASS (format unit build integration evidence).
Serve the approved purple layout with local assets, streamed content transfers, release notes and next-launch settings. Keep the service within the title lifetime and preserve explicit launch overrides.
Verify: CCACHE_DIR=build/verification/ccache BUILD_JOBS=8 bash tools/verify.sh (all five gates; 92 tests), real browser integration including throttled keyboard cancellation, and two native console launches. Evidence: evidence/webui/{capture,expectation}.json; replay with python3 tools/evidence.py compare evidence/.
Design review and normal Impeccable completion passed in a hash-verified identical-source snapshot because the original-root fingerprint scanner failed; records remain in build/verification. No game performance soak claimed.
A licence audit found that no published ZIP carries the licence texts its parts
require, and that three release tags name commits older than the ones built.
- tooling/notices/components.json lists every part of the title, its licence,
its licence texts and where its source is.
- tools/stage-notices.py (run by tools/build-title.sh before the manifest)
writes licenses/ into the title folder, tying every executable to its
source revision; tools/check-notices.py checks it in the integration gate.
- tools/source-bundle.py archives each part's source at that revision.
- LICENSE (GPLv3), docs/RELEASING.md, docs/releases/SOURCE_CORRESPONDENCE.md,
README licence and trademark sections, docs/RPCS3_PORT.md licence facts,
runtime/README.md (what libc.prx contains, as verified).
Evidence: stage-notices on a copy of the current 16-core build staged 28 parts,
every core equal to its build report; check-notices passes, --release fails on
uncommitted source; source-bundle built 10 archives whose sums verify;
make test-unit 83 OK; lint-shell PASS; libc.prx rebuilt from committed files is
byte-identical to every release's (e6ff45d1...).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>