-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Update the base image to RockyLinux 10.0 #12549
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
* Update the base image to RockyLinux 10.0
|
I didn't think we are ready to support rocky10. It may be better to modify the script to accept an environment variable to choose the rocky version, that would be defaulted to 9.6. |
xis19
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
|
Don't think we can bump up the version just yet. It may require some approvals for partner teams, definitely some testing, and some changes at some other places. I don't think we should add any special case for riscv unless we are ready to support it. |
dlambrig
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
putting the PR on hold until we have an answer of 10.0
johscheuer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
10.0 adds new architecture riscv64, a per-requisite for building riscv64 releases.
I think this statement is wrong. The Dockerfile where you updated the base image doesn't build anything of FDB and actually requires that pre-compiled binaries exist, either locally or as a release. You probably want to create a new build support image: https://github.com/FoundationDB/fdb-build-support, thought I don't think we have plans to support RockyLinux 10 and risc64, so all of this would probably a community effort so far.
In addition I'm a bit sceptical to use a x.0 version/release as the default version for any production setup.
It may be better to modify the script to accept an environment variable to choose the rocky version, that would be defaulted to 9.6.
I think, given that we have no rsic64 binaries, the benefit of doing that would be quite limited and I would also assume that quite a few things will break either with RockyLinux 10 an/or risc64. This also makes it hard to validate things work since we cannot build those images without the fdb binaries.
RHEL moves slowly. Debian / Ubuntu / Alpine derivative distros have included riscv64 cross-compile support since many years ago, before any official releases for that architecture. EPEL toolchain extras support requires an RHEL 10 derivative (RockyLinux 10 i.e.) and work is scheduled "sometime in the future" when there are going to be pre-compiled EPEL releases for riscv64. This is expected in 2026 and does depend on RHEL 10 derivative, so the first step is getting the target build environment going where FDB is built.
RockyLinux 10 is what you're already targeting with Python 3.12 over Python 3.9 although I don't have any comment for the real engineering concerns of a more recent GCC compiler and security hardening over RockyLinux 9. My ambition is to get a mail server with FDB by default tooled up for riscv64 releases to compile from nuts-to-bolts on riscv64; if I can't compile it on riscv64 then it's a non-starter and I'll re-invest that time into gutting FDB from riscv64 releases. Either way is fine with me. The non-RHEL world is already there with riscv64 support, PyPI has riscv64 wheels officially, hardware improvements are fully exponential and things are moving forward quickly now for this architecture. If you like the idea of community support just meet it halfway w/ a RHEL10 derivative for all the build environment and the rest should happen this coming year. None of that to the exclusion of proper testing and engineering, of course. |
10.0 adds new architecture riscv64, a per-requisite for building riscv64 releases.
For reasons I do not understand, the riscv64 images for 10.0 do not appear listed as published images on Docker Hub web interface. However, I confirm the riscv64 images are usable in the normal way, as on RISC-V hardware w/ all upstreamed U-Boot firmware, Linux kernel, and Debian 13 Trixie OS:
Code-Reviewer Section
The general pull request guidelines can be found here.
Please check each of the following things and check all boxes before accepting a PR.
For Release-Branches
If this PR is made against a release-branch, please also check the following:
release-branchormainif this is the youngest branch)