fix(repoclosure): retarget openjdk21 references to openjdk25#17148
Open
reubeno wants to merge 4 commits into
Open
fix(repoclosure): retarget openjdk21 references to openjdk25#17148reubeno wants to merge 4 commits into
reubeno wants to merge 4 commits into
Conversation
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>
39e082c to
ad184a2
Compare
Contributor
There was a problem hiding this comment.
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) forapache-sshd,apache-ivy,libbluray,plexus-velocity,resteasy,stringtemplate4,xbeanand section/preamble search-replace overlays forapache-ivy,dogtag-pki,jssto swapopenjdk21→openjdk25. - Promote previously inline components (
xbean,plexus-velocity,resteasy,stringtemplate4,gvfs) to dedicated*.comp.tomlfiles; pinstringtemplate4to a Fedora 44 commit; backport an--forceflag to xbean's%mvn_build. - Remove
libblurayandlibudfread(lock + rendered spec + publish-channel entries) and disablebluraysupport ingvfs.
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-openjdk21toant-openjdk25("libbluray: ant-openjdk21 -> ant-openjdk25"), but the actual change deletes thelibbluraycomponent 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.
…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>
ad184a2 to
b5ae3cb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
Section-scoped or broad spec-search-replace overlays are used where no tag form applies:
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: