Skip to content

fix(repoclosure): retarget openjdk21 references to openjdk25#17148

Open
reubeno wants to merge 4 commits into
tomls/base/mainfrom
users/reubeno/jdkver
Open

fix(repoclosure): retarget openjdk21 references to openjdk25#17148
reubeno wants to merge 4 commits into
tomls/base/mainfrom
users/reubeno/jdkver

Conversation

@reubeno
Copy link
Copy Markdown
Member

@reubeno reubeno commented May 12, 2026

AZL only ships java-25-openjdk; there is no java-21-openjdk, so any upstream BuildRequires, %define, or script reference to the openjdk21 family is unsatisfiable. Add overlays to retarget those references to the openjdk25 equivalents.

Tag-oriented overlays (spec-remove-tag + spec-add-tag) are used for BuildRequires swaps:

  • libbluray: ant-openjdk21 -> ant-openjdk25
  • apache-ivy: ant-openjdk21 -> ant-openjdk25
  • apache-sshd, plexus-velocity, resteasy, stringtemplate4, xbean: maven-local-openjdk21 -> maven-local-openjdk25

Section-scoped or broad spec-search-replace overlays are used where no tag form applies:

  • apache-ivy: scoped to %build, retarget JAVA_HOME path
  • dogtag-pki, jss: broad replace of '21-openjdk' / 'openjdk21' monikers to retarget the %else-branch %define values (the preamble cannot be section-scoped today, so a couple of %changelog entries are also cosmetically rewritten -- harmless).

The five previously-inline components (libbluray, plexus-velocity, resteasy, stringtemplate4, xbean) are promoted to dedicated comp.toml files since they now carry overlays.

Validation

Control Tower job IDs:

  • a3bacc41-328d-4b80-ff62-08deafafdf39
  • 7e4f857d-4f1d-40fe-ff65-08deafafdf39

@reubeno reubeno changed the title fix(repoclosure): retarget openjdk21 references to openjdk25stack fix(repoclosure): retarget openjdk21 references to openjdk25 May 12, 2026
reubeno and others added 3 commits May 14, 2026 06:27
AZL only ships java-25-openjdk; there is no java-21-openjdk, so any
upstream BuildRequires, %define, or script reference to the openjdk21
family is unsatisfiable. Add overlays to retarget those references to
the openjdk25 equivalents.

Tag-oriented overlays (spec-remove-tag + spec-add-tag) are used for
BuildRequires swaps:

- apache-ivy: ant-openjdk21 -> ant-openjdk25
- apache-sshd, plexus-velocity, resteasy, stringtemplate4, xbean:
  maven-local-openjdk21 -> maven-local-openjdk25

Section-scoped or broad spec-search-replace overlays are used where
no tag form applies:

- apache-ivy: scoped to %build, retarget JAVA_HOME path
- dogtag-pki, jss: broad replace of '21-openjdk' / 'openjdk21' monikers
  to retarget the %else-branch %define values (the preamble cannot be
  section-scoped today, so a couple of %changelog entries are also
  cosmetically rewritten -- harmless).

The four previously-inline components (plexus-velocity, resteasy,
stringtemplate4, xbean) are promoted to dedicated comp.toml files
since they now carry overlays.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fedora 43's stringtemplate4 still BuildRequires maven-local-openjdk21,
which AZL does not ship (only java-25-openjdk). Rather than carry
overlays that retarget the BuildRequires to openjdk25 (which the f43
sources are not actually built/tested against), pin to a commit on the
Fedora 44 branch that natively builds against openjdk25 and includes
the corresponding build/test fixes.

Fedora commit:
https://src.fedoraproject.org/rpms/stringtemplate4/c/0a6adaa584f3670857a931ff971b283213dfcfd7?branch=f44

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Backport the test-skip portion of Fedora rawhide commit
1df289d87c3617482e813a5dac348b01c67d271f to unblock building xbean
against openjdk25, where the upstream test suite fails. The
openjdk21 -> openjdk25 BuildRequires retarget portion of that same
upstream commit is already covered by the existing overlays here.

Fedora commit:
https://src.fedoraproject.org/rpms/xbean/c/1df289d87c3617482e813a5dac348b01c67d271f?branch=rawhide

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@reubeno reubeno force-pushed the users/reubeno/jdkver branch from 39e082c to ad184a2 Compare May 14, 2026 06:31
@reubeno reubeno marked this pull request as ready for review May 14, 2026 06:31
Copilot AI review requested due to automatic review settings May 14, 2026 06:31
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 addresses repoclosure failures caused by upstream Java component specs that reference the openjdk21 family of packages, which Azure Linux does not ship (only java-25-openjdk is available). It introduces overlays to retarget those references to the openjdk25 equivalents across several Java-related components, and additionally removes libbluray/libudfread (and Blu-Ray support in gvfs) rather than carrying them on Java 25.

Changes:

  • Add tag-based overlays (remove + add BuildRequires) for apache-sshd, apache-ivy, libbluray, plexus-velocity, resteasy, stringtemplate4, xbean and section/preamble search-replace overlays for apache-ivy, dogtag-pki, jss to swap openjdk21openjdk25.
  • Promote previously inline components (xbean, plexus-velocity, resteasy, stringtemplate4, gvfs) to dedicated *.comp.toml files; pin stringtemplate4 to a Fedora 44 commit; backport an --force flag to xbean's %mvn_build.
  • Remove libbluray and libudfread (lock + rendered spec + publish-channel entries) and disable bluray support in gvfs.

Reviewed changes

Copilot reviewed 27 out of 38 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
base/comps/components.toml Drops inline declarations for components now backed by dedicated comp.toml files; libbluray missing from this removal.
base/comps/components-publish-channels.toml Drops libbluray/libudfread from publish channel list.
base/comps/apache-ivy/apache-ivy.comp.toml Adds inline overlays to swap ant-openjdk21 → 25 and JAVA_HOME path in %build.
base/comps/apache-sshd/apache-sshd.comp.toml Adds remove/add BR overlays for maven-local-openjdk swap.
base/comps/dogtag-pki/dogtag-pki.comp.toml Adds anchored search-replace overlays for openjdk21 %defines.
base/comps/gvfs/gvfs.comp.toml New file: drops libbluray BR and forces -Dbluray=false in meson.
base/comps/jss/jss.comp.toml Adds anchored search-replace overlays for openjdk21 %defines.
base/comps/plexus-velocity/plexus-velocity.comp.toml New file with maven-local-openjdk swap overlays.
base/comps/resteasy/resteasy.comp.toml New file with maven-local-openjdk swap overlays.
base/comps/stringtemplate4/stringtemplate4.comp.toml New file pinning component to Fedora 44 commit.
base/comps/xbean/xbean.comp.toml New file: maven-local-openjdk swap and rawhide --force backport.
locks/* Refreshed lock fingerprints; libbluray.lock and libudfread.lock removed.
specs/a/apache-ivy/apache-ivy.spec Rendered swap of BuildRequires and JAVA_HOME path.
specs/a/apache-sshd/apache-sshd.spec Rendered swap of maven-local-openjdk21→25 BR.
specs/d/dogtag-pki/dogtag-pki.spec Rendered swap of openjdk21 %defines to 25.
specs/g/gvfs/gvfs.spec Removes libbluray BR (leaves empty conditional) and adds -Dbluray=false.
specs/j/jss/jss.spec Rendered swap of openjdk21 %defines to 25.
specs/l/libbluray/* Component spec, patch, sources removed.
specs/l/libudfread/* Component spec and sources removed.
specs/p/plexus-velocity/plexus-velocity.spec Rendered BR swap (placement now outside any conditional).
specs/r/resteasy/resteasy.spec Rendered BR swap.
specs/s/stringtemplate4/stringtemplate4.spec Rendered BR swap to maven-local-openjdk25.
specs/s/stringtemplate4/stringtemplate4-java21.patch Updated by upstream pin: broadens startsWith("21") checks to startsWith("2").
specs/x/xbean/xbean.spec Adds unconditional openjdk25 BR (lost the original %else scoping) and --force to %mvn_build.
Comments suppressed due to low confidence (1)

specs/l/libbluray/libbluray.spec:1

  • The PR description states that libbluray will be retargeted from ant-openjdk21 to ant-openjdk25 ("libbluray: ant-openjdk21 -> ant-openjdk25"), but the actual change deletes the libbluray component entirely (spec, patches, lock, publish-channel entry) and also drops Blu-Ray support from gvfs. This is a significantly different (and broader) outcome than described. Either the description should be updated to reflect the removal, or the implementation should be changed to match the described retarget.

Comment thread specs/x/xbean/xbean.spec
Comment thread specs/g/gvfs/gvfs.spec
Comment thread base/comps/components-publish-channels.toml
…mers

libbluray 1.3.4 (pinned via Fedora 43) no longer builds against
java-25-openjdk -- its Makefile.am defaults to javac source=1.5/target=1.4
which OpenJDK 25 rejects (videolan#46). Rather than chase the upstream
1.4.0 + Java 23+ patch (which also pulls in libudfread >= 1.2.0), drop
Blu-Ray support entirely:

- Remove libbluray and libudfread (orphaned with libbluray gone) SRPMs,
  lock files, rendered specs, and publish-channel entries.
- ffmpeg: drop pkgconfig(libbluray) BuildRequires, switch
  --enable-libbluray to --disable-libbluray.
- gvfs: new dedicated comp.toml; drop pkgconfig(libbluray) BuildRequires
  and pass -Dbluray=false to meson unconditionally (was only RHEL-gated
  upstream).
- xine-lib: drop libbluray-devel BuildRequires, add --disable-bluray to
  configure, remove xineplug_inp_bluray.so from %files.

All three consumers rebuild and smoke-test cleanly with no libbluray /
libudfread linkage or runtime dependencies.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@reubeno reubeno force-pushed the users/reubeno/jdkver branch from ad184a2 to b5ae3cb Compare May 14, 2026 06:55
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.

2 participants