test: the lab installs a package the way a classroom does

from-package used dpkg -i and then apt-get -f install. With 0.2.6.2's
Conflicts: khelpcenter, dpkg refused and -f resolved it by dropping the
classroom package, so the lab ran every check against nothing. The
updater runs apt-get install on the file, which removes the conflict and
installs; measured, and now the lab does the same.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
ekklesia
2026-09-24 07:07:54 -05:00
co-authored by Claude Opus 5.5
parent 59cb51c68b
commit 2d1cc016c5
+8 -4
View File
@@ -17,11 +17,15 @@ docker exec "$NAME" sh -c '
chmod +x /usr/sbin/policy-rc.d
apt-get update -qq >/dev/null 2>&1'
# apt-get install on the file, exactly as ekklesia-classroom-update does.
# Not dpkg -i and then apt-get -f: when the package conflicts with
# something installed (khelpcenter, from 0.2.6.2) dpkg refuses, and -f then
# "fixes" it by dropping the classroom package rather than the conflict —
# measured, and a lab that installs differently from a classroom tests the
# wrong thing.
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
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq '/srv/classroom/${DEB#$ROOT/}' \
>/tmp/from-package-install.log 2>&1 || cat /tmp/from-package-install.log
rm -f /usr/sbin/policy-rc.d"
state=$(docker exec "$NAME" dpkg-query -W -f='${db:Status-Abbrev}' ekklesia-classroom)