pacman package cache is never cleaned #34

Closed
opened 2026-09-26 07:28:14 +08:00 by Breadway · 4 comments
Owner

Problem

pacman-contrib (paccache.timer) isn't installed. /var/cache is its own subvolume (@cache, not snapshotted), so it grows forever.

Fix

Add pacman-contrib, and enable paccache.timer in the post-install unit loop (post-install.sh lines 392-397). Optionally set PACCACHE_ARGS=-k2.

Acceptance

systemctl is-enabled paccache.timer returns enabled on an installed system.


Source: BOS v0.6.2 source review (tag dated 2026-09-19); line numbers refer to that tree. Read AGENTS.md first. One issue per branch/PR. Add a CHANGELOG [Unreleased] entry.

## Problem `pacman-contrib` (`paccache.timer`) isn't installed. `/var/cache` is its own subvolume (`@cache`, not snapshotted), so it grows forever. ## Fix Add `pacman-contrib`, and enable `paccache.timer` in the post-install unit loop (`post-install.sh` lines 392-397). Optionally set `PACCACHE_ARGS=-k2`. ## Acceptance `systemctl is-enabled paccache.timer` returns enabled on an installed system. --- Source: BOS v0.6.2 source review (tag dated 2026-09-19); line numbers refer to that tree. Read AGENTS.md first. One issue per branch/PR. Add a CHANGELOG `[Unreleased]` entry.
Author
Owner

Blocked before implementation because this runner cannot reach the Forgejo Git remote. The shared ~/Projects/bos checkout is dirty on fix/bos-26-snapshot-restore, so I left it untouched. An isolated SSH clone first failed on the system SSH config permissions; bypassing that config failed with socket: Operation not permitted connecting to 100.66.238.26:2222. The only cached origin/main is bfe6bf0, while Forgejo reports current main at f683ca0, so I cannot safely create a current branch or PR from the stale cache. No code changes or PR were created.

Blocked before implementation because this runner cannot reach the Forgejo Git remote. The shared `~/Projects/bos` checkout is dirty on `fix/bos-26-snapshot-restore`, so I left it untouched. An isolated SSH clone first failed on the system SSH config permissions; bypassing that config failed with `socket: Operation not permitted` connecting to `100.66.238.26:2222`. The only cached `origin/main` is `bfe6bf0`, while Forgejo reports current `main` at `f683ca0`, so I cannot safely create a current branch or PR from the stale cache. No code changes or PR were created.
Author
Owner

Still blocked before implementation. The shared BOS checkout remains dirty and I have not edited it. A fresh isolated clone still fails because /etc/ssh/ssh_config.d/20-systemd-ssh-proxy.conf has rejected permissions; the earlier config-free SSH retry was denied with socket: Operation not permitted. The local cached origin/main is 5f15a4f, while Forgejo reports main at be121b1 after the BOS-30 audio firmware commit. I cannot safely branch from this stale base. The Unreleased changelog is also being edited by active BOS PRs #54, #55, #56, #59, #65, and #66, plus the dirty BOS-26 worktree, so I am not adding a competing changelog entry. No files or branches were changed.

Still blocked before implementation. The shared BOS checkout remains dirty and I have not edited it. A fresh isolated clone still fails because `/etc/ssh/ssh_config.d/20-systemd-ssh-proxy.conf` has rejected permissions; the earlier config-free SSH retry was denied with `socket: Operation not permitted`. The local cached `origin/main` is 5f15a4f, while Forgejo reports `main` at be121b1 after the BOS-30 audio firmware commit. I cannot safely branch from this stale base. The Unreleased changelog is also being edited by active BOS PRs #54, #55, #56, #59, #65, and #66, plus the dirty BOS-26 worktree, so I am not adding a competing changelog entry. No files or branches were changed.
Author
Owner

#71

Added pacman-contrib and enabled upstream weekly paccache.timer retaining three versions. Shell syntax and diff checks pass. The real cached Arch unit enabled successfully in an isolated temporary root, and systemctl --root is-enabled returns enabled. Full install check remains headless acceptance work.

https://git.breadway.dev/Breadway/bos/pulls/71 Added pacman-contrib and enabled upstream weekly paccache.timer retaining three versions. Shell syntax and diff checks pass. The real cached Arch unit enabled successfully in an isolated temporary root, and systemctl --root is-enabled returns enabled. Full install check remains headless acceptance work.
Author
Owner

Independent source review PASS at 03f9df96cc. The manifest includes pacman-contrib once and the post-install loop enables paccache.timer. Independently extracted the real Arch pacman-contrib timer and service into a disposable root, enabled the timer, and systemctl --root is-enabled returned enabled. Upstream timer is weekly and persistent. Shell syntax and diff check pass. No CI statuses are configured. Full Calamares installation was not repeated. PR: #71

Independent source review PASS at 03f9df96cc8b1c81cb1ebe6b03c52057113443ca. The manifest includes pacman-contrib once and the post-install loop enables paccache.timer. Independently extracted the real Arch pacman-contrib timer and service into a disposable root, enabled the timer, and systemctl --root is-enabled returned enabled. Upstream timer is weekly and persistent. Shell syntax and diff check pass. No CI statuses are configured. Full Calamares installation was not repeated. PR: https://git.breadway.dev/Breadway/bos/pulls/71
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/bos#34
No description provided.