Skip to content

Update the base image to Ubuntu 26.04.#1338

Merged
gouttegd merged 7 commits into
masterfrom
update-to-ubuntu-2604
May 6, 2026
Merged

Update the base image to Ubuntu 26.04.#1338
gouttegd merged 7 commits into
masterfrom
update-to-ubuntu-2604

Conversation

@gouttegd

Copy link
Copy Markdown
Contributor

Use the new Ubuntu 26.04 as the base image for:

  • computing the new Python constraints;
  • building the builder image;
  • building the odklite image.

closes #1320

Use the new Ubuntu 26.04 as the base image for:

* computing the new Python constraints;
* building the `builder` image;
* building the `odklite` image.
@gouttegd gouttegd self-assigned this Apr 28, 2026
@gouttegd

Copy link
Copy Markdown
Contributor Author

Draft PR as (1) I have not tested it locally yet (and I would be surprised if it works without any tweaks) and (2) I have not updated the Python constraints yet.

In both cases I won't do that until I have better Internet connectivity than what is available to me right now.

@gouttegd

Copy link
Copy Markdown
Contributor Author

I would be surprised if it works without any tweaks

… And indeed it failed before I even finished writing this comment. Fully expected: the new base image comes with a different version of setuptools, so the pip-constraints.txt file needs to be updated to reflect what the new base image provides.

One of the things the update-constraints.sh script must do is to get a
list of the Python packages that are installed as *Debian packages*
(i.e. installed via `apt-get` rather than via `pip`).

For now this is done by `find`ing and `grep`ing the contents of the
Python dist-packages directory, but we can instead just use `pip` to do
that. Much easier and much less prone to errors.
With Ubuntu 26.04, we must explicitly install `python-setuptools` (which
is deprecated and therefore no longer automatically installed, but some
of the packages we are dependent on still need it).

We must also explicitly install `typing-extensions` in ODKLite, because
it is installed in ODKBuild (and therefore _not_ installed when we
install all our Python packages).
The x86_64 version of Konclude has a runtime dependency on libpcre3,
which is no longer provided by Ubuntu 26.04. We circumvent the issue by
using the "Docker build" of Konclude 0.7.0-1138, which is statically
linked against the library so that we don't need the shared library at
runtime.

The arm64 version is not affected, because it was not built against
libpcre3 to begin with.
@gouttegd gouttegd marked this pull request as ready for review April 29, 2026 21:48
@gouttegd gouttegd requested a review from matentzn April 29, 2026 21:48

@matentzn matentzn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks great. The typical concerns on the python front - nothing new. Please feel free to override me on all counts, I dont feel super strongly and none of it is related to the base image migration.

Comment thread constraints.txt
Comment thread constraints.txt
Comment thread constraints.txt
Comment thread constraints.txt
Comment thread constraints.txt
@gouttegd gouttegd requested a review from matentzn May 6, 2026 18:28

@matentzn matentzn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@gouttegd gouttegd merged commit 8e44214 into master May 6, 2026
1 check passed
@gouttegd gouttegd deleted the update-to-ubuntu-2604 branch May 6, 2026 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update base system to Ubuntu 26.04 “Resolute Raccoon”

2 participants