`fetch_verify_write` treats a download/checksum failure as a soft warning and returns Ok without writing — but the `NamedTempFile` is already created (0 bytes). Gating extraction on `exists()` let the empty file reach `tar tvf`, which bailed with a misleading "not in gzip format" and aborted the install. Gate on non-empty instead. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
bakery
Package manager for the bread ecosystem. Usage lives in the repo README.
Install prefix
Default root is ~/.local (bins in ~/.local/bin, data in
~/.local/share). That is the hermes / get.sh path and must stay the
default.
BOS sets a system prefix so bakery-managed desktop apps live on the @
root subvolume and are included in snapper/grub-btrfs snapshots:
# /etc/bakery/config.toml
prefix = "/usr/local"
BAKERY_PREFIX overrides the config file. A non-home prefix installs:
| Thing | Path |
|---|---|
| bins | $prefix/bin |
| share / desktop / licenses / data | $prefix/share/... |
| systemd user units | /usr/lib/systemd/user |
Per-user state (installed.json and pre-update backups) stays in
~/.local/state/bakery. Writes that need root use sudo -n, then
pkexec. bakery doctor prints the active prefix.