F44 Change Proposal: Java 21 Removed Earlier Then Scheduled [SelfContained]

F44 Change Proposal: Java21RemovedEarlierThenScheduled [SelfContained]

Wiki

Announced

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 :open_book:

Remove java-21-openjdk already from F44, rather then F45 as was originally announced

[[Changes/ThirdPartyLegacyJdks| here]] and

[[Changes/Java25AndNoMoreSystemJdk#Detailed_Description| here]]

Owner :open_book:

Detailed Description :open_book:

Short preliminary [Making sure you're not a bot! discussion] happened in early December without any strong opposition but with several good ideas. but From total java-stack(546 packages), only 26 requires jdk21 for build:

  • apache-commons-modeler-0:2.0.1-43.fc42.src
  • apache-commons-text-0:1.10.0-8.fc42.src
  • apache-sshd-1:2.11.0-2.fc41.src
  • decentxml-0:1.4-36.fc41.src
  • fop-0:2.9-9.fc41.src
  • Java-WebSocket-0:1.6.0-4.fc43.src
  • l10n-maven-plugin-0:1.1.0-2.fc43.src
  • maven-archetype-0:3.2.1.0.8b3bdb6-14.fc41.src
  • resteasy-0:3.0.26-32.fc42.src
  • xmlgraphics-commons-0:2.11-1.fc43.src
  • javapoet-0:1.7.0-27.fc43.src
  • java-runtime-decompiler-0:10.0-6.fc43.src
  • jol-0:0.17-10.fc43.src
  • juniversalchardet-0:2.4.0-16.fc43.src
  • plexus-velocity-0:2.2.1-2.fc43.src
  • stringtemplate4-0:4.3.4-9.fc43.src
  • xbean-0:4.24-8.fc43.src
  • xbean-0:4.24-9.fc43.src
  • icedtea-web-0:1.8.8-10.fc43.src
  • ldapjdk-0:5.6.0-0.1.alpha1.fc43.3.src
  • ldapjdk-0:5.6.0-1.fc43.src
  • mecab-java-0:0.996-14.fc43.src
  • openjdk-asmtools-0:9.0.0.b12.ea.eb1979669-0.fc43.src
  • mecab-java-0:0.996-14.fc43.src
  • fop-0:2.9-9.fc41.src
  • nekohtml-0:1.9.22-29.fc42.src
  • jedit-0:5.6.0-8.fc43.src
    From those aprox 10 is FTBFs even with java-21-openjdk, and the rest seems to be ok to switch to java-25-openjdk. This part will be elaborated on.

Once those packages are resolved, jdk21 will be removed from rawhide and the [Making sure you're not a bot! adoptium-temurin-java-repository package] will obsolete jdk21 in f44, and will warn about jdk21 being deprecated in f43 and down.

Feedback :open_book:

For now the headless subpakcage was rebuked as priority to fix on temurin side. Others may pop up.

Benefit to Fedora :open_book:

Benefit to distribution itself is controversial. A lot of development is focussed to Eclispe Temurins, but we failed to prepare proper 1:1 replacement in past.

Main benefit will be the spared cycles of developers who will maintain one less jdk for one less cycle. Main focus of saved cycles should be the 1:1 compatibility of Temurins with our RPMs.

Note, that side benefit of this is, that Temurin JDK rpms will become more like Fedora rpms, rather then ā€œmore like Debianā€ or similarly.

Scope :open_book:

  • Proposal owners:
    ** We will help to migrate remaining packages to jdk25
    ** we will deprecate and remove jdk21
    ** we should improve temurin rpms to fit more
  • Other developers:
    ** No work is expected
  • Release engineering: N/A
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy: ok, I think

Upgrade/compatibility impact :open_book:

User which was used to have several system JDKs will have one system JDK (25) and one rolling future jdk java-latest-openjdk (26 in that time) if applicable.

Early Testing (Optional) :open_book:

Do you require ā€˜QA Blueprint’ support? Y/N

How To Test :open_book:

todo

User Experience :open_book:

Change should be transparent to all users and power users.

Users will have latest JDK as soon as possible, as usual, and all Java packages should remain fully operational.

Dependencies :open_book:

  • adoptium-temurin-java-repository as per schedule and description
  • java-21-openjdk as per schedule and description
  • remaining packages in javastack as per schedule and description

Contingency Plan :open_book:

  • Return java-21-openjdk as it is
  • Contingency deadline: beta freeze
  • Blocks release? No

Documentation :open_book:

N/A for now

Release Notes :open_book:

\n

Last edited by @alking 2025-12-19T18:24:05Z

Last edited by @alking 2025-12-19T18:24:05Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

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 :heart: 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.

Spaces were added to the title of this proposal due to Discourse requirements with respect to title clarity

I would like to see this part elaborated on sooner rather than later, since I maintain a couple of packages in that list. Which ones FTBFS even with java-21-openjdk?

1 Like

As I already wrote on mailing list:

I am definitely against removing the Fedora J21 stack in F44. The problem is that the temurin stack does not provide a separate headless rpm. On servers, you usually install headless. With temurin you have to install the complete Java JRE. You then can use headless, but nevertheless all the Java ā€žnot-headlessā€œ dependencies are pulled in. And you don’t want to have that stuff on a production server!

We not only have to build rpms. Hey, we still have some folks which use them!

And we should take care about Java users as well. And we should give them time to migrate. And with some full blown server applications it needs its time.

In the long run it would great to convince the Temurin people to split up the rpm. I don’t know how realistic that is.

pboy
on behalf of Server WG

2 Likes

I compile 3 games today; 2 still need 17 to build, but all 3 run their clients with 25 (not 26 though)

Are those games in BuildRoot? As 17 is no longer there I guess they are not. As temurins are avaiable as dnf install/udate and still have 8, 11 and 17 (and 21). It seems like you will not be affected by this change. I’m also java developer, and at the end alway all LTS javas ends on my system. No way out. Question is how long to keep them as distro-integrated. Java was always designed to be portable and while there is ā€œfree jdk to dnf installā€ then the question reallyu remains as ā€œis it needed for build root?ā€

it would great to convince the Temurin people to split up the rpm. I don’t know how realistic that is.

I personally get this as show-stopper for removal of jdk21 fro fedora ahead of time. But I belive the headless jre should not be that problematic. There is already at least one positively aligned memebr of adoptium board: add headless subpackage Ā· Issue #917 Ā· adoptium/installer Ā· GitHub

From those aprox 10 is FTBFs even with java-21-openjdk, and the rest seems to be ok to switch to java-25-openjdk. This part will be elaborated on.

hi!

I was sick mos to f the Christmas (as nearly every Christmas) so nothing happened. If you maintain any of them. Can you please try to ensure they build and works fine on f43 onwards and upgrade them to jdk25 if possible? If you clear any of them, I will strike them in the proposal as resolved.

I will elaborate on the list anyway. Together with headless sub-package I consider them as main part to resolve.

I had drafted initial PR to create headless temurins. Lets see how it goes. Added headless jre capability by judovana Ā· Pull Request #1308 Ā· adoptium/installer Ā· GitHub I guess it will be relocated and rewritten, but good for start

I would like to see this part elaborated on sooner rather than later, since I maintain a couple of packages in that list. Which ones FTBFS even with java-21-openjdk?

wip: in #Detailed_Description

This change proposal has now been submitted to FESCo with ticket #3526 for voting.

To find out more, please visit our Changes Policy documentation.

It seems - https://fedoraproject.org/wiki/Changes/Java21RemovedEarlierThenScheduled#Detailed_Description that live javastack can be completly fixed, and that temurin people are willing to include headless packages. @pboy btw, see: add headless subpackage Ā· Issue #917 Ā· adoptium/installer Ā· GitHub that is surprisingly huge difference.

One thing from the Change document that confuses me:

Once those packages are resolved, jdk21 will be removed from rawhide and the adoptium-temurin-java-repository package will obsolete jdk21 in f44, and will warn about jdk21 being deprecated in f43 and down.

I see similar warnings are already present in the RPM spec today. But … are you really relying on printing messages during RPM scriptlets? … :grimacing:

1 Like

hi!

Nope. The adoptium-temurin-java-repository is obsoleting the legacy JDKs, so no unmaintained jdk will remain on the system. But I considered it as a good idea to give user headsup. I received several positive feedbacks, that the message was very useful. Unluckily not all fedora users are reading fedora-devel list:(

it seesm I was able to fix all of them except Icedtea-web and FOP. On wop I keep trying, with ITW.. maybe it can be built… but for runtime.. I think it shoudl finally go to its welld eserved peace…

The Headless packages were approved by Adoptium steering committee, and final PR is to all live jds is published and under testing. We all expect the headless subpkgs will land already in March release