This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
Summary
Update all llvm sub-projects in Fedora Linux to version 22.
All llvm sub-projects in Fedora will be updated to version 22. There will be a soname version change for the llvm libraries, and an llvm21 compat package added to ensure that packages that currently depend on clang and llvm version 21 libraries will continue to work.
Other notable changes:
*flang merged into llvm The flang RPMs are now built from the llvm SRPM.
=== Planned Schedule ===
Our plan is to push 22.1.0 into Fedora 44 during the Beta Freeze with a Beta Freeze exception.
We are not planning to push earlier release candidates into rawhide because the library ABI is not stabilized until the final 22.1.0 release.
==== Important Dates ====
Jan 16: Begin building LLVM 22.1.0-rc1 in COPR.
Jan 27: Begin building LLVM 22.1.0-rc2 in COPR.
Feb 3: Fedora f44 branches created
Feb 10: Begin building LLVM 22.1.0-rc3 in COPR.
Feb 17: Fedora f44 Beta Freeze
Feb 24: Begin building LLVM 22.1.0 in Rawhide and 44 side-tags.
Feb 24 â Mar 17: Request a Beta Freeze exception for LLVM.
Mar 31: Fedora f44 Final Freeze
Feedback
Benefit to Fedora
New features and bug fixes provided by the latest version of LLVM.
Scope
Proposal owners:
** Build and test release candidates of LLVM 22 in COPR.
** Build and test final release of LLVM 22 in koji.
Other developers:
** Fix build issues found with LLVM-22 or switch their package to use the llvm21 compat libs. The LLVM team will not block Bodhi updates on dependent packages that fail to build or run with LLVM-22. There should be around ~10 weeks between when -rc1 lands in COPR and the Final Freeze for package maintainers to fix issues uncovered with the LLVM-22 update.
Policies and guidelines: N/A (not needed for this Change)
Trademark approval: N/A (not needed for this Change)
Alignment with the Fedora Strategy:
Upgrade/compatibility impact
Early Testing (Optional)
Do you require âQA Blueprintâ support? N
How To Test
User Experience
Dependencies
Contingency Plan
Contingency mechanism: (What to do? Who will do it?) If there are major problems with LLVM 22, the compatibility package provide a way for other packages to continue using LLVM 21.
Contingency deadline: Final Freeze
Blocks release? No
Documentation
LLVM sub-projects in Fedora have been updated to version 22:
If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.
We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what youâd like to express, please simply give that post a instead of reiterating. You can even do this by email, by replying with the heart emoji or just â+1â. This will make long topics easier to follow.
Please note that this is an advisory âstraw pollâ meant to gauge sentiment. It isnât a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.
When you say âbuild in COPRâ, what does this entail? Just LLVM and subpackages? Are maintainers of deoending packages supposed to test against COPR builds themselves? That couid mean that LLVM 22 does not see much testing before it hits rawhide, and given your policy and the timing, people will just switch to compat to fix FTBFS before F44 release.
For this proposal, we are just building LLVM 22 release candiates and its subpackages in COPR. If packaging maintainers want to do early testing with LLVM 22 then they can get it from the COPR project.
We do build packages that BuildRequires: clang in COPR approximately every 3 weeks with the latest builds of LLVM from upstream git, so for those packages we try to either fix or file issues ahead of the LLVM 22 release to reduce the chances of FTBFS.
We do expect that most llvm libraries users will switch to the compat package unless they are also doing a new release that support newer llvm.
This change has been approved by FESCo and will be included in Fedora Linux 44.
To find out more about how our changes policy works, please visit our docs site.
For the record for next time⌠since itâs in the plan, itâd be good to file the FE earlier rather than last minute so the Quality team can plan around it better. (It looks likely that this week, weâd otherwise have an RC, but wonât be âgoâ if we accept the FE at this point.)
Like, if you have FE proposals for F45, you can do that even now.
For the record for next time⌠since itâs in the plan, itâd be good to file the FE earlier rather than last minute so the Quality team can plan around it better.
Ack. I had the impression that we had to have the Bodhi update created
in order to request the FE.
Iâm going to update our docs on this.
Note that llvm 22 is breaking some builds, see devel-list. I guess youâre missing transitive buildrequires in your tests, such as buildrequires on python3-clang.
Note that llvm 22 is breaking some builds, see devel-list. I guess youâre missing transitive buildrequires in your tests, such as buildrequires on python3-clang.
Thatâs correct, and per mailing list, the answer is they werenât tested and thereâs no compat package for python-clang. While I got some useful technical hints on the ML, they (and what I tried on top) are not enough to fix the build issue. Upstream is building against LLVM 18 (which is what pypi has). So I canât fix this FTBFS quickly and thereâs no time for more. This is why we should not do these invasive changes so late before release, between freezes.
One could claim that I should have known since December, but I read @tstellar âs answer as âyes we testâ and âyes there will be compatâ, which applied to clang but not python-clang (nor recursively), as I know now.