From 682e3b0552d5a80111a07ebf6e6d7ba9b40e65c3 Mon Sep 17 00:00:00 2001 From: ekklesia Date: Thu, 10 Sep 2026 09:07:10 -0500 Subject: [PATCH] docs: record what building the package taught Co-Authored-By: Claude Opus 5 --- docs/classroom-v2-experiment.md | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/classroom-v2-experiment.md b/docs/classroom-v2-experiment.md index 4ea2b10..defd69e 100644 --- a/docs/classroom-v2-experiment.md +++ b/docs/classroom-v2-experiment.md @@ -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