aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-08-25 06:30:04 -0600
committerCraig Jennings <c@cjennings.net>2026-08-25 06:30:04 -0600
commit91fbac722e83cd108a295542a3c88de66d209fe8 (patch)
treea444b4181cc07416f82930fb7486a1c54ccf1a75 /scripts
parent9b53d707f5e2dfe5237ae4db338aa65e83d9c6b2 (diff)
downloaddotemacs-91fbac722e83cd108a295542a3c88de66d209fe8.tar.gz
dotemacs-91fbac722e83cd108a295542a3c88de66d209fe8.zip
fix(telega): build the server image locally to meet tdlib 1.8.66
MELPA's 2026-08-18 telega raised telega-tdlib-min-version to 1.8.66. The pinned upstream image ships 1.8.64, so telega killed its own server on every launch. Upstream's only 1.8.66 image won't start: it's missing libglycin (zevlg/telega.el#596). docker/telega-server/Dockerfile derives from that upstream image, pinned by digest, and adds the one missing package. make telega-image builds it as cj/telega-server:1.8.66-glycin, cj/telega-docker-image defaults to that tag, and a test holds the two equal. cj/telega now refuses to launch with a make telega-image hint when the image isn't built, since docker would otherwise try to pull a local-only tag from the registry. setup-telega.sh points at the make target instead of M-x telega-server-build. I chose the local build over pinning the telega package back to 20260706.2147. The derived image satisfies both machines' floors. package.el can't pin a version and MELPA serves only its latest build, so nothing would enforce the package pin. When #596 is fixed upstream the pin returns to a registry digest and the Dockerfile goes.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/setup-telega.sh12
1 files changed, 6 insertions, 6 deletions
diff --git a/scripts/setup-telega.sh b/scripts/setup-telega.sh
index 9a8c0d02..351f98ba 100755
--- a/scripts/setup-telega.sh
+++ b/scripts/setup-telega.sh
@@ -7,8 +7,8 @@
# - Verifies docker is installed and the daemon is responsive.
# - Verifies the user can talk to docker without sudo (group membership).
# - Pulls the telega-server image if a public one is configured (env var
-# `TELEGA_DOCKER_IMAGE'); otherwise prints the in-Emacs build command
-# (`M-x telega-server-build') for the user to run once.
+# `TELEGA_DOCKER_IMAGE'); otherwise points at `make telega-image', which
+# builds the pinned image from docker/telega-server/Dockerfile.
# - Installs the `telega' Emacs package via package.el if it isn't
# already in package-user-dir. modules/telega-config.el uses
# `:ensure nil' (a stale MELPA index can 404 and take startup down
@@ -52,10 +52,10 @@ pull_or_announce_image() {
if [[ -z "$TELEGA_DOCKER_IMAGE" ]]; then
cat <<EOF
→ no public image configured (set TELEGA_DOCKER_IMAGE to override)
- build the telega-server image once from inside Emacs:
- M-x telega-server-build
- telega.el handles the docker build under the hood when
- \`telega-use-docker' is t (set in modules/telega-config.el).
+ build the telega-server image once from the repo's Dockerfile:
+ make telega-image
+ modules/telega-config.el pins \`cj/telega-docker-image' to the tag
+ that target builds (docker/telega-server/Dockerfile).
EOF
return 0
fi