Skip to content

fix: drop openjdk21 Java tooling variants (repoclosure)#16738

Open
christopherco wants to merge 6 commits intotomls/base/mainfrom
chrco/fix-openjdk21
Open

fix: drop openjdk21 Java tooling variants (repoclosure)#16738
christopherco wants to merge 6 commits intotomls/base/mainfrom
chrco/fix-openjdk21

Conversation

@christopherco
Copy link
Copy Markdown
Collaborator

@christopherco christopherco commented Apr 18, 2026

Summary

AZL ships only java-25-openjdk. The f43-based Java tooling specs still
produce -openjdk21 variant subpackages that depend on the missing
java-21-openjdk-*, causing 7 repoclosure failures.

This PR surgically removes the openjdk21 bindings/subpackages via overlays,
backporting the equivalent changes already landed in Fedora rawhide/f44.

Changes

Package Overlay approach Upstream commit
ant Remove %jp_binding --variant openjdk21 4ca7a3b
maven Remove %jp_binding --variant openjdk21 e19767f
maven4 Remove %jp_binding --variant openjdk21 4b6c6ee
xmvn Remove openjdk21 toolchain install + binding 2c9d321
xmvn5 Remove openjdk21 toolchain install + binding b9afca4
javapackages-tools spec-remove-section for %package/%description/%files blocks; fix --jvm=openjdk21 configure flag; fix ivy-local and javapackages-compat Requires 62dfe8f, 7debb9d, 83cd9c8

Repoclosure issues resolved

  • ant-openjdk21java-21-openjdk-headless
  • javapackages-local-openjdk21java-21-openjdk-devel
  • maven-local-openjdk21java-21-openjdk-devel
  • maven-openjdk21java-21-openjdk-headless
  • maven4-openjdk21java-21-openjdk-headless
  • xmvn-toolchain-openjdk21java-21-openjdk-devel
  • xmvn5-toolchain-openjdk21java-21-openjdk-devel

Fixes: AB#18867

@christopherco christopherco marked this pull request as ready for review April 18, 2026 23:51
Copilot AI review requested due to automatic review settings April 18, 2026 23:51
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Fedora f43-era -openjdk21 Java tooling variants from Azure Linux components via overlays, resolving repoclosure failures caused by missing java-21-openjdk-* packages (AZL ships java-25-openjdk only).

Changes:

  • Add per-component overlays to remove openjdk21 bindings/toolchains/subpackages (ant, maven, maven4, xmvn, xmvn5, javapackages-tools).
  • Remove the affected components’ bare entries from base/comps/components.toml now that dedicated *.comp.toml files exist.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
base/comps/ant/ant.comp.toml Removes openjdk21 jp_binding/config generation to prevent ant-openjdk21 output.
base/comps/maven/maven.comp.toml Removes openjdk21 binding/conf generation to prevent maven-openjdk21 output.
base/comps/maven4/maven4.comp.toml Removes openjdk21 binding/conf generation to prevent maven4-openjdk21 output.
base/comps/xmvn/xmvn.comp.toml Removes openjdk21 toolchain install and binding to prevent xmvn-toolchain-openjdk21 output.
base/comps/xmvn5/xmvn5.comp.toml Removes openjdk21 toolchain install and binding to prevent xmvn5-toolchain-openjdk21 output.
base/comps/javapackages-tools/javapackages-tools.comp.toml Removes openjdk21 local subpackages and fixes remaining Requires/configure args to align with openjdk25-only.
base/comps/components.toml Drops inline component entries for components that now have dedicated *.comp.toml customization files.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread base/comps/xmvn/xmvn.comp.toml
Comment thread base/comps/maven4/maven4.comp.toml
Comment thread base/comps/maven/maven.comp.toml
Comment thread base/comps/javapackages-tools/javapackages-tools.comp.toml Outdated
Comment thread base/comps/javapackages-tools/javapackages-tools.comp.toml
Comment thread base/comps/ant/ant.comp.toml
Comment thread base/comps/xmvn5/xmvn5.comp.toml
Backport of upstream Fedora rawhide commit 4ca7a3b. AZL only ships
java-25-openjdk; the ant-openjdk21 subpackage produces an unsatisfiable
dependency on java-21-openjdk-headless.
Backport of upstream Fedora rawhide commit e19767f. AZL only ships
java-25-openjdk; the maven-openjdk21 subpackage produces an
unsatisfiable dependency on java-21-openjdk-headless.
Backport of upstream Fedora rawhide commit 4b6c6ee. AZL only ships
java-25-openjdk; the maven4-openjdk21 subpackage produces an
unsatisfiable dependency on java-21-openjdk-headless.
Backport of upstream Fedora rawhide commit 2c9d321. AZL only ships
java-25-openjdk; the xmvn-toolchain-openjdk21 subpackage produces an
unsatisfiable dependency on java-21-openjdk-devel.
Backport of upstream Fedora rawhide commit b9afca4. AZL only ships
java-25-openjdk; the xmvn5-toolchain-openjdk21 subpackage produces an
unsatisfiable dependency on java-21-openjdk-devel.
Backport of upstream Fedora rawhide commits:
- 62dfe8f: Remove openjdk21 support packages
- 7debb9d: Fix broken Requires of ivy-local
- 83cd9c8: Fix broken Requires of javapackages-compat

AZL only ships java-25-openjdk; the maven-local-openjdk21 and
javapackages-local-openjdk21 subpackages produce unsatisfiable
dependencies on java-21-openjdk-devel.

Uses spec-remove-section overlays to excise the %package, %description,
and %files sections for both openjdk21 subpackages, plus
spec-search-replace to remove the --jvm=openjdk21 configure flag and
fix ivy-local/javapackages-compat Requires that referenced the virtual
javapackages-local provide.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Member

@reubeno reubeno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Main feedback here is that the regexes are much more tightly coupled to the actual syntax in the specs. In several cases, simply replacing .*openjdk21.* with "" may be sufficient? Perhaps that's too simplistic, but the precise whitespace and verbatim other tokens decreases likelihood that the overlay would continue to apply as generically.

Consideration for future: if there are already changes in a future version of Fedora -- do we actually want to have a mechanism to allow storing those dist-git commits as local .patch files and an overlay that can apply them?

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.

3 participants