Update the base image to Ubuntu 26.04.#1338
Conversation
Use the new Ubuntu 26.04 as the base image for: * computing the new Python constraints; * building the `builder` image; * building the `odklite` image.
|
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. |
… 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 |
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.
matentzn
left a comment
There was a problem hiding this comment.
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.
Use the new Ubuntu 26.04 as the base image for:
builderimage;odkliteimage.closes #1320