bakery updates leave orphaned "pre" snapshots, or none at all #28
Labels
No labels
P0
P1
P2
P3
audio
bakery
boot
breadbug
bug
build
ci
dependencies
design
disk
docs
encryption
final
firewall
graphics
hardware
idle
installer
keybinds
nvidia
packages
phase-1
polish
recovery
reliability
reproducibility
secure-boot
security
shell
signing
snapshots
supply-chain
swap
tech-debt
theming
ux
website
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Breadway/bos#28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
bos-update(lines 29-37) runssnapper create -t prebut never a matching-t post, and doesn't capture the snapshot number. Orphaned pre snapshots pile up and eat into NUMBER_LIMIT. Runningbakery updatedirectly, or updating from bos-settings > Packages, gets no snapshot at all, even though bakery writes to/usr/localon@.Where
iso/airootfs/usr/local/bin/bos-updateFix
bos-update:PRE=$(snapper -c root create -t pre -p -c number -d ...), then after bakery finishes runsnapper -c root create -t post --pre-number "$PRE" -c number -d .... Do the same for the home config./etc/bakery/hooks.d/, or built-in snapper support) so every bakery write path is covered, like snap-pac. File the bakery half in the bread-ecosystem repo (ECO) and link it here.Acceptance
snapper listafterbos-updateshows a matched pre/post pair for the bakery step.bakery update --allalso produces a pair (once the bakery side lands).Source: BOS v0.6.2 source review (tag dated 2026-09-19); paths and line numbers refer to that tree. Read AGENTS.md first. One issue per branch/PR, match existing style. Add a CHANGELOG
[Unreleased]entry.I mapped the required scope and found no BOS-28 branch or pull request. The BOS acceptance covers both the bos-update wrapper and direct bakery updates. Bakery lives in bakery/ inside Breadway/bread-ecosystem, so its transaction hook would need a separate repository change; I found no matching Snapper task in ECO BACKLOG or TODO.
I could not start implementation safely because the local BOS origin/main is
5f15a4f, while Forgejo currently reports main atbe121b1. Fetching the authorized origin failed with:Bad owner or permissions on /etc/ssh/ssh_config.d/20-systemd-ssh-proxy.conf. Per the task constraints I did not change SSH configuration or use another transport. No files or commits were changed.The implementation should create a numbered pre snapshot and a matching post snapshot around the bakery transaction, including on failure, and ensure bos-update does not leave orphaned or duplicate pairs. Both direct
bakery update --allandbos-updateneed acceptance checks. Returning BOS-28 to TODO until the authorized origin can be fetched. No desktop, VM, or personal config was touched.Implemented
d56c68f: #77The wrapper creates paired numbered root/home snapshots only around bakery, closes them after failed updates, and preserves optional-home behavior. It checks the configured bakery capability under the actual update privilege context to prevent duplicate pairs. BOS enables snapper_configs for newer bakery. Isolated mock tests passed for success, failure, missing home, ordering, and native duplicate prevention; Bash syntax and diff checks passed.
Direct bakery and Packages coverage is provided by ECO-47 and requires a shipped bakery build containing that change. Real installed-BOS snapper list acceptance remains pending; no desktop, personal config, installed binary, or live Snapper state was touched.