Skip to content

Linux app runs on RHEL 8 and its rebuilds - #647

Merged
Matthew Shaxted (mattshax) merged 4 commits into
mainfrom
linux-rocky8
Nov 6, 2026
Merged

Matthew Shaxted (mattshax) merged 4 commits into
mainfrom
linux-rocky8

Conversation

@mattshax

@mattshax Matthew Shaxted (mattshax) commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

The Linux app now runs on RHEL 8 and its rebuilds, as well as RHEL 9, Ubuntu 22.04 and later. It needed glibc 2.34 before, so GUFI and tesseract failed to load on RHEL 8 and indexing failed there.

What changed

GUFI, tesseract and the WebKitGTK 4.0 shell are built on Rocky Linux 8. GCC 8 and Python 3.6 are too old for GUFI and tesseract, so on RHEL 8 the build scripts install gcc-toolset-13 and Python 3.11 (el8_tools in deploy/common/lib.sh). gcc-toolset links what it adds to the C++ runtime statically, so the binaries still need only the system's libstdc++.

The tree is limited to glibc 2.28, libstdc++ 3.4.25 and CXXABI 1.3.11, in build_app.sh, check_app.sh and the .rpm dependencies. The update manifest's minGlibc follows from the tree. The WebKitGTK 4.1 shell still builds on Ubuntu 22.04 and needs glibc 2.35. It is used only where WebKitGTK 4.1 is installed, which RHEL 8 does not have.

install.sh and uninstall.sh use a glob for the icons, so they no longer need find. The Rocky 8 container images leave out findutils.

README.md and docs/LINUX-APP.md state the new requirements, and the README line that said test builds only is gone, since the Linux app was released in v1.187.

Tested

A full linux-app.yml run on this branch passed every job, with nothing published. Rocky Linux 8 (8.9 and current), AlmaLinux 8, and the existing Rocky 9, AlmaLinux 9 and Ubuntu 22.04 and 24.04 images ran the payload checks and the update path. The tarball and .rpm were installed on Rocky 8 and AlmaLinux 8 and started under Xvfb, where the Studio drew, a search found a document, and uninstall left only the data. The same install tests passed on Rocky 9, AlmaLinux 9 and Ubuntu, so one payload built on the older system runs on all of them.

Wider coverage

The payload test matrix adds stock RHEL 8 and 9 (UBI images), Oracle Linux 8 and 9, CentOS Stream 9, Fedora 43, Amazon Linux 2023, Ubuntu 20.04 and Debian 11, 12 and 13, and the install test adds Oracle Linux 8 and Debian 12. All passed the 87 payload checks locally.

The build also ran on a remote desktop, driven with real mouse and keyboard input, on Ubuntu 24.04 and on Rocky 8 in a container: window, indexing, search with OCR and meaning hits, query and Stats. The window also opened on Debian 12 and 13, Ubuntu 20.04, Oracle Linux 8 and 9, CentOS Stream 9 and Fedora 43.

Not tested

A physical Rocky 8 desktop, and the window on stock RHEL (UBI repositories have no WebKitGTK), Debian 11 (its WebKitGTK packages are gone from the mirrors) and Amazon Linux 2023. Chat in the window was not run in this round. On Fedora 43 the window crashed at launch twice in about ten launches and opened on the next try. The cause is not known and is recorded in docs/LINUX-APP.md.

Build GUFI, tesseract and the WebKitGTK 4.0 shell on Rocky Linux 8, lower
the tree's limits to glibc 2.28, libstdc++ 3.4.25 and CXXABI 1.3.11, and
add Rocky 8 and AlmaLinux 8 to the payload and install tests.
The Rocky 8 container images leave out findutils. Copy and list the icons
with a glob, and install findutils for the checks that use it there.
Add stock RHEL 8 and 9, Oracle Linux, CentOS Stream 9, Fedora, Amazon
Linux, Ubuntu 20.04 and Debian 11 to 13 to the payload test matrix, and
Oracle Linux 8 and Debian 12 to the install test. The test harness now
tolerates images without a linker cache.
The file is removed as the new window starts, so a check between its
test and its read could see an empty process id.
@mattshax
Matthew Shaxted (mattshax) merged commit c316dfe into main Nov 6, 2026
10 checks passed
@mattshax
Matthew Shaxted (mattshax) deleted the linux-rocky8 branch November 6, 2026 03:50
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.

1 participant