Skip to content

2.0.2 — Retry failed jobs, keep finished ones, skip outputs that are already there

Latest

Choose a tag to compare

@knutwurst knutwurst released this 01 Oct 16:09
· 1 commit to main since this release

PS5 UltraPack 2.0.2 — macOS (Apple Silicon).

A failed job can be changed and run again, the queue keeps what it finished, an output that is already there is no longer overwritten without a word, and a broken archive is no longer mistaken for a missing password.

What's new

A failed job can be changed and run again.

  • Edit works on a failed or cancelled job. It used to open on the extracted copy the app had just deleted, and Add refused the missing source.
  • Retry, next to Edit, runs that one job again. The error window has Edit job and Retry buttons too.
  • A failed job keeps what it extracted from its archive, so a retry does not unpack the archive again. When the next job of a batch needs the space, the copies of failed jobs go first, with a line in the log.

A backport is checked before the game is unpacked. A backport job on a .pkg, .ffpfs or .ffpfsc reads only the game's executables out of it and checks them first; a target that cannot work is refused after seconds instead of after the full unpack. Check in Add job reads these containers too, and so does --backport-analyze.

Finished jobs stay in the queue, marked Done with a green check, until you clear them. Clear completed sits in the queue header; a right-click on it (or on a job) offers Clear failed and Clear all. Settings › Interface can remove finished jobs right away instead; failed jobs always stay.

An output that is already there is skipped. Before anything is unpacked, Start checks which jobs would write a file that is already in the output folder. Settings › Interface › "When the output is already there" sets the rule: Skip (the default), Ask, Overwrite, or Keep both, where the new build gets a numbered name within the ShadowMount name limit. A job whose name is only known after its archive is unpacked (a solid archive, a .pkg inside an archive) is checked right after the unpack, before the long packing step. Until now every job replaced an existing file at the end of the run, and a .pkg got a second copy.

Jobs are named after their game, "Example Quest [PPSA01234]", as soon as the app can read it: from a folder, a .ffpfs/.ffpfsc/.exfat/.pkg, and from a ZIP, RAR or 7z that is not solid, whose param.json is read out of the archive alone.

Adding many jobs no longer freezes the window. Add job builds its jobs in the background; each one joins the queue when it is ready, a line with a bar counts them, and a Start pressed meanwhile begins once the last one is in.

A broken archive is not a password question. A damaged or incomplete archive used to bring up the password prompt and refuse the right password. The app now asks only when the archive answers with a password error, and otherwise names the damage, such as "1 part of the set is missing (….part2.rar)". A part that goes away during extraction (a drive that drops out) ends the job with an error; the extraction used to wait for it forever.

The queue header adapts to narrow windows, "Game n/N" counts only the jobs that run, and the details pane names an archive's problem.

Compatibility

  • Same output bytes as 2.0.1: the retail reference .pkg builds with hash 701f28f04b616a3d, unchanged.
  • Settings, queue and history carry over.
  • macOS Apple Silicon.

Verified

  • Every backend suite: 117 fPKG pipeline checks, 37 backport, 34 archive, 24 CLI guard, 17 chain-mode CLI cases, 10 copy-job, 9 chain-item, 9 BPS, 7 backport-libs and the rest.
  • 12 RAR tests against sets built with the rar tool: encrypted headers, many parts, brackets in the name, a dot in the password, a missing, a damaged and a vanishing part, a solid set.
  • GUI wiring driver: 279 checks.
  • End-to-end with a real game against the built app: 17 checks, folder → .pkg → extract deterministic (701f28f04b616a3d vs 701f28f04b616a3d).
  • No new console test since fPKGs built by 1.1.12 launched on FW 11.60.

Install

Ad-hoc signed. On a Mac other than the one it was built on, clear the quarantine flag before the first launch:

xattr -d com.apple.quarantine "PS5 UltraPack.app"

SHA-256 (PS5-UltraPack-2.0.2-macos-arm64.zip): f7c80e4e95b93f7e37be9138b7d8319e2f0000ae572d967a726793ffbfdf402b