From ca33669cf78b1a6d114cf94da10eb9712329d50e Mon Sep 17 00:00:00 2001 From: ekklesia Date: Thu, 10 Sep 2026 09:12:28 -0500 Subject: [PATCH] docs: close the checkpoint with the from-package reproduction Co-Authored-By: Claude Opus 5 --- docs/classroom-v2-experiment.md | 23 +++++++++--- docs/screenshots/v2-both-apps.png | Bin 0 -> 18028 bytes docs/screenshots/v2-from-package.png | Bin 257652 -> 256928 bytes tools/lab/from-package | 52 +++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 5 deletions(-) create mode 100644 docs/screenshots/v2-both-apps.png create mode 100755 tools/lab/from-package diff --git a/docs/classroom-v2-experiment.md b/docs/classroom-v2-experiment.md index e470060..35159c3 100644 --- a/docs/classroom-v2-experiment.md +++ b/docs/classroom-v2-experiment.md @@ -58,6 +58,7 @@ can photograph it and a real pointer can be aimed at it. ``` tools/lab/lab build # the image +tools/lab/from-package # a fresh machine, the .deb, and nothing else tools/lab/cold-start 3 # three complete cold starts, from nothing tools/lab/lab session # compositor + Plasma session tools/lab/lab shot NAME # docs/screenshots/NAME.png @@ -574,9 +575,21 @@ The existing Debian classroom test VM should be kept. * Secondary windows, print dialog, notifications, fullscreen, themes, lockdown all verified on a running session. * Audio policy written with the failing room as a test. -* Cold starts repeated. +* Cold starts repeated: eleven, identical. +* Package built, and the file conflict and the stale `postinst` it exposed + both fixed. +* `tools/lab/from-package` run: fresh machine, `.deb`, session up, both + applications launched, one button each. -**Next**: SDDM autologin; move the file list in `tools/build-release.sh` to -the Plasma layout and build a `0.1.45~plasma1` package on its own channel; -Plasma display scaling at 1.25 and 1.5; then a real VM for DVD, audio and -performance. +**Next**, in order: + +1. Port `classroom-window` off sway so the DVD player is whole. It is the + last thing on this branch that still speaks a compositor the classroom + no longer runs. +2. Publish `0.1.45~plasma1` to a channel of its own, the way the Hyprland + milestone did, so a stable or canary room can never be offered it. +3. Bench-test SDDM: autologin, and that ending the session brings the + classroom back rather than a shell. +4. On real hardware: a DVD, a television switched on after the computer, + printing to Elmer, display scaling at 1.25 and 1.5, and a weekend of + uptime. diff --git a/docs/screenshots/v2-both-apps.png b/docs/screenshots/v2-both-apps.png new file mode 100644 index 0000000000000000000000000000000000000000..5a4b4254f403bfda64b89f7d5355f6b30fc66ece GIT binary patch literal 18028 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 H{I}F6vnSEN z-Z*QTS~~YcZ}iuJ3~4DD89w*$=zH$^%7_K5pck+19MU}RNJl{YR~e3)^spQhz2wNq z@z$-H5`FJ6jdVLSUk{Q(!35uO8Z`038hI`kJsuo5v_ufA=2|}U=ga7OxPXD=sL`vW z=>44uC|*P>4?6@1@;@P$Ob^>ax=7{%Zd(9CL5hg4`{pnsHMQ`&xBVScQ>lEmf91R7 z6_^WHii%Yb0vV&ZTNDheB1?Cj6PM3+gZ{G;>mLQg{UF*f=pm&D?4?~fAo#283!Kft z0%g%iG*c?;5-D{hRw;>0ixTgqB?>pVi%lo|fb)7dV_YV;YIfpA<{pobfE9CiTcH^7 zMAR`U@xOOP^wXyO&ub6@nA)$BHe0~e6Qg$3y;&&6JpCjUgvh5ZR|s+ZHC*jA;Z~|Z z$&7i1BYG`CWSUS4pk4f=DmsaLXF6&er#Nw1*Yf6r$&ZF=A^)Acx5J`$C6G@!X_)`o zEvn%Qn^JBTHD~>$v}d*&8|7W99t(qB34;}*{=u^9i$%F{n~UUhN?FR^%iz z2PmdwFAWUb7i=%XZ4Iv}@Jhte)K_C)*;{KnhW5KQt1}x7F$Ny#%_Q!SdyZGm{oqQV z(qP0Ni54CE1Cw=%DHNk9-F2_C&1lt7`9~~LCI3$|_a7Cr4pEF-K7y&b@3G^ASbq8c zwk7mZdY)OPNoM5D-=|J(iu$cvc;t-FyvORgAFsJjm;Af>=-h20xAv**@_V>B_3=J~ zSpTJ+9fHrxBumyZ9x;DbFztSO`>puU>gq3@p!CNe13j06-$?vv_}lxZQi>v7dQ4W# zeXw*&#ZRsvNoBWf4?xZQf>0Ot@qoGafBMJKYdWmey-i3J4-hCO$}Zfl)fsK{cLAPQ_8c*i&v)| znR#=**EE$`g3sT0YP zsdV1dF%*9M+4_Z~c$Zdd(%LUkttPRHJ#;_r3V1O$aFxOA!1rL2a#^8=beMG&P6|1# za@9yuQX4KO;XV-j&%b)x UQ$G&|4IPk(r>mdKI;Vst0Gpb8vH$=8 literal 0 HcmV?d00001 diff --git a/docs/screenshots/v2-from-package.png b/docs/screenshots/v2-from-package.png index da316198ebf2576acb30686f93b3ed58a6fb21ca..be8bb5045cf42e94744a65d0d7f4359c2131aa63 100644 GIT binary patch delta 36024 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 diff --git a/tools/lab/from-package b/tools/lab/from-package new file mode 100755 index 0000000..b349fbe --- /dev/null +++ b/tools/lab/from-package @@ -0,0 +1,52 @@ +#!/bin/bash +# The whole thing, from nothing, the way a classroom would get it: a fresh +# machine, the built .deb, and the session started from what it installed. +# No developer install script anywhere in the path. +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +LAB="$ROOT/tools/lab/lab" +DEB="${1:-$(ls -t "$ROOT"/dist/ekklesia-classroom_*_amd64.deb | head -1)}" +NAME="${LAB_NAME:-classroom-v2-lab}" + +echo "installing $(basename "$DEB")" +"$LAB" up >/dev/null + +docker exec "$NAME" sh -c ' + printf "#!/bin/sh\nexit 101\n" > /usr/sbin/policy-rc.d + chmod +x /usr/sbin/policy-rc.d + apt-get update -qq >/dev/null 2>&1' + +docker exec "$NAME" sh -c " + DEBIAN_FRONTEND=noninteractive dpkg -i '/srv/classroom/${DEB#$ROOT/}' \ + >/dev/null 2>&1 || true + DEBIAN_FRONTEND=noninteractive apt-get -y -qq -f install >/dev/null 2>&1 + DEBIAN_FRONTEND=noninteractive dpkg --configure ekklesia-classroom >/dev/null 2>&1 + rm -f /usr/sbin/policy-rc.d" + +state=$(docker exec "$NAME" dpkg-query -W -f='${db:Status-Abbrev}' ekklesia-classroom) +echo "package state: $state" + +# environment.d is read when the user manager starts, so it starts after. +docker exec "$NAME" systemctl restart user@1000.service +sleep 4 + +"$LAB" session >/dev/null +sleep 8 + +check() { printf ' %-46s %s\n' "$1" "$2"; } +env_dirs=$(docker exec -u classroom -e XDG_RUNTIME_DIR=/run/user/1000 \ + -e DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus "$NAME" \ + systemctl --user show-environment 2>/dev/null | grep '^XDG_CONFIG_DIRS=' || true) + +check "package installed" "$state" +check "session config path" "${env_dirs:-NOT SET}" +check "plasmashell" "$(docker exec "$NAME" pgrep -c -x plasmashell || echo 0)" +check "kwin" "$(docker exec "$NAME" pgrep -c -x kwin_wayland || echo 0)" +check "panel applets" "$(docker exec "$NAME" sh -c 'grep -c "^plugin=" /home/classroom/.config/plasma-org.kde.plasma.desktop-appletsrc' || echo 0)" +check "panel restart policy" "$(docker exec -u classroom -e XDG_RUNTIME_DIR=/run/user/1000 \ + -e DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus "$NAME" \ + systemctl --user show plasma-plasmashell.service -p Restart --value)" +check "audio policy" "$(docker exec -u classroom -e XDG_RUNTIME_DIR=/run/user/1000 \ + -e DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus "$NAME" \ + systemctl --user is-active ekklesia-classroom-audio.service || true)"