mirror of
https://github.com/phantomptr/ps5upload.git
synced 2026-10-22 03:42:55 -05:00
* feat(pkg): choose which drive install packages are kept on Uploaded packages always went to internal storage (/user/data/ps5upload/pkg_library), which fills the console's own drive. The Volumes screen now lets you mark a drive "Use for packages"; new packages are staged under <drive>/ps5upload/pkg_library on it. - Per console, remembered on this device. Internal stays the default. - Falls back to internal storage, with a notice, when the chosen drive isn't connected. - The package library lists packages on every drive; rows show the drive. - The folder chain on the drive is created one level at a time. - The External Packages scan skips a drive's ps5upload/ folder, so staged packages aren't listed twice. Hardware (Phat, FW 5.10): Star Wars Racer Revenge base+patch staged on /mnt/ext0 installed, patched 01.00->01.02 and launched in 2 of 3 trials (80 MB/s); the first stalled after the header read and is covered by the daemon-recycle fix that follows. Internal control: 1/1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(install): recycle the installer daemon after a stalled delivery A console-path install that stalls leaves the daemon's loopback job "serving" until Sony reads every byte, which never happens, so every later install was refused as "an install is already in progress" until the daemon restarted, although the failure told the user to retry. Measured on the Phat (FW 5.10). A stalled daemon-served install now stops the daemon the same way a wedged stream refusal already did, and the next install's ensure brings up a fresh one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * PS5Upload v5.36.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
50 lines
1.6 KiB
TOML
50 lines
1.6 KiB
TOML
[workspace]
|
|
members = [
|
|
"crates/ftx2-proto",
|
|
"crates/ps5upload-core",
|
|
"crates/ps5upload-lab",
|
|
"crates/ps5upload-engine",
|
|
"crates/ps5upload-pkg",
|
|
"crates/ps5upload-fpkg",
|
|
"crates/ps5upload-tests",
|
|
"crates/ps5upload-bench",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
license = "GPL-3.0-or-later"
|
|
version = "5.36.0"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1.0"
|
|
# "multipart" is for the backport library import (fakelibs_api.rs): users pick
|
|
# library files and upload them as one set. Same crate, just the extractor.
|
|
axum = { version = "0.8", features = ["multipart"] }
|
|
blake3 = "1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
thiserror = "2.0"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "fs", "io-util"] }
|
|
tokio-stream = { version = "0.1", features = ["sync"] }
|
|
tower-http = { version = "0.7", features = ["cors"] }
|
|
uuid = { version = "1", features = ["v4"] }
|
|
|
|
# Speed up debug builds: thinner debug info on macOS, more parallelism.
|
|
[profile.dev]
|
|
split-debuginfo = "unpacked"
|
|
|
|
# Same for the release engine binary — not a shipped bundle, so trade a
|
|
# little size for faster link times.
|
|
[profile.release]
|
|
debug = false
|
|
|
|
# Vendored `unrar` with a one-line bounds fix in the volume-change callback.
|
|
# Upstream 0.5.8 reads ~8 KB out of a much smaller buffer on every volume
|
|
# transition, which aborts debug builds on any multi-part .rar and is a
|
|
# latent out-of-bounds read in release. 0.5.8 is the latest release, so
|
|
# there is nothing upstream to take. See third_party/unrar/README.md and
|
|
# docs/unrar-upstream-bug.md.
|
|
[patch.crates-io]
|
|
unrar = { path = "../third_party/unrar" }
|