diff --git a/tools/lab/from-package b/tools/lab/from-package index 78f7cb5..d381a4d 100755 --- a/tools/lab/from-package +++ b/tools/lab/from-package @@ -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)