Skip to content

Update to Ubuntu 26.04 - #30225

Merged
thunder-coding merged 56 commits into
masterfrom
ubuntu-26.04
Jun 25, 2026
Merged

Update to Ubuntu 26.04#30225
thunder-coding merged 56 commits into
masterfrom
ubuntu-26.04

Conversation

@thunder-coding

@thunder-coding thunder-coding commented Jun 17, 2026

Copy link
Copy Markdown
Member

Closes #30063

Packages that make use of termux_download_ubuntu_packages():

libxml2
black-hole-solver
freecell-solver
audacity
awesome
awesome-luajit
breeze-gtk
gnome-clocks
guile
kf6-kdoctools
konqueror
mate-icon-theme
mate-icon-theme-faenza
lowdown
libpinyin
libresprite
lua-language-server
ibus
lux-cli
notmuch
video-downloader
swi-prolog
xmoto
nodejs
aosp-libs

Packages that have cross-tools subpackage:

Successfully building:
glib
binutils
libwayland
kwin-x11
qt6-qtbase
qt6-qtlanguageserver
qt6-shadertools
qt6-qtdeclarative
qt6-qttools
kf6-ki18n
kf6-kconfig
kf6-kcoreaddons
kf6-karchive
kf6-kdoctools
qt6-qtsvg
qt6-qt5compat
kf6-kcmutils
kf6-kpackage
qt6-qtwayland
qt6-qtscxml
qt6-qtcharts
qt6-qtnetworkauth
qt6-qtimageformats
qt6-qttranslations
qt6-qtmultimedia
kf6-syntax-highlighting
qt5-qtdeclarative
qt5-qtbase
qt5-qttools
electron-host-tools-for-code-oss

@thunder-coding
thunder-coding removed the request for review from Grimler91 June 17, 2026 06:08
@thunder-coding
thunder-coding marked this pull request as draft June 17, 2026 06:09
@thunder-coding
thunder-coding force-pushed the ubuntu-26.04 branch 8 times, most recently from 5528627 to 86a742a Compare June 17, 2026 09:54
@thunder-coding thunder-coding changed the title ci(packages): add debug logging for ci cleaning Update to Ubuntu 26.04 Jun 18, 2026
@robertkirkman

robertkirkman commented Jun 18, 2026

Copy link
Copy Markdown
Member

I'd like to note quickly that I might have found the first error in termux-packages as a result of uutils!

I will try to collect more information, verify it as occurring due to uutils, and if I'm able to meet the incompatibility report requirements for uutils, open an upstream issue before we switch back to gnu coreutils. here are some initial properties of it:

  • Affected Package: aosp-libs (fork of AOSP 9.0.0-r76)
  • Error Message: comm: file 1 is not in sorted order
  • uutils binaries that appear to be executed in code closeby to the error: comm, rm, cp, sort

@robertkirkman

robertkirkman commented Jun 18, 2026

Copy link
Copy Markdown
Member

Yes, reinstalling GNU coreutils will solve the error (we can do this temporarily using apt remove build-essential coreutils-from-uutils gobject-introspection-bin gobject-introspection --allow-remove-essential, but long term we probably need to figure out why Ubuntu 26.04 gobject-introspection depends on coreutils-from-uutils)

Here is my report in uutils coreutils. We can place a link to this in a comment above the code in scripts/setup-ubuntu.sh to reinstall GNU coreutils:

@robertkirkman

robertkirkman commented Jun 19, 2026

Copy link
Copy Markdown
Member

I'm just adding a note here in case it's needed that every package that has -cross, -cross-tools or -host-tools in its name will need to be recompiled because, these are basically custom packages for the Ubuntu container, and it seems that Ubuntu 26.04 is incompatible with at least some of the ones that have been built for Ubuntu 24.04. This probably isn't going to be very difficult, I think it will just mean revision-bumping a lot of packages after the upgrade of the Docker image.

/data/data/com.termux/files/usr/opt/qt6/cross/lib/qt6/bin/qtpaths: error while loading shared libraries: libicui18n.so.74: cannot open shared object file: No such file or directory

@thunder-coding

Copy link
Copy Markdown
Member Author

Library errors are expected for cross-tools as they are built against library versions on host that change. Thanks for pointing out

Comment thread x11-packages/awesome-luajit/build.sh Outdated
Comment thread x11-packages/awesome-luajit/build.sh Outdated
Comment thread packages/aosp-libs/build.sh
Comment thread scripts/setup-ubuntu.sh Outdated
@thunder-coding
thunder-coding force-pushed the ubuntu-26.04 branch 2 times, most recently from e3aa6d8 to 38ab523 Compare June 23, 2026 15:00
@thunder-coding

Copy link
Copy Markdown
Member Author

I think this is ready for review. CI should be green. Only thing remaining is random testing of packages, so that there are not any other unexpected surprises. Otherwise things look good enough to be merged. Awaiting feedback

@thunder-coding
thunder-coding marked this pull request as ready for review June 23, 2026 15:01
@robertkirkman

Copy link
Copy Markdown
Member

I think this is ready for review. CI should be green. Only thing remaining is random testing of packages, so that there are not any other unexpected surprises. Otherwise things look good enough to be merged. Awaiting feedback

so, uh, where is gnu coreutils and all that?

Comment thread scripts/Dockerfile Outdated
@robertkirkman

This comment was marked as outdated.

@robertkirkman

Copy link
Copy Markdown
Member

For an example of another package that might need a minor change, check building util-linux while using the Ubuntu 26.04 container. It will fail with automake-1.16: command not found, but adding autoreconf -fi to the build.sh seems to work around that - as long as any configure.patch files in the package are modified to either also, or instead, apply to the files that are generated into configure by autoreconf -fi instead of configure itself.

thunder-coding and others added 27 commits June 25, 2026 19:03
DOCBOOK_TO_MAN environment variable is now seemed to be required

Also Clang is being used instead of GCC for host builds due to a
regression in GCC 15 which doesn't seem to have a fix landed in Ubuntu
26.04 yet.
cstdint needs to be #included for uint32_t. Newer GCC 15 seems to be
more strict about it
Reorganize all the ubuntu packages so that it is easier to maintain in
future during Ubuntu updates

Also include lua-lgi patches for glib as they are needed now as Ubuntu
26.04 comes with newer glib version and we need to build against it
See previous commit made in awesome for commit logs as they both are
essentially the same
packages

Seems not to be needed. No idea why it was added in the first place. No
comments in the commit message or the PR
Get rid of termux_download_ubuntu_packages as it does not seem to be
needed now
We can look into switching back to uutils if problems which we are
facing are fixed in upcoming 28.04 LTS
Ubuntu's pkg-config is now new enough, so switch to it
Also command -v lua$hostbuild_lua_version doesn't actually work, it
actually tries to link against host lua binary instead of what we
downloaded.
…eutils' symlinks

Patch shamelessly stolen from #30225 (comment)

Co-Authored-By: Robert Kirkman <[email protected]>
Workaround for:
In file included from mkbuiltins.c:46:
../bashansi.h:44:23: error: ‘bool’ cannot be defined via ‘typedef’
   44 | typedef unsigned char bool;
      |                       ^~~~
../bashansi.h:44:23: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../bashansi.h:44:1: warning: useless type name in empty declaration
   44 | typedef unsigned char bool;
      | ^~~~~~~
version of automake

Seems like the provided configure scripts have hardcoded automake
version, so regenerate so that builds don't fail:

 cd /home/builder/.termux-build/util-linux/src && /bin/bash /home/builder/.termux-build/util-linux/src/config/missing automake-1.16 --foreign Makefile
/home/builder/.termux-build/util-linux/src/config/missing: line 81: automake-1.16: command not found
WARNING: 'automake-1.16' is missing on your system.
         You should only need it if you modified 'Makefile.am' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'automake' program is part of the GNU Automake package:
         <https://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <https://www.gnu.org/software/autoconf>
         <https://www.gnu.org/software/m4/>
         <https://www.perl.org/>
make: *** [Makefile:7732: /home/builder/.termux-build/util-linux/src/Makefile.in] Error 127

Co-Authored-By: Robert Kirkman <[email protected]>
@thunder-coding
thunder-coding merged commit 5824e5e into master Jun 25, 2026
7 of 11 checks passed
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.

Prepare for ubuntu 26.04 LTS for docker image

2 participants