The %%{1} in intermediate macros (jreportablearchive, etc.) delays
parameter substitution to the %{expand:...} pass, where it becomes
a simple text replacement without further macro expansion. This
causes %%{nil} passed from %files to appear literally in filenames.
Using %{?1} instead resolves the parameter during the first-pass
expansion where RPM properly expands %{nil} to empty. This also
handles .slowdebug/.fastdebug suffixes correctly since they are
plain strings that don't need further expansion.
The %%{nil} in %files call sites passes the literal string "%{nil}"
as an argument through the macro chain. Inside %(shell) execution,
RPM parameter substitution is a single-pass text replacement that
does not re-expand the result, so "%{nil}" appears literally in
filenames instead of expanding to empty.
Fix by using %{nil} (single %) at the call sites, which RPM expands
to empty before passing as an argument. Also revert the macro
definitions to their original upstream form.
The previous %{expand:%{1}} approach did not work because RPM
parameter substitution inside %(shell) is a single-pass text
replacement that does not re-expand the result. Instead, revert
to %{1} and pipe through a second sed to remove any literal
%{nil} that appears in the shell output.
Use %{expand:%{1}} instead of %{1} in the sed replacement of
jreportablenameimpl, jdkportablenameimpl, and
staticlibsportablenameimpl to force recursive macro expansion.
This ensures %{nil} passed from the %files section is properly
expanded to empty rather than appearing literally in filenames.
- Update release notes to 21.0.9+10
- Bump harfbuzz version to 11.2.0 following JDK-8355528
- Add NEWS corrections from Thomas
- Use double spacing consistently in notes for this release
- Correct 11u release reference to corresponding 21u release as pointed out by Kieran
** This tarball is embargoed until 2025-10-21 @ 1pm PT. **
Resolves: RHEL-118771
Resolves: RHEL-119468
- get_bundle_versions.sh: Add license
- get_bundle_versions.sh: Set compile-command in Emacs
- get_bundle_versions.sh: Use different error codes for different failures
- get_bundle_versions.sh: Remove unneeded '.' in JPEG version
- get_bundle_versions.sh: shellcheck: Double-quote variable references (SC2086)
- get_bundle_versions.sh: shellcheck: Drop use of cat and pass file to awk directly (SC2002)
Related: RHEL-103211
- Update release notes to 21.0.8+1
- Bump freetype version to 2.13.3 following JDK-8348596
- Bump harfbuzz version to 10.4.0 following JDK-8348597
- Bump lcms2 version to 2.17.0 following JDK-8348110
- Bump libpng version to 1.6.47 following JDK-8348598
- Switch to EA mode
- Drop JDK-8351500 local patch which is now available in 21.0.8+1 upstream
Related: RHEL-101803
This is largely enabling multiple architectures: jit, sa, shenandoah,
and zgc.
Based on:
https://gitlab.com/fedoravforce/java-21-openjdk/-/commit/cfaf825d54
Resolves: RHEL-92631
Thanks: Songsong Zhang <U2FsdGVkX1@gmail.com>
Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
- Update release notes to 21.0.7+6
- Rebase FIPS support against 21.0.7+5
- Require tzdata 2025a due to upstream inclusion of JDK-8347965
** This tarball is embargoed until 2025-04-15 @ 1pm PT. **
Resolves: RHEL-86986
Resolves: RHEL-86636
- Make javadoc packages depend on headless package for legal documentation
- Only include legal subdirectory in headless package, not demo, src & javadoc{,-zip}
Related: RHEL-78710