docs: record what building the package taught

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
ekklesia
2026-09-10 09:07:10 -05:00
co-authored by Claude Opus 5
parent f7d5aecd6c
commit 682e3b0552
+38
View File
@@ -173,6 +173,21 @@ hard that `classroom-theme light` changed the running session and lost the
change at the next start. Immutability now covers the Kiosk restrictions and
nothing else. Measured both ways afterwards.
### Two packages cannot own one file
`dpkg -i` refused the first package outright: `plasma-workspace` already
owns `/etc/xdg/plasmanotifyrc`, and `kdeglobals`, `kwinrc` and the rest are
the same story. The room's settings live in
`/etc/ekklesia-classroom/xdg/` instead, with
`/etc/environment.d/90-ekklesia-classroom.conf` putting that directory in
front of `/etc/xdg` in `XDG_CONFIG_DIRS`. That is KConfig's own cascade
rather than a fight over a path, and it was checked at runtime:
`systemctl --user show-environment` carries it, and `kreadconfig6` in the
session reads the classroom's values.
The `postinst` then failed on a `chmod` for a command that had been
removed. It walks what the package actually installed now.
### VLC calls itself `Vlc`
KWin's window matching is case sensitive, and a lower-case substring rule
@@ -394,6 +409,29 @@ Chromium ships no Widevine. Chrome is what Wonder Ink is known to work in.
| right-click desktop / panel | no menu |
| KRunner | not running, not reachable |
| light ⇄ dark | persists both ways |
| memory, 3 samples over 6 minutes | flat: plasmashell 399 MB, KWin 141 MB under llvmpipe |
| package install on a clean machine | clean, and the session came up from it |
## The package
`tools/build-release.sh` builds it, and it was installed on a fresh machine
and booted from rather than described. `ekklesia-classroom_0.1.45` is 65
files: the desktop under `/etc/ekklesia-classroom/xdg`, a look and feel
package, two colour schemes, the launchers, the Solid action, two supervised
user services, and the classroom's own commands. Dependencies swap
`sway, swaybg, waybar, mako-notifier, python3-gi, gir1.2-gtklayershell-0.1`
for `plasma-desktop, plasma-workspace, kwin-wayland, plasma-nm, plasma-pa,
sddm`, and it `Conflicts` with the welcome tour, the software centre and the
phone pairing daemon that `plasma-desktop` would otherwise recommend into a
classroom.
Checked mechanically: every `/usr/local` path any classroom command names is
in the package.
The OTA mechanism is untouched. This is an ordinary version on the ordinary
channel structure, and an experimental build would go out as
`0.1.45~plasma1` on a channel of its own, exactly as the Hyprland milestone
did.
## Screenshots