summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruvok cheetah2026-02-21 17:09:58 +0100
committeruvok cheetah2026-02-21 17:09:58 +0100
commit574da5a51216130d3221473f1d8f0e7275e627d0 (patch)
tree50df6d74e26b57459e2430fcf85b15d896fb1da3
parentb35b162f6a47f08b3abe1c97fbe219c9731bd9e5 (diff)
Add pyenv section
-rw-r--r--_posts/2026-02-21-updating-my-servers-to-trixie.md23
1 files changed, 20 insertions, 3 deletions
diff --git a/_posts/2026-02-21-updating-my-servers-to-trixie.md b/_posts/2026-02-21-updating-my-servers-to-trixie.md
index e2853c2..0942db0 100644
--- a/_posts/2026-02-21-updating-my-servers-to-trixie.md
+++ b/_posts/2026-02-21-updating-my-servers-to-trixie.md
@@ -14,7 +14,7 @@ the "least problematic" servers first. (Gut feeling).
Turns out, my intuition was relatively right.
What confused me extremely is that the upgrade notes appear to have moved to
-https://www.debian.org/releases/trixie/release-notes/upgrading.html.
+[a readthedocs look like page](https://www.debian.org/releases/trixie/release-notes/upgrading.html).
Previously, iirc, it was always a chapter in the Debian Handbook.
So, the pain points of Debian updates, for me, always is the config file
@@ -30,7 +30,7 @@ The actual **major** pain point was indeed the last server.
I've been accumulating various questionable packages on this one,
for some reason, I installed ffmpeg in the past, which means there were
lot of X-related libraries pulled in. During the cleanup, I unwisely
-must've fired off some purge command[1]… Which I acknowledged without
+must've fired off some purge command[^1]… Which I acknowledged without
looking properly. The result was that my entire /etc/letsencrypt
directory was erased, as I used the distro-supplied certbot in the past.
I just removed the package at some point and installed certbot via pip.
@@ -40,6 +40,23 @@ nginx config manually, adding temporary fake certs/keys, so that nginx
would start at all, so that certbot could work, and I could re-add
the certificates again.
+The second biggest pain point is Python virtual environments. Since
+Debian upgrades always(?) update the Python minor version, all existing
+venv's stop working, since a) they are created with a pointer to,
+e.g. `/usr/bin/python3.11`, and b) packages/modules go into a
+version-specific site-packages subdirectory. So, the procedure always
+is go through all of them, recreate the venv, reinstall all packages,
+hope it still works. In my case, even the Python script that
+triggers buildbot builds didn't work anymore, because
+`from future.utils import itertools`[^2] didn't work anymore,
+and needed to be replaced by `dict.items()`. And my looking glass
+didn't work no more because apparently Python stopped shipping
+the `cgi` module. The current "replacement" seems to be
+[legacy-cgi](https://pypi.org/project/legacy-cgi/).
+I have no "proper" solution for this yet.
+
Lesson learned: Read the fucking output before you hit enter.
-[1]: Via ansible, nonetheless.
+[^1]: Via ansible, nonetheless.
+
+[^2]: [contrib script](https://github.com/buildbot/buildbot/blob/master/master/contrib/git_buildbot.py#L26)