diff options
| author | Craig Jennings <c@cjennings.net> | 2026-08-17 11:28:55 -0700 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-08-17 11:28:55 -0700 |
| commit | 4dfecc5f705c9df0d1f8e8245276146f826e16cc (patch) | |
| tree | e439583e4ad1602e887d70ea7e90ab0d728a1e2b /scripts/cmail-setup-finish.sh | |
| parent | 1d486a7b43e3fdd2e194b579285d979dc9beb788 (diff) | |
| download | archsetup-4dfecc5f705c9df0d1f8e8245276146f826e16cc.tar.gz archsetup-4dfecc5f705c9df0d1f8e8245276146f826e16cc.zip | |
feat(scripts): add post-rebuild-check for the gaps a reinstall leaves
A rebuilt machine looks finished and isn't. Five gaps surfaced on velox within two days of its reinstall. Three looked fine on inspection: a stowed unit file, an enabled-looking timer, a present git clone. The script runs those five checks and prints a line for each whether or not it finds anything.
Every probe fails closed. A check that cannot run reports a finding rather than a pass, which matters more here than anywhere: a silent no-op in the checker is the exact failure it exists to catch. `systemctl --user` exits 1 with empty output when there is no user bus, so reading that as "no failed units" would call a machine healthy at the moment nothing was checked. Calls are bounded for the same reason. A check that hangs reports nothing at all, and the machine most in need of checking is the one it hangs on.
I suppressed three classes of finding, each because the live run produced them and reality disagreed. A timer-activated service is supposed to sit linked and not enabled. One expected tooling file is seed-only, so most projects legitimately never have one. Vendored package trees ship their own example files. Left in, those were 19 of the first run's 27 findings, and a check nobody reads is a check that isn't run.
The post-install checklist points at it, and 58 tests cover it.
Diffstat (limited to 'scripts/cmail-setup-finish.sh')
0 files changed, 0 insertions, 0 deletions
