Skip to content

Support RHEL/Rocky/AlmaLinux 9 & 10 and Fedora via the Debian 12 binary#197

Open
vliggio wants to merge 2 commits into
zakird:masterfrom
vliggio:claude/strange-archimedes-c7597c
Open

Support RHEL/Rocky/AlmaLinux 9 & 10 and Fedora via the Debian 12 binary#197
vliggio wants to merge 2 commits into
zakird:masterfrom
vliggio:claude/strange-archimedes-c7597c

Conversation

@vliggio

@vliggio vliggio commented Jun 16, 2026

Copy link
Copy Markdown

Summary

Adds support for RHEL 9/10 and clones, plus Fedora, by mapping them to the existing Debian 12 binary. No new binaries are bundled — this follows the same approach as the recent "Debian 13 → Debian 12" change.

Fixes #191 (Rocky/RHEL/AlmaLinux 9 — also covers 10), #169 (CentOS Stream 9), and #182 (Fedora).

Why the Debian 12 binary (not CentOS 8)?

The RHEL-8 family already maps to the CentOS 8 binary. But RHEL 9/10 and their clones (Rocky, AlmaLinux, Oracle Linux, CentOS Stream), as well as modern Fedora, ship OpenSSL 3 + a newer glibc:

  • the CentOS 8 binary links libssl.so.1.1, which is absent on these systems;
  • the Debian 12 binary links libssl.so.3, which is present.

This matches the ldd output the reporter posted in #191 confirming the Debian 12 binary resolves cleanly on Rocky Linux 9.6.

Changes

  • bin/wkhtmltopdf — map rocky_9/10, rhel_9./10., ol_9./10., almalinux_9/10, centos_9/10, and fedora*debian_12; update the platform error message.
  • .docker/ — new Dockerfiles for rockylinux_9, almalinux_9, rockylinux_10, almalinux_10, and fedora.
  • docker-compose.yml + test/test_with_docker.rb — services and tests for the above.

Supersedes #186

Open PR #186 ("support centos 9") also targets the CentOS 9 case (#169), but maps centos_9 → the centos_8 binary. That binary links libssl.so.1.1, which is absent on CentOS Stream 9 (OpenSSL 3), so it would still fail at runtime. This PR maps centos_9debian_12 (OpenSSL 3) instead, which is the working fix — so #186 can be closed in favor of this.

Issues reviewed but not changed

  • Add AlmaLinux Support #158 (AlmaLinux 8) is already resolved by the existing almalinux_8 → centos_8 mapping (0.12.6.8); verified no regression.

Notes

  • The Fedora mapping is a broad fedora* match — correct for every in-support Fedora (all ship OpenSSL 3). Pre-OpenSSL-3 Fedora (≤35, all EOL) can still use WKHTMLTOPDF_HOST_SUFFIX.
  • The Fedora Dockerfile pins fedora:42 (a supported release) rather than the EOL fedora:40 from not working on fedora 40 #182, since EOL tags break dnf install against archived mirrors. The mapping covers 40 regardless.
  • I left the version bump / CHANGELOG entry out, matching the maintainer's convention of handling those in a separate release commit.

🤖 Generated with Claude Code

vliggio and others added 2 commits June 16, 2026 16:13
RHEL 9/10 and their clones (Rocky, AlmaLinux, Oracle Linux, CentOS Stream),
plus modern Fedora, ship OpenSSL 3 and a newer glibc. The Debian 12 binary
links libssl.so.3 and runs on them, whereas the CentOS 8 binary links the
now-absent libssl.so.1.1. Map these distros to the Debian 12 binary and add
Docker-based tests for Rocky/AlmaLinux 9 & 10 and Fedora.

Fixes zakird#191 (Rocky/RHEL/AlmaLinux 9), zakird#169 (CentOS Stream 9), zakird#182 (Fedora).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vliggio

vliggio commented Jun 17, 2026

Copy link
Copy Markdown
Author

@unixmonkey please take a look and see if this works for a new version of this gem. Thanks!

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.

not working on Rocky Linux 9.x

1 participant