Compare commits

..

86 commits

Author SHA1 Message Date
Jiri Vanek
4d483d5093 Updated to jdk26 2025-12-23 13:11:27 +01:00
Jiri Vanek
573c2c7a36 fipsver df044414ef4 2025-12-12 15:47:22 +01:00
Jiri Vanek
d0dccee5d0 Switch from static-libs-image to static-libs-graal-image to avoid large unneeded libjvm.a 2025-12-12 14:29:57 +01:00
Jiri Vanek
8da764d82a Added support for build with devkit in rhel and building by fastdebug if possible 2025-12-08 17:05:10 +01:00
Jiri Vanek
1cdac5f811 BUmped to October 2025 CPU and made to build by itslef
by java-latest-openjdk instead of java-25-openjdk
2025-10-22 18:28:12 +02:00
Jiri Vanek
2748852214 BUmped release 2025-10-07 17:12:38 +02:00
Jiri Vanek
93d6522bfd Moved to build by itslef - jdk25 2025-10-07 16:58:30 +02:00
Jiri Vanek
7b169ddefa Split toolchains between el7 and epel8
This should return epel8 buildability, still maintain el7-like toolchain
and also work in rawhide/el10
2025-10-06 15:14:23 +02:00
Jiri Vanek
162e0d77cb removing revert8350202.patch again; skiping epel8 for now
maybe pernamently
2025-09-22 17:34:41 +02:00
Jiri Vanek
70e5657156 Returned revert8350202.patch; still needed on epel8 2025-09-22 17:25:54 +02:00
Jiri Vanek
05a84d9ee2 Bumped to jdk25 2025-09-22 11:36:37 +02:00
Fedora Release Engineering
1d7ca7d82e Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 17:55:42 +00:00
Jiri Vanek
8ff1c844a9 Reverted JDK-8350202 can not build on epel8 2025-07-21 20:16:42 +02:00
Jiri Vanek
31207ffae3 Updated to 24.0.2.0.12
minor changes:
 * added changelog
 * shenandoah included in risc arches
 * bumped bundled providfes
 * introduced XZ_OPTS to -T0
 * scripts moved to scritps dir
 * scripts passesd through spell check
2025-07-21 19:33:26 +02:00
Jiri
dafff6d4c1 Bumped release 2025-05-26 13:11:31 +02:00
Severin Gehwolf
87c794a095 Update to upstream patch for glibc 2.42 build failure 2025-05-26 11:09:35 +00:00
Severin Gehwolf
2681c6e177 Re-introduce JMODs archive tarball 2025-05-13 12:42:18 +02:00
Severin Gehwolf
fa56012985 Add --disable-absolute-paths-in-output to not need debugedit
The non-portable version of the build uses debugedit to modify
built in paths to source files in debuginfo files. By setting
--disable-absolute-paths-in-output we enable features added by
JDK-8323667 and JDK-8284437. This feature was already implicitly
used by the release build. Align release and fastdebug/slowdebug
builds.
2025-04-28 16:49:07 +02:00
Severin Gehwolf
f3a237805c Add patch for JDK-8355524, fixing a bug in JDK-8353185
There was a bug in the patch of JDK-8353185 which made the
tzdb.dat upgrade to not work.
2025-04-25 10:44:59 +02:00
Severin Gehwolf
73e20c5c38 Add patches for JDK-8353185 and JDK-8350137
Those are in the July CPU update (24.0.2). Add them ahead of
time.
2025-04-24 15:08:54 +02:00
Severin Gehwolf
4fa1f27dea Don't do custom debuginfo stripping
Use the --with-native-debug-symbols=external approach instead.
2025-04-23 11:15:36 +02:00
Severin Gehwolf
2f7e59623f Revert hash sum calculation patches 2025-04-22 18:22:01 +02:00
Severin Gehwolf
dcabb97227 Fix FTBFS in rawhide with GCC 15 2025-04-17 17:08:12 +02:00
Jiri Vanek
66b9ab625c Updated to security jdk-24.0.1+9
updated news
2025-04-16 15:28:05 +02:00
Jiri Vanek
f3ab962365 MAde unstripped jmodless jimage work and moved it to its own tarball
by regeneratign the hashsums again
2025-04-04 17:19:20 +02:00
Jiri
04c53a74b8 Set rpmrelease to 4
Yet again the autorelease complain that the build already exists
2025-04-02 17:59:23 +02:00
Severin Gehwolf
50c8797062 Use SHA overrides file for builds with internal debug symbols
This is so that the RPM installation can generate the overrides
based on the portable build.
2025-04-02 17:36:59 +02:00
Severin Gehwolf
fee42c2479 Add patches for linking from run-time image (RPM support) 2025-04-02 17:36:51 +02:00
Jiri Vanek
840cb43e58 Bumped to 24+36 and built by itself 2025-02-17 16:26:07 +01:00
Jiri Vanek
3cf747910c Fixed check by javap on classfiles symbols
-l without -c no longer prints necessary info
2025-02-02 13:14:40 +01:00
Jiri Vanek
94d10b8b2a Adjsuted NEWS for jdk24 2025-02-02 13:14:40 +01:00
Jiri Vanek
17dda09e75 Enabled jmod-less jlink capability and kept jmods
https://openjdk.org/jeps/493
2025-02-02 13:14:21 +01:00
Jiri Vanek
527abd4d5d Updated to jdk-24+34-ea 2025-02-02 12:19:55 +01:00
Jiri Vanek
5b0be33c4f NEWS 2025-01-27 17:34:38 +01:00
Jiri Vanek
b131ab378d Revert "Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild"
This reverts commit c469f03058.
2025-01-27 16:17:12 +01:00
Jiri Vanek
8aeb686da3 January CPU 2025 2025-01-27 16:16:34 +01:00
Fedora Release Engineering
c469f03058 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 07:41:46 +00:00
Jiri
552d7c1901 October CPU 2024-10-20 15:27:14 +02:00
Jiri
d5bdb14940 Moved to autorelease and autochagelog 2024-10-20 14:56:51 +02:00
Jiri
484457e91e Bumped to build by itself (23) 2024-10-20 14:55:24 +02:00
Jiri Vanek
25a204173d Fixed release 2024-09-25 09:35:09 +02:00
Jiri
bf3bbaef3b updated to jdk23
udpated NEWS (for JEPS) and README.md for 23 links
2024-09-24 18:49:28 +02:00
Miroslav Suchý
87d4598cb0 convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-09-02 09:00:37 +02:00
Jiri
c6f9958957 Updated news 2024-07-20 17:07:58 +02:00
Jiri
c8b2b4b72b July CPU 2024-07-20 17:01:48 +02:00
Jiri
886f9e259a Revert "Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild"
This reverts commit 9d54a54811.
2024-07-20 16:53:14 +02:00
Fedora Release Engineering
9d54a54811 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 10:51:39 +00:00
Jiri
0d5cc81b89 April CPU 2024-04-30 11:25:53 +02:00
Songsong Zhang
32252741f8 Add riscv64 support 2024-02-21 02:27:52 +00:00
Jiri
b6281fa044 bumped build jdk to 22 2024-02-17 12:18:12 +01:00
Jiri
f6de0e71b5 fixed condition for taspets 2024-02-17 09:22:03 +01:00
Jiri Vanek
a1b4ddc797 updated to 22+36
tmp comment out of ea exit 17
2024-02-16 17:52:24 +01:00
Jiri Vanek
0ef00754c6 Added chnagesets from Thomas Fitzimons to tune up generate_source_tarball.sh and openjdk_news.sh 2024-02-16 17:39:03 +01:00
Jiri
c57ff62ed2 Returned bcond_with artifacts 2024-01-26 15:31:55 +01:00
Jiri Vanek
d3b6e4820b cosmetic changes
- Move to -P<n> usage for patch macro which works on all RPM versions
- generate_source_tarball.sh: Add note on network usage of OPENJDK_LATEST
- generate_source_tarball.sh: Remove unneeded FIXME
- generate_source_tarball.sh: Add --sort=name to tar invocation for reproducibility
- generate_source_tarball.sh: Add WITH_TEMP environment variable
- generate_source_tarball.sh: Multithread xz on all available cores
- generate_source_tarball.sh: Add OPENJDK_LATEST environment variable
- generate_source_tarball.sh: Update comment about tarball naming
- generate_source_tarball.sh: Remove REPO_NAME from FILE_NAME_ROOT
- generate_source_tarball.sh: Set compile-command in Emacs
- generate_source_tarball.sh: Reformat comment header
- generate_source_tarball.sh: Reformat and update help output
- generate_source_tarball.sh: Move PROJECT_NAME and REPO_NAME checks
- generate_source_tarball.sh: Do a shallow clone, for speed
- generate_source_tarball.sh: Append -ea designator when required
- generate_source_tarball.sh: Eliminate some removal prompting
- generate_source_tarball.sh: Make tarball reproducible
- generate_source_tarball.sh: Prefix temporary directory with temp-
- generate_source_tarball.sh: shellcheck: Remove x-prefixes since we use Bash
- generate_source_tarball.sh: shellcheck: Double-quote variable references
- generate_source_tarball.sh: shellcheck: Do not use -a
- generate_source_tarball.sh: shellcheck: Do not use $ in expression
- generate_source_tarball.sh: Remove temporary directory exit conditions
2024-01-24 18:52:38 +01:00
Jiri Vanek
242a78f54c bumped to jdk22 (jdk-22+32)
manually renamed generated sources openjdk-jdk22u-jdk-22+32.tar.xz -> openjdk-22+32-ea.tar.xz
disabled patch 10001 fips patch for a short timebeing
  removed --disable-sysconf-nss v acordingly
removed patch6 jdk8009550-rh910107-fail_to_load_pcsc_library.patch; upstreamed
removed incorrect versioned java-devel requirements
disabled locales tests, as they currenlty (correctly fails)
2024-01-23 10:26:43 +01:00
Jiri Vanek
ff487763fc Fixed the component name in specfile 2024-01-19 16:32:41 +01:00
Jiri Vanek
f1d0e16cc1 Update to jdk-21.0.2+13 (GA)
- Update release notes to 21.0.2+13
- Drop no longer needed local patch to fix versioning
- ** This tarball is embargoed until 2024-01-16 @ 1pm PT. **
2024-01-18 16:25:21 +01:00
Jiri
a71185e830 Bumped release for build once/repack everywhere 2023-12-19 18:30:17 +01:00
Jiri
2b512f61b4 Function put to lowercase 2023-12-15 15:48:01 +01:00
Jiri
1d97cec83f replacing missues of altjava dir by standalone miscinstalldir 2023-12-14 20:00:03 +01:00
Jiri
5ab235ae09 Correctly escaping the suffxes regex 2023-12-14 19:59:34 +01:00
Jiri
2aed69fb8b replaced several -e by single OR expression, extracted duplicated suffixes 2023-12-14 15:44:10 +01:00
Jiri
2e9bc90b6c Added -p for generated sources dirs as they are created in lopp 2023-12-14 15:37:30 +01:00
Jiri
bade6a4d92 packing generated sources
It seems, that there are some more, and still some missing:
tar -tf /home/jvanek/rpmbuild/RPMS/x86_64/java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64.tar.xz
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/java-icon32.png
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/java-icon48.png
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/autoheaders/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/autoheaders/assemblyprefix.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/lsan/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/lsan/lsan_default_options.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/asan/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/asan/asan_default_options.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/ubsan/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/data/ubsan/ubsan_default_options.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/langtools/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/langtools/test/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk-21.0.1+12/make/langtools/test/HelloWorld.gold.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/classfile_constants.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/jdwpTransport.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/jvmticmlr.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/jni.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/linux/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/linux/jni_md.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/linux/jawt_md.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/jdk/include/jawt.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/dtracefiles/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/dtracefiles/hotspot.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/dtracefiles/hs_private.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/dtracefiles/hotspot_jni.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jfrfiles/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jfrfiles/jfrEventClasses.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jfrfiles/jfrEventControl.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jfrfiles/jfrTypes.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jfrfiles/jfrPeriodic.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jfrfiles/jfrEventIds.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jvmtifiles/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jvmtifiles/jvmti.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jvmtifiles/jvmtiEnter.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jvmtifiles/jvmtiEnterTrace.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/jvmtifiles/jvmtiEnv.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86_pipeline.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86_expand.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86_clone.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86_format.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86_gen.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/adGlobals_x86.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/dfa_x86.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86_peephole.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86_misc.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/gensrc/adfiles/ad_x86.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86_pipeline.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86_expand.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86_clone.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86_format.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86_gen.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/adGlobals_x86.hpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/dfa_x86.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86_peephole.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86_misc.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/hotspot/variant-server/support/adlc/ad_x86.cpp
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/jvmti.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/classfile_constants.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/jdwpTransport.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/jvmticmlr.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/jni.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/linux/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/linux/jni_md.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/linux/jawt_md.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/images/jdk/include/jawt.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.smartcardio/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.smartcardio/sun_security_smartcardio_PCSC.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.smartcardio/sun_security_smartcardio_PlatformPCSC.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.security.jgss/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.security.jgss/sun_security_jgss_wrapper_GSSLibStub.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.security.jgss/sun_security_krb5_SCDynamicStoreConfig.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.security.jgss/sun_security_krb5_Config.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.security.jgss/sun_security_krb5_Credentials.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_aarch64_AARCH64ThreadContext.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_linux_amd64_DwarfParser.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_asm_Disassembler.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_riscv64_RISCV64ThreadContext.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_ppc64_PPC64ThreadContext.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_x86_X86ThreadContext.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_windbg_WindbgDebuggerLocal.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.hotspot.agent/sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.prefs/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.prefs/java_util_prefs_FileSystemPreferences.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.rmi/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.rmi/sun_rmi_transport_GC.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Object.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_FileKey.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_net_Inet6Address.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_net_SocketOptions.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_jimage_NativeImageBuffer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_platform_CgroupMetrics.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_vm_VMSupport.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_ProcessHandleImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_ProcessImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_fs_UnixNativeDispatcher.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_EventFD.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Thread.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_vm_vector_VectorSupport.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_util_zip_Adler32.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_EPoll.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_loader_RawNativeLibraries.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_DatagramChannelImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_reflect_Array.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_PollSelectorImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_SocketDispatcher.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_fs_UnixFileSystem.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_UnixFileDispatcherImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_StackStreamFactory_AbstractStackWalker.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_reflect_NativeConstructorAccessorImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_reflect_ConstantPool.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Double.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_net_NetworkInterface.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_nio_MappedMemoryUtils.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_net_spi_DefaultProxySelector.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_ProcessHandleImpl_Info.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Throwable.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_FileDescriptor.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_security_AccessController.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_ObjectStreamClass.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_ref_Finalizer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_util_zip_Deflater.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_security_SystemConfigurator.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_ProcessEnvironment.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_misc_VM.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_invoke_MethodHandle.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Module.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_ClassLoader.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_VirtualThread.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_RandomAccessFile.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_misc_Signal.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_invoke_VarHandle.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_fs_LinuxNativeDispatcher.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_misc_Unsafe.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_reflect_DirectConstructorHandleAccessor_NativeAccessor.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_UnixFileSystem.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_net_dns_ResolverConfigurationImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_FileDispatcherImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_InheritedChannel.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_reflect_DirectMethodHandleAccessor_NativeAccessor.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Runtime.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_net_Inet6AddressImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_invoke_MethodHandleNatives.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_foreign_abi_UpcallStubs.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Class.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_util_zip_CRC32.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_UnixDispatcher.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_net_Inet4Address.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_misc_ScopedMemoryAccess.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_net_InetAddress.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_util_zip_Inflater.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_Net.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_misc_PreviewFeatures.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_StackStreamFactory.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_vm_Continuation.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_String.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_fs_LinuxWatchService.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_net_spi_InetAddressResolver_LookupPolicy.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_DatagramDispatcher.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_vm_ContinuationSupport.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_ref_PhantomReference.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_reflect_Executable.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_Console.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Float.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_FileInputStream.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_NativeSocketAddress.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_FileOutputStream.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_FileSystem.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_ref_Reference.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_loader_NativeLibraries.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_UnixAsynchronousSocketChannelImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Shutdown.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_NullPointerException.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_vm_ForeignLinkerSupport.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_net_PortConfig.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_io_JdkConsoleImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_IOStatus.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_System.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_misc_CDS.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_util_SystemProps_Raw.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_reflect_Field.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_util_TimeZone.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_StringUTF16.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_util_concurrent_atomic_AtomicLong.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_StackTraceElement.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_net_Inet4AddressImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_reflect_Reflection.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_io_FileCleanable.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_invoke_LambdaProxyClassArchive.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_loader_BootLoader.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_foreign_abi_UpcallLinker.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_loader_NativeLibrary.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_foreign_abi_NativeEntryPoint.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_UnixDomainSockets.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_SecurityManager.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Long.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/java_lang_Integer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_NativeThread.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_foreign_abi_fallback_LibFallback.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_perf_Perf.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_net_sdp_SdpSupport.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/sun_nio_ch_IOUtil.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.base/jdk_internal_reflect_NativeMethodAccessorImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.attach/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.attach/sun_tools_attach_VirtualMachineImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.jdwp.agent/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.jdwp.agent/JDWPCommands.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.net/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.net/jdk_net_LinuxSocketOptions.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.security.auth/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.security.auth/com_sun_security_auth_module_UnixSystem.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.security.auth/com_sun_security_auth_module_NTSystem.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management.agent/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management.agent/jdk_internal_agent_FileSystemImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.jfr/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.jfr/jdk_jfr_internal_JVM.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.internal.le/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.internal.le/jdk_internal_org_jline_terminal_impl_jna_linux_CLibraryImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/sun_management_MemoryManagerImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/sun_management_VMManagementImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/sun_management_MemoryPoolImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/sun_management_ThreadImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/sun_management_HotspotThread.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/sun_management_ClassLoadingImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/sun_management_MemoryImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.management/sun_management_GarbageCollectorImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.sctp/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.sctp/sun_nio_ch_sctp_SctpNet.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.sctp/sun_nio_ch_sctp_SctpStdSocketOption.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.sctp/sun_nio_ch_sctp_PeerAddrChange.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.sctp/sun_nio_ch_sctp_ResultContainer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.sctp/sun_nio_ch_sctp_SctpChannelImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.sctp/sun_nio_ch_sctp_AssociationChange.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_DrawRect.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_FontDescriptor.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_Platform.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_InputEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_UNIXToolkit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_MenuItem.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_StrikeCache.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_BasicStroke.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_XToolkit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_DrawPolygons.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_xr_XRMaskBlit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_x11_X11SurfaceData.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_JPEGImageDecoder.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_SunHints.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_cmm_lcms_LCMS.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_Blit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_BufferedMaskBlit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_BytePackedRaster.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_GifImageDecoder.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_MidiOutDeviceProvider.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Event.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_xr_XRSurfaceData.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_screencast_ScreencastHelper.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Transparency.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_GLXSurfaceData.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_ScaledBlit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Toolkit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_MaskFill.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_XInputMethod.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_Raster.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Dialog.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_BufferedImage.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_imageio_plugins_jpeg_JPEGImageReader.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_ColorGlyphSurfaceData.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_xr_XIDGenerator.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_color_ColorSpace.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_BufImgSurfaceData.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_java_swing_plaf_gtk_GTKEngine.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_ImageRepresentation.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11GraphicsEnvironment.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_TransformBlit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_NullFontScaler.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_MenuBar.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_OGLMaskFill.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Dimension.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_PortMixerProvider.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_NativeFont.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_ShortComponentRaster.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_BufferedOpCodes.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_FreetypeFontScaler.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Container.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_BufferedTextPipe.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_DataBuffer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_GraphicsPrimitiveMgr.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_X11TextRenderer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_SampleModel.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11GraphicsConfig.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_AWTEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Menu.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_OGLTextRenderer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_hw_AccelSurface.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Rectangle.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_BufferedRenderPipe.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_SinglePixelPackedSampleModel.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_InputMethodEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Choice.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_SystemColor.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_XDesktopPeer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_DrawLine.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_DrawGlyphListAA.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_XRobotPeer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_FileFontStrike.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_ImagingLib.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_FillSpans.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_MidiInDeviceProvider.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_BufferedPaints.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_BufferedContext.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Insets.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_print_Pageable.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_SunGraphics2D.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_FcFontManager.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Label.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_AlphaComposite.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_Region.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_DirectAudioDeviceProvider.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_ComponentEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_PortMixer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_AdjustmentEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Checkbox.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_MidiInDevice.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_print_CUPSPrinter.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_SpanClipRenderer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_DrawGlyphListLCD.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_imageio_plugins_jpeg_JPEGImageWriter.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_DataBufferNative.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_print_PageFormat.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_xr_XRMaskFill.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11GraphicsDevice.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_DrawPath.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_FillParallelogram.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_MidiOutDevice.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Adjustable.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_WindowEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_AffineTransformOp.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_CheckboxMenuItem.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_IndexColorModel.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_SurfaceData.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_dnd_DnDConstants.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_java_swing_plaf_gtk_GTKStyle.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_MaskBlit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_DisplayMode.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Font.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_GLXGraphicsConfig.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_XWindow.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_FontMetrics.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_MouseWheelEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_DrawParallelogram.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_SunToolkit.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_TextField.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_MenuComponent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_ConvolveOp.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Scrollbar.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_FillPath.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_FileDialog.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_pipe_ShapeSpanIterator.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_XWindowPeer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_TransformHelper.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_NativeStrikeDisposer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_OGLRenderQueue.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_ByteComponentRaster.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_OGLBlitLoops.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_XTaskbarPeer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_XlibWrapper.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_OGLRenderer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Color.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Component.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_SplashScreen.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_OGLSurfaceData.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_OGLContext_OGLContextCaps.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_DrawGlyphList.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_x11_X11PMBlitBgLoops.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_xr_XRBackendNative.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Frame.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_ScrollPaneAdjustable.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_DefaultDisposerRecord.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_SunLayoutEngine.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11_GtkFileDialogPeer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_FontConfigManager.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_opengl_OGLContext.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_FillRect.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_NativeStrike.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Window.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_image_IntegerComponentRaster.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_Disposer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_TrayIcon.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_KeyboardFocusManager.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_PlatformFont.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/com_sun_media_sound_DirectAudioDevice.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Cursor.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_font_SunFontManager.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_x11_XSurfaceData.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_ScrollPane.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_Kernel.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_KeyEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_TextArea.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_x11_X11PMBlitLoops.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_loops_BlitBg.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_x11_X11Renderer.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_X11InputMethodBase.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_MouseEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_geom_PathIterator.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_event_ActionEvent.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_awt_DebugSettings.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_image_ColorModel.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/sun_java2d_cmm_lcms_LCMSImageLayout.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.desktop/java_awt_Button.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.internal.vm.ci/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.internal.vm.ci/jdk_vm_ci_runtime_JVMCI.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.internal.vm.ci/jdk_vm_ci_hotspot_CompilerToVM.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.instrument/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/java.instrument/sun_instrument_InstrumentationImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.crypto.cryptoki/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.crypto.cryptoki/sun_security_pkcs11_Secmod.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.crypto.cryptoki/sun_security_pkcs11_wrapper_PKCS11.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management/com_sun_management_internal_HotSpotDiagnostic.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management/com_sun_management_internal_Flag.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management/com_sun_management_internal_DiagnosticCommandImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management/com_sun_management_internal_OperatingSystemImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management/com_sun_management_internal_GarbageCollectorExtImpl.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/headers/jdk.management/com_sun_management_internal_GcInfoBuilder.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/interim-image/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/interim-image/include/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/interim-image/include/jvmti.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/interim-image/include/classfile_constants.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/interim-image/include/jvmticmlr.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/interim-image/include/jni.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/interim-image/include/linux/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/interim-image/include/linux/jni_md.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.base/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.base/jvmti.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.base/classfile_constants.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.base/jvmticmlr.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.base/jni.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.base/linux/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.base/linux/jni_md.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/jdk.jdwp.agent/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/jdk.jdwp.agent/jdwpTransport.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.desktop/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.desktop/linux/
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.desktop/linux/jawt_md.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/generated_sources/jdk21.build/support/modules_include/java.desktop/jawt.h
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/alt-java
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/java-icon16.png
java-21-openjdk-21.0.1.0.12-3.rolling.fc38.portable.misc.x86_64/java-icon24.png
2023-12-14 14:09:42 +01:00
Jiri Vanek
4b38c2140b removed duplicated info line 2023-11-29 18:03:42 +01:00
Jiri
8a7656ebac redirected bugs to non portable compoment 2023-11-29 11:09:35 +01:00
Jiri
0066a17fe1 cosmetic changes
removed unused macros
better comments
more quotings
2023-11-23 15:15:45 +01:00
Jiri Vanek
e4459f4dcc moved docs and miscs to release-only condition 2023-11-22 13:43:01 +01:00
Jiri Vanek
26504dac4c restricted to java-arches 2023-11-21 16:02:43 +01:00
Jiri Vanek
1eb10e704b updated to OpenJDK 21.0.1 (2023-10-17)
- adjsuted generate_source_tarball
- removed icedtea_sync
- dropped standalone licenses
- added usntripped subpkg
- added docs subpkg
- adjsuted versions of bundled libraries
- build refactored to several solid methods following gnu_andrew
- removed no longer needed jdk8296108-tzdata2022f.patch, jdk8296715-cldr2022f.patch, rh1648644-java_access_bridge_privileged_security.patch
- added jdk8311630-s390_ffmapi.patch to support virtual threads on s390x
- aligned fips-21u-75ffdc48eda.patch (gnu_andrew)
2023-11-21 15:48:46 +01:00
Jiri
898c425bb6 Returned misteriously disapeared line 2023-09-20 21:39:53 +02:00
Jiri
9e5764b72d removed %{1} from misc 2023-09-20 21:36:50 +02:00
Andrew John Hughes
4ec83bb3a6 Sync with upcoming java-21-openjdk package in RHEL
- Update documentation (README.md, add missing JEP to release notes)
- Replace alt-java patch with a binary separate from the JDK
- Drop stale patches that are of little use any more:
- * nss.cfg has been disabled since early PKCS11 work and long superseded by FIPS work
- * No accessibility subpackage to warrant RH1648242 patch any more
- * No use of system libjpeg turbo to warrant RH649512 patch any more
- Replace RH1684077 pcsc-lite-libs patch with better JDK-8009550 fix being upstreamed
- Update generate_tarball.sh to sync with upstream vanilla script
- Change top_level_dir_name to use the VCS tag, matching new upstream release style tarball
- Use upstream release URL for OpenJDK source
- Port misc tarball from RHEL to house alt-java outside the JDK tree
- Port improved tarball creation and checking from RHEL so tarballs are verified
2023-09-15 18:23:53 +01:00
Andrew John Hughes
fff7874101 Bump buildjdkver now that java-21-openjdk is available in the buildroot 2023-09-14 16:14:32 +01:00
Jiri Vanek
f6cdd00fde updated to jdk-21+35, which is no longer EA 2023-08-28 16:04:28 +02:00
Petra Alice Mikova
fd0dca9bab Update NEWS file with some missed JEPs 2023-08-25 10:06:40 +02:00
Petra Alice Mikova
a238aebf8e Update FIPS support to bring in latest changes
- * RH2048582: Support PKCS#12 keystores
- * RH2020290: Support TLS 1.3 in FIPS mode
- * Add nss.fips.cfg support to OpenJDK tree
- * RH2117972: Extend the support for NSS DBs (PKCS11) in FIPS mode
- * Remove forgotten dead code from RH2020290 and RH2104724
- * OJ1357: Fix issue on FIPS with a SecurityManager in place
- * RH2134669: Add missing attributes when registering services in FIPS mode.
- * test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class
- * RH1940064: Enable XML Signature provider in FIPS mode
- * Remove GCC minor versioning (JDK-8284772) to unbreak testing
- Drop local nss.fips.cfg.in handling now this is handled in the patched OpenJDK build
- require tzdata 2023c
2023-08-25 09:14:14 +02:00
Petra Alice Mikova
43b5b84321 Modified README.md, NEWS file 2023-08-22 13:03:27 +02:00
Petra Alice Mikova
dee0f27293 Update to JDK21 ea version
- initial update to jdk21
- commented out fips patches
- updated to jdk21 ea
- updated patch 1001 - rh1648249-add_commented_out_nss_cfg_provider_to_java_security
- replaced files used for static libs smoke tests
2023-08-09 13:34:37 +02:00
Jiri Vanek
27c4a8f2a9 Removed wrong, rcms .1 2023-08-04 15:36:25 +02:00
Jiri Vanek
78e31cb2a6 Finished release notes 2023-08-03 18:39:00 +02:00
Jiri Vanek
d4939813c1 Updated to 20.0.2 2023-08-03 18:24:31 +02:00
Fedora Release Engineering
ca9d901084 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 07:54:02 +00:00
Kalev Lember
3cc86460bc Simplify portable archive name macros
Avoid using fragile regex and instead match on "%{version}-%{release}"
to do the substitutions.

This should make it both simpler (avoiding separate rhel7 conditional)
and more robust in case the build system sets a different dist tag than
what the regex expected.
2023-06-28 16:25:52 +02:00
Jiri
030257700b Redeclared ForFiles release sections as %%nil no longer works with %%1
RPM 4.19 no longer accept our double percentaged %%{nil} passed to %%{1}
so we have to pass in "" but evaluate it, otherwise files record will include it
2023-06-14 22:01:59 +02:00
29 changed files with 2589 additions and 4975 deletions

26
.gitignore vendored
View file

@ -33,3 +33,29 @@
/openjdk-jdk19u-jdk-19.0.2+7.tar.xz
/openjdk-jdk20u-jdk-20+36.tar.xz
/openjdk-jdk20u-jdk-20.0.1+9.tar.xz
/openjdk-jdk20u-jdk-20.0.2+9.tar.xz
/openjdk-jdk21u-jdk-21+34.tar.xz
/openjdk-jdk21u-jdk-21+35.tar.xz
/openjdk-21+35.tar.xz
/openjdk-21.0.1+12.tar.xz
/openjdk-21.0.2+11.tar.xz
/openjdk-21.0.2+12.tar.xz
/openjdk-21.0.2+13.tar.xz
/openjdk-22+32-ea.tar.xz
/openjdk-jdk-22+36-ea.tar.xz
/openjdk-jdk-22.0.1+8.tar.xz
/openjdk-jdk-22.0.2+9.tar.xz
/openjdk-jdk-23+37.tar.xz
/openjdk-jdk-23.0.1+11.tar.xz
/openjdk-23.0.2+7.tar.xz
/openjdk-24+34-ea.tar.xz
/openjdk-24+36.tar.xz
/openjdk-24.0.1+9.tar.xz
/openjdk-24.0.2+12.tar.xz
/openjdk-25+13-ea.tar.xz
/openjdk-25+26-ea.tar.xz
/openjdk-25+32-ea.tar.xz
/openjdk-jdk-25+36.tar.xz
/openjdk-25+36.tar.xz
/openjdk-25.0.1+8.tar.xz
/openjdk-26+29-ea.tar.xz

View file

@ -0,0 +1,154 @@
diff --git a/make/Bundles.gmk b/make/Bundles.gmk
index 8161b3b036254..0b324e7e3f3fc 100644
--- a/make/Bundles.gmk
+++ b/make/Bundles.gmk
@@ -185,77 +185,30 @@ endif
ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
- SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.map
-
- # There may be files with spaces in the names, so use ShellFindFiles
- # explicitly.
+ # There may be files with spaces in the names, so use ShellFindFiles explicitly.
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
- ifneq ($(JDK_IMAGE_DIR), $(JDK_SYMBOLS_IMAGE_DIR))
- ALL_JDK_SYMBOLS_FILES := $(call ShellFindFiles, $(JDK_SYMBOLS_IMAGE_DIR))
- else
- ALL_JDK_SYMBOLS_FILES := $(ALL_JDK_FILES)
- endif
ifneq ($(JDK_IMAGE_DIR), $(JDK_DEMOS_IMAGE_DIR))
ALL_JDK_DEMOS_FILES := $(call ShellFindFiles, $(JDK_DEMOS_IMAGE_DIR))
else
ALL_JDK_DEMOS_FILES := $(ALL_JDK_FILES)
endif
- # Create special filter rules when dealing with unzipped .dSYM directories on
- # macosx
- ifeq ($(call isTargetOs, macosx), true)
- ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
- JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
- $(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, \
- $(ALL_JDK_SYMBOLS_FILES))))
- endif
- endif
-
- # Create special filter rules when dealing with debug symbols on windows
- ifeq ($(call isTargetOs, windows), true)
- ifeq ($(SHIP_DEBUG_SYMBOLS), )
- JDK_SYMBOLS_EXCLUDE_PATTERN := %.pdb
- endif
- endif
-
JDK_BUNDLE_FILES := \
$(filter-out \
- $(JDK_SYMBOLS_EXCLUDE_PATTERN) \
$(JDK_EXTRA_EXCLUDES) \
- $(SYMBOLS_EXCLUDE_PATTERN) \
$(JDK_IMAGE_HOMEDIR)/demo/% \
, \
$(ALL_JDK_FILES) \
)
- JDK_SYMBOLS_BUNDLE_FILES := \
- $(call FindFiles, $(SYMBOLS_IMAGE_DIR))
+ JDK_SYMBOLS_BUNDLE_FILES := $(call FindFiles, $(SYMBOLS_IMAGE_DIR))
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
$(ALL_JDK_DEMOS_FILES))
ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))
- # Create special filter rules when dealing with unzipped .dSYM directories on
- # macosx
- ifeq ($(OPENJDK_TARGET_OS), macosx)
- ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
- JRE_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
- $(call containing, .dSYM/, $(patsubst $(JRE_IMAGE_DIR)/%, %, $(ALL_JRE_FILES))))
- endif
- endif
-
- # Create special filter rules when dealing with debug symbols on windows
- ifeq ($(call isTargetOs, windows), true)
- ifeq ($(SHIP_DEBUG_SYMBOLS), )
- JRE_SYMBOLS_EXCLUDE_PATTERN := %.pdb
- endif
- endif
-
- JRE_BUNDLE_FILES := $(filter-out \
- $(JRE_SYMBOLS_EXCLUDE_PATTERN) \
- $(SYMBOLS_EXCLUDE_PATTERN), \
- $(ALL_JRE_FILES))
+ JRE_BUNDLE_FILES := $(ALL_JRE_FILES)
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
# Macosx release build and code signing available.
diff --git a/make/CreateJmods.gmk b/make/CreateJmods.gmk
index 3280b24924a34..32f107b6bb6a0 100644
--- a/make/CreateJmods.gmk
+++ b/make/CreateJmods.gmk
@@ -218,10 +218,14 @@ ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.pdb,*.map}'
else
- JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.map}'
+ JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.map}'
endif
else
- JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
+ ifeq ($(SHIP_DEBUG_SYMBOLS), )
+ JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
+ else
+ JMOD_FLAGS += --exclude '**{_the.*,_*.marker*}'
+ endif
endif
# Unless we are creating a very large module, use the small tool JVM options
diff --git a/make/autoconf/jdk-options.m4 b/make/autoconf/jdk-options.m4
index bb18877800192..87d147d4f074b 100644
--- a/make/autoconf/jdk-options.m4
+++ b/make/autoconf/jdk-options.m4
@@ -316,23 +316,36 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
AC_ARG_WITH([external-symbols-in-bundles],
[AS_HELP_STRING([--with-external-symbols-in-bundles],
- [which type of external native debug symbol information shall be shipped in product bundles (none, public, full)
- (e.g. ship full/stripped pdbs on Windows) @<:@none@:>@])])
+ [which type of external native debug symbol information shall be shipped with bundles/images (none, public, full).
+ @<:@none in release builds, full otherwise. --with-native-debug-symbols=external/zipped is a prerequisite. public is only supported on Windows@:>@])],
+ [],
+ [with_external_symbols_in_bundles=default])
if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
AC_MSG_RESULT([no])
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
- if test "x$OPENJDK_TARGET_OS" != xwindows ; then
- AC_MSG_ERROR([--with-external-symbols-in-bundles currently only works on windows!])
- elif test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
- AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external is used!])
- elif test "x$with_external_symbols_in_bundles" = xfull ; then
+ if test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
+ AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external/zipped is used!])
+ elif test "x$with_external_symbols_in_bundles" = xpublic && test "x$OPENJDK_TARGET_OS" != xwindows ; then
+ AC_MSG_ERROR([--with-external-symbols-in-bundles=public is only supported on Windows!])
+ fi
+
+ if test "x$with_external_symbols_in_bundles" = xfull ; then
AC_MSG_RESULT([full])
SHIP_DEBUG_SYMBOLS=full
else
AC_MSG_RESULT([public])
SHIP_DEBUG_SYMBOLS=public
fi
+ elif test "x$with_external_symbols_in_bundles" = xdefault ; then
+ if test "x$DEBUG_LEVEL" = xrelease ; then
+ AC_MSG_RESULT([no (default)])
+ elif test "x$COPY_DEBUG_SYMBOLS" = xtrue ; then
+ AC_MSG_RESULT([full (default)])
+ SHIP_DEBUG_SYMBOLS=full
+ else
+ AC_MSG_RESULT([no (default, native debug symbols are not external/zipped)])
+ fi
else
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
fi

720
NEWS
View file

@ -3,51 +3,100 @@ Key:
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
New in release OpenJDK 20.0.1 (2023-04-18):
New in release OpenJDK 25.0.1 (2025-10-21):
===========================================
* CVEs
- CVE-2023-21930
- CVE-2023-21937
- CVE-2023-21938
- CVE-2023-21939
- CVE-2023-21967
- CVE-2023-21968
* Security fixes
- JDK-8287404: Improve ping times
- JDK-8288436: Improve Xalan supports
- JDK-8294474: Better AES support
- JDK-8295304: Runtime support improvements
- JDK-8296676, JDK-8296622: Improve String platform support
- JDK-8296684: Improve String platform support
- JDK-8296692: Improve String platform support
- JDK-8296832: Improve Swing platform support
- JDK-8297371: Improve UTF8 representation redux
- JDK-8298310: Enhance TLS session negotiation
- JDK-8298667: Improved path handling
- JDK-8299129: Enhance NameService lookups
* Other changes
- JDK-8208077: File.listRoots performance degradation
- JDK-8245654: Add Certigna Root CA
- JDK-8278965: crash in SymbolTable::do_lookup
- JDK-8295951: intermittent cmp_baseline task failures with CDS files
- JDK-8299194: CustomTzIDCheckDST.java may fail at future date
- JDK-8299843: Bump version numbers for 20.0.1
- JDK-8299947: Change milestone to fcs for all releases
- JDK-8301123: Enable Symbol refcounting underflow checks in PRODUCT
- JDK-8301858: Verification error when compiling switch with record patterns
- JDK-8301876: Crash in DumpTimeClassInfo::add_verification_constraint
- JDK-8302202: Incorrect desugaring of null-allowed nested patterns
- JDK-8302879: doc/building.md update link to jtreg builds
- JDK-8303412: Update linux_x64-to-linux_aarch64 cross compilation devkit at Oracle
- CVE-2025-53057
- CVE-2025-53066
- CVE-2025-61748
* Changes
- JDK-8315131: Clarify VarHandle set/get access on 32-bit platforms
- JDK-8352637: Enhance bytecode verification
- JDK-8356294: Enhance Path Factories
- JDK-8356587: Missing object ID X in pool jdk.types.Method
- JDK-8357826: Avoid running some jtreg tests when asan is configured
- JDK-8358452: JNI exception pending in Java_sun_awt_screencast_ScreencastHelper_remoteDesktopKeyImpl of screencast_pipewire.c:1214 (ID: 51119)
- JDK-8358577: Test serviceability/jvmti/thread/GetCurrentContendedMonitor/contmon01/contmon01.java failed: unexpexcted monitor object
- JDK-8358819: The first year is not displayed correctly in Japanese Calendar
- JDK-8359059: Bump version numbers for 25.0.1
- JDK-8359218: RISC-V: Only enable CRC32 intrinsic when AvoidUnalignedAccess == false
- JDK-8359270: C2: alignment check should consider base offset when emitting arraycopy runtime call
- JDK-8359454: Enhance String handling
- JDK-8359596: Behavior change when both -Xlint:options and -Xlint:-options flags are given
- JDK-8360179: RISC-V: Only enable BigInteger intrinsics when AvoidUnalignedAccess == false
- JDK-8360533: ContainerRuntimeVersionTestUtils fromVersionString fails with some docker versions
- JDK-8360647: [XWayland] [OL10] NumPad keys are not triggered
- JDK-8360679: Shenandoah: AOT saved adapter calls into broken GC barrier stub
- JDK-8360937: Enhance certificate handling
- JDK-8361212: Remove AffirmTrust root CAs
- JDK-8361532: RISC-V: Several vector tests fail after JDK-8354383
- JDK-8361829: [TESTBUG] RISC-V: compiler/vectorization/runner/BasicIntOpTest.java fails with RVV but not Zvbb
- JDK-8362109: Change milestone to fcs for all releases
- JDK-8362882: Update SubmissionPublisher() specification to reflect use of ForkJoinPool.asyncCommonPool()
- JDK-8366223: ZGC: ZPageAllocator::cleanup_failed_commit_multi_partition is broken
- JDK-8367031: [backout] Change java.time month/day field types to 'byte'
- JDK-8368308: ISO 4217 Amendment 180 Update
New in release OpenJDK 20.0.0 (2023-03-21):
Notes on individual issues:
===========================
core-libs/java.io:serialization:
JDK-8367031: [backout] Change java.time month/day field types to 'byte'
=======================================================================
In the initial release of OpenJDK 25, attempting to read serialised
Class objects created by earlier versions of OpenJDK for several of
the `java.time` classes would fail with a
`InvalidClassException`. Similarly, `java.time` Class objects
serialised with OpenJDK 25 could not be read by older OpenJDK
versions. This was due to the type of the day and month fields in
these classes being changed to `byte`. This change has now been
reverted and compatibility between OpenJDK 25 and older versions
restored.
Note that this incompatibility occurred with the `Class` object and
not an instance of the object i.e. `writeObject(LocalDate.class)`
would produce incompatible serialised data, but
`writeObject(LocalDate.now())` would not.
security-libs/java.security:
JDK-8361212: Remove AffirmTrust root CAs
========================================
The following root certificates from AffirmTrust, which were
deactivated in the 21.0.5 release of October 2024, have been removed
from the `cacerts` keystore:
Alias name: affirmtrustcommercialca [jdk]
CN=AffirmTrust Commercial
O=AffirmTrust
C=US
SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
Alias name: affirmtrustnetworkingca [jdk]
CN=AffirmTrust Networking
O=AffirmTrust
C=US
SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0B4:1B
Alias name: affirmtrustpremiumca [jdk]
CN=AffirmTrust Premium
O=AffirmTrust
C=US
SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
Alias name: affirmtrustpremiumeccca [jdk]
CN=AffirmTrust Premium ECC
O=AffirmTrust
C=US
SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
New in release OpenJDK 25.0.0 (2025-09-16):
===========================================
Major changes are listed below. Some changes may have been backported
to earlier releases following their first appearance in OpenJDK 20.
The full list of changes in 20u can be found at:
- * https://builds.shipilev.net/backports-monitor/release-notes-20.txt
to earlier releases following their first appearance in OpenJDK 22
through to 25.
NEW FEATURES
============
@ -55,52 +104,124 @@ NEW FEATURES
Language Features
=================
Pattern Matching for switch
===========================
https://openjdk.org/jeps/406
https://openjdk.org/jeps/420
https://openjdk.org/jeps/427
https://openjdk.org/jeps/433
Flexible Constructor Bodies
============================
https://openjdk.org/jeps/447
https://openjdk.org/jeps/482
https://openjdk.org/jeps/492
https://openjdk.org/jeps/513
Enhance the Java programming language with pattern matching for
`switch` expressions and statements, along with extensions to the
language of patterns. Extending pattern matching to `switch` allows an
expression to be tested against a number of patterns, each with a
specific action, so that complex data-oriented queries can be
expressed concisely and safely.
In constructors in the Java programming language, allow statements to
appear before an explicit constructor invocation, i.e., super(..) or
this(..). The statements cannot reference the instance under
construction, but they can initialize its fields. Initializing fields
before invoking another constructor makes a class more reliable when
methods are overridden.
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
in OpenJDK 17 (JEP 406), which saw a second preview in OpenJDK 18 (JEP
420) and a third in OpenJDK 19 (JEP 427). It reaches its fourth
preview (JEP 427) in OpenJDK 20.
This language feature is now finalised (JEP 513). It was first
introduced as a preview language feature
(http://openjdk.java.net/jeps/12) in OpenJDK 22 (JEP 447) under the
name "Statements before super(...)". It reached a second preview in
OpenJDK 23 (JEP 482) with the addition of allowing fields to be
initialized before invoking another constructor. It reached a third
preview in OpenJDK 24 (JEP 492).
Record Patterns
===============
https://openjdk.org/jeps/405
https://openjdk.org/jeps/432
Unnamed Patterns and Variables
==============================
https://openjdk.org/jeps/443
https://openjdk.org/jeps/456
Enhance the Java programming language with record patterns to
deconstruct record values. Record patterns and type patterns can be
nested to enable a powerful, declarative, and composable form of data
navigation and processing.
Enhance the Java language with unnamed patterns, which match a record
component without stating the component's name or type, and unnamed
variables, which can be initialized but not used. Both are denoted by
an underscore character, _.
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
in OpenJDK 19 (JEP 405). It reaches its second preview (JEP 432) in
OpenJDK 20.
This feature is now finalised (JEP 456). It was a preview feature
(http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP 443).
Primitive Types in Patterns, instanceof, and switch
===================================================
https://openjdk.org/jeps/455
https://openjdk.org/jeps/488
https://openjdk.org/jeps/507
Enhance pattern matching by allowing primitive type patterns in all
pattern contexts, and extend instanceof and switch to work with all
primitive types.
This is a preview language feature (http://openjdk.java.net/jeps/12)
introduced in OpenJDK 23 (JEP 455) with a second preview in OpenJDK 24
(JEP 488) and reaching a third in OpenJDK 25 (JEP 507).
Module Import Declarations
==========================
https://openjdk.org/jeps/476
https://openjdk.org/jeps/494
https://openjdk.org/jeps/511
Enhance the Java programming language with the ability to succinctly
import all of the packages exported by a module. This simplifies the
reuse of modular libraries, but does not require the importing code to
be in a module itself.
This language feature is now finalised (JEP 511). It was introduced as
a preview language feature (http://openjdk.java.net/jeps/12) in
OpenJDK 23 (JEP 476) and had a second preview in OpenJDK 24 (JEP 494).
Library Features
================
Scoped Values
=============
https://openjdk.org/jeps/429
Foreign Function & Memory API
=============================
https://openjdk.org/jeps/412
https://openjdk.org/jeps/419
https://openjdk.org/jeps/424
https://openjdk.org/jeps/434
https://openjdk.org/jeps/442
https://openjdk.org/jeps/454
Introduce scoped values, which enable the sharing of immutable data
within and across threads. They are preferred to thread-local
variables, especially when using large numbers of virtual threads.
Introduce an API by which Java programs can interoperate with code and
data outside of the Java runtime. By efficiently invoking foreign
functions (i.e., code outside the JVM), and by safely accessing
foreign memory (i.e., memory not managed by the JVM), the API enables
Java programs to call native libraries and process native data without
the brittleness and danger of JNI.
This is an incubation feature (https://openjdk.java.net/jeps/11)
introduced in OpenJDK 20 (JEP 429).
This API is now finalised (JEP 454). It was first introduced in
incubation (https://openjdk.java.net/jeps/11) in OpenJDK 17 (JEP 412),
and is an evolution of the Foreign Memory Access API (OpenJDK 14
through 16) and Foreign Linker API (OpenJDK 16) (see release notes for
java-17-openjdk). OpenJDK 18 saw a second round of incubation (JEP
419) before its inclusion as a preview feature
(http://openjdk.java.net/jeps/12) in OpenJDK 19 (JEP 424). A second
preview took place in OpenJDK 20 (JEP 434) and a third and final
preview in OpenJDK 21 (JEP 442).
Prepare to Restrict the Use of JNI
==================================
https://openjdk.org/jeps/472
Issue warnings about uses of the Java Native Interface (JNI) and
adjust the Foreign Function & Memory (FFM) API to issue warnings in a
consistent manner. All such warnings aim to prepare developers for a
future release that ensures integrity by default by uniformly
restricting JNI and the FFM API. Application developers can avoid both
current warnings and future restrictions by selectively enabling these
interfaces where essential using the --enable-native-access
command-line option.
Class-File API
==============
https://openjdk.org/jeps/457
https://openjdk.org/jeps/466
https://openjdk.org/jeps/484
Provide a standard API for parsing, generating, and transforming Java
class files.
This API is now finalised (JEP 484). It was introduced as a preview
library feature (http://openjdk.java.net/jeps/12) in OpenJDK 22 (JEP
457) with a second preview in OpenJDK 23 (JEP 466).
Vector API
==========
@ -109,6 +230,11 @@ https://openjdk.org/jeps/414
https://openjdk.org/jeps/417
https://openjdk.org/jeps/426
https://openjdk.org/jeps/438
https://openjdk.org/jeps/448
https://openjdk.org/jeps/460
https://openjdk.org/jeps/469
https://openjdk.org/jeps/489
https://openjdk.org/jeps/508
Introduce an API to express vector computations that reliably compile
at runtime to optimal vector hardware instructions on supported CPU
@ -118,48 +244,34 @@ scalar computations.
This is an incubation feature (https://openjdk.java.net/jeps/11)
introduced in OpenJDK 16 (JEP 338). A second round of incubation took
place in OpenJDK 17 (JEP 414), OpenJDK 18 (JEP 417) saw a third,
OpenJDK 19 a fourth (JEP 426) and OpenJDK 20 (JEP 438) sees its fifth.
OpenJDK 19 a fourth (JEP 426), OpenJDK 20 (JEP 438) a fifth, OpenJDK
21 a sixth (JEP 448), OpenJDK 22 a seventh (JEP 460), OpenJDK 23 an
eighth (JEP 469), OpenJDK 24 a ninth (JEP 489) and it reaches its
tenth in OpenJDK 25 (JEP 508).
Foreign Function & Memory API
=============================
https://openjdk.org/jeps/412
https://openjdk.org/jeps/419
https://openjdk.org/jeps/424
https://openjdk.org/jeps/434
Stream Gatherers
================
https://openjdk.org/jeps/461
https://openjdk.org/jeps/473
https://openjdk.org/jeps/485
Introduce an API by which Java programs can interoperate with code and
data outside of the Java runtime. By efficiently invoking foreign
functions (i.e., code outside the JVM), and by safely accessing
foreign memory (i.e., memory not managed by the JVM), the API enables
Java programs to call native libraries and process native data without
the brittleness and danger of JNI.
Enhance the Stream API to support custom intermediate operations. This
will allow stream pipelines to transform data in ways that are not
easily achievable with the existing built-in intermediate operations.
This API is now a preview feature (http://openjdk.java.net/jeps/12).
It was first introduced in incubation
(https://openjdk.java.net/jeps/11) in OpenJDK 17 (JEP 412), and is an
evolution of the Foreign Memory Access API (OpenJDK 14 through 16) and
Foreign Linker API (OpenJDK 16) (see release notes for
java-17-openjdk). OpenJDK 18 saw a second round of incubation (JEP
419) before its inclusion as a preview in OpenJDK 19 (JEP 424). It
reaches a second preview in OpenJDK 20 (JEP 434).
Virtual Threads
===============
https://openjdk.org/jeps/425
https://openjdk.org/jeps/436
Introduce virtual threads to the Java Platform. Virtual threads are
lightweight threads that dramatically reduce the effort of writing,
maintaining, and observing high-throughput concurrent applications.
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
in OpenJDK 19 (JEP 425) and reaching its second preview in OpenJDK 20
(JEP 436).
This API is now finalised (JEP 485). It was introduced as a preview
library feature (http://openjdk.java.net/jeps/12) in OpenJDK 22 (JEP
461) with a second preview in OpenJDK 23 (JEP 473).
Structured Concurrency
======================
https://openjdk.org/jeps/428
https://openjdk.org/jeps/437
https://openjdk.org/jeps/453
https://openjdk.org/jeps/462
https://openjdk.org/jeps/480
https://openjdk.org/jeps/499
https://openjdk.org/jeps/505
Simplify multithreaded programming by introducing an API for
structured concurrency. Structured concurrency treats multiple tasks
@ -167,6 +279,392 @@ running in different threads as a single unit of work, thereby
streamlining error handling and cancellation, improving reliability,
and enhancing observability.
This is an incubation feature (https://openjdk.java.net/jeps/11)
introduced in OpenJDK 19 (JEP 428). A second round of incubation takes
place in OpenJDK 20 (JEP 437).
This API was first introduced in incubation
(https://openjdk.java.net/jeps/11) in OpenJDK 19 (JEP 428) and had a
second round of incubation in OpenJDK 20 (JEP 437). It became a
preview feature (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP
453), reached its second preview in OpenJDK 22 (JEP 462), had a third
preview in OpenJDK 23 (JEP 480), a fourth in OpenJDK 24 (JEP 499) and
reaches its fifth in OpenJDK 25 (JEP 505).
Compact Source Files and Instance Main Methods
==============================================
https://openjdk.org/jeps/445
https://openjdk.org/jeps/463
https://openjdk.org/jeps/477
https://openjdk.org/jeps/495
https://openjdk.org/jeps/512
Evolve the Java programming language so that beginners can write their
first programs without needing to understand language features
designed for large programs. Far from using a separate dialect of the
language, beginners can write streamlined declarations for
single-class programs and then seamlessly expand their programs to use
more advanced features as their skills grow. Experienced developers
can likewise enjoy writing small programs succinctly, without the need
for constructs intended for programming in the large.
This library feature is now finalised (JEP 512) with some minor
changes from the last release. It was first introduced as a preview
(http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP 445) under the
name "Unnamed Classes and Instance Main Methods". It reached a second
preview in OpenJDK 22 (JEP 463) and a third in OpenJDK 23 (JEP 477)
under the new name, "Implicitly Declared Classes and Instance Main
Methods", due to the move away from unnamed classes to an implicitly
declared name chosen by the host system. It had a fourth preview in
OpenJDK 24 (JEP 495) with new terminology and a revised title ("Simple
Source Files and Instance Main Methods"), but otherwise unchanged.
Scoped Values
=============
https://openjdk.org/jeps/429
https://openjdk.org/jeps/446
https://openjdk.org/jeps/464
https://openjdk.org/jeps/481
https://openjdk.org/jeps/487
https://openjdk.org/jeps/506
Introduce scoped values, which enable the sharing of immutable data
within and across threads. They are preferred to thread-local
variables, especially when using large numbers of virtual threads.
This API is now finalised (JEP 506). This API was first introduced in
incubation (https://openjdk.java.net/jeps/11) in OpenJDK 20 (JEP
429). It became a preview feature (http://openjdk.java.net/jeps/12) in
OpenJDK 21 (JEP 446), had a second preview in OpenJDK 22 (JEP 464), a
third in OpenJDK 23 (JEP 481) and a fourth in OpenJDK 24 (JEP 487).
Key Derivation Function API
===========================
https://openjdk.org/jeps/478
https://openjdk.org/jeps/510
Introduce an API for Key Derivation Functions (KDFs), which are
cryptographic algorithms for deriving additional keys from a secret
key and other data.
This API is now finalised (JEP 510). It was first introduced as a
preview library feature (http://openjdk.java.net/jeps/12) in OpenJDK
24 (JEP 478).
Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism
==================================================================
https://openjdk.org/jeps/496
Enhance the security of Java applications by providing an
implementation of the quantum-resistant Module-Lattice-Based
Key-Encapsulation Mechanism (ML-KEM). Key encapsulation mechanisms
(KEMs) are used to secure symmetric keys over insecure communication
channels using public key cryptography. ML-KEM is designed to be
secure against future quantum computing attacks. It has been
standardized by the United States National Institute of Standards and
Technology (NIST) in FIPS 203 [0].
[0] https://csrc.nist.gov/pubs/fips/203/final
Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm
==================================================================
https://openjdk.org/jeps/497
Enhance the security of Java applications by providing an
implementation of the quantum-resistant Module-Lattice-Based Digital
Signature Algorithm (ML-DSA). Digital signatures are used to detect
unauthorized modifications to data and to authenticate the identity of
signatories. ML-DSA is designed to be secure against future quantum
computing attacks. It has been standardized by the United States
National Institute of Standards and Technology (NIST) in FIPS 204 [0].
[0] https://csrc.nist.gov/pubs/fips/204/final
PEM Encodings of Cryptographic Objects
======================================
https://openjdk.org/jeps/470
Introduce an API for encoding objects that represent cryptographic
keys, certificates, and certificate revocation lists into the
widely-used Privacy-Enhanced Mail (PEM) transport format, and for
decoding from that format back into objects.
This is a preview library feature (http://openjdk.java.net/jeps/12)
introduced in OpenJDK 25 (JEP 470).
Stable Values
=============
https://openjdk.org/jeps/502
Introduce an API for stable values, which are objects that hold
immutable data. Stable values are treated as constants by the JVM,
enabling the same performance optimizations that are enabled by
declaring a field final. Compared to final fields, however, stable
values offer greater flexibility as to the timing of their
initialization.
This is a preview library feature (http://openjdk.java.net/jeps/12)
introduced in OpenJDK 25 (JEP 502).
Virtual Machine Enhancements
============================
Region Pinning for G1
=====================
https://openjdk.org/jeps/423
Reduce latency by implementing region pinning in G1, so that garbage
collection need not be disabled during Java Native Interface (JNI)
critical regions.
ZGC: Generational Mode by Default
=================================
https://openjdk.org/jeps/439
https://openjdk.org/jeps/474
Switch the default mode of the Z Garbage Collector (ZGC) to the
generational mode. Deprecate the non-generational mode, with the
intent to remove it in a future release.
Late Barrier Expansion for G1
=============================
https://openjdk.org/jeps/475
Simplify the implementation of the G1 garbage collector's barriers,
which record information about application memory accesses, by
shifting their expansion from early in the C2 JIT's compilation
pipeline to later.
Ahead-of-Time Class Loading & Linking
=====================================
https://openjdk.org/jeps/483
https://openjdk.org/jeps/514
Improve startup time by making the classes of an application instantly
available, in a loaded and linked state, when the HotSpot Java Virtual
Machine starts. Achieve this by monitoring the application during one
run and storing the loaded and linked forms of all classes in a cache
for use in subsequent runs. Lay a foundation for future improvements
to both startup and warmup time.
Using this feature requires a two stage process:
1. Create the Ahead-of-Time cache from a training run of the
application using the option `--XX:AOTCacheOutput=<cache name>` where
`<cache name>` is the cache reference to use in later runs.
2. When running the application in testing or production, use the
option `-XX:AOTCache=<cache name>` to run the application with the
cache generated in #2.
Previously, in OpenJDK 24 (JEP 483), the training run and cache
creation were handled by two separate steps:
1. Populate the Ahead-of-Time configuration data with a training run
of the application using the options `-XX:AOTMode=record
-XX:AOTConfiguration=<config name>` where `<config name>` is the
configuration reference to use in #2.
2. Create the Ahead-of-Time cache using the options
`-XX:AOTMode=create -XX:AOTConfiguration=<config name>
-XX:AOTCache=<cache name>` where `<config name>` is the configuration
reference from #1 and `<cache name>` is the cache reference to use in
later runs.
JEP 514 ("Ahead-of-Time Command-Line Ergonomics") in OpenJDK 25 adds
the option `--XX:AOTCacheOutput` which performs both the above steps
from a single command-line invocation using a temporary configuration
file. A new environment variable, `JDK_AOT_VM_OPTIONS`, can be used
to pass options to the cache creation step without affecting the
training run step.
Ahead-of-Time Method Profiling
==============================
https://openjdk.org/jeps/515
Improve warmup time by making method-execution profiles from a
previous run of an application instantly available, when the HotSpot
Java Virtual Machine starts. This will enable the JIT compiler to
generate native code immediately upon application startup, rather than
having to wait for profiles to be collected.
Synchronize Virtual Threads without Pinning
===========================================
https://openjdk.org/jeps/491
Improve the scalability of Java code that uses synchronized methods
and statements by arranging for virtual threads that block in such
constructs to release their underlying platform threads for use by
other virtual threads. This will eliminate nearly all cases of virtual
threads being pinned to platform threads, which severely restricts the
number of virtual threads available to handle an application's
workload.
Compact Object Headers
======================
https://openjdk.org/jeps/450
https://openjdk.org/jeps/519
Reduce the size of object headers in the HotSpot JVM from between 96
and 128 bits down to 64 bits on 64-bit architectures. This will reduce
heap size, improve deployment density, and increase data locality.
This is now a production feature in OpenJDK 25 (JEP 519) enabled using
`-XX:+UseCompactObjectHeaders`. It was first introduced as an
experimental feature (JEP 450) that also required the use of
`-XX:+UnlockExperimentalVMOptions`.
Generational Shenandoah
=======================
https://openjdk.org/jeps/404
https://openjdk.org/jeps/521
Enhance the Shenandoah garbage collector with experimental
generational collection capabilities to improve sustainable
throughput, load-spike resilience, and memory utilization.
This is now a production feature in OpenJDK 25 (JEP 521) enabled using
`-XX:ShenandoahGCMode=generational`. It was first introduced as an
experimental feature (JEP 404) that also required the use of
`-XX:+UnlockExperimentalVMOptions`.
JFR Cooperative Sampling
========================
https://openjdk.org/jeps/518
Improve the stability of the JDK Flight Recorder (JFR) when it
asynchronously samples Java thread stacks. Achieve this by walking
call stacks only at safepoints, while minimizing safepoint bias.
JFR Method Timing & Tracing
===========================
https://openjdk.org/jeps/520
Extend the JDK Flight Recorder (JFR) with facilities for method timing
and tracing via bytecode instrumentation.
JFR CPU-Time Profiling
======================
https://openjdk.org/jeps/509
Enhance the JDK Flight Recorder (JFR) to capture more accurate
CPU-time profiling information on Linux.
This is an experimental feature so its JFR events are tagged with the
`@Experimental` annotation. Unlike other experimental virtual machine
features, it does not need to be explicitly enabled with
`-XX:+UnlockExperimentalVMOptions`.
Tools
=====
Launch Multi-File Source-Code Programs
======================================
https://openjdk.org/jeps/458
Enhance the java application launcher to be able to run a program
supplied as multiple files of Java source code. This will make the
transition from small programs to larger ones more gradual, enabling
developers to choose whether and when to go to the trouble of
configuring a build tool.
Markdown Documentation Comments
===============================
https://openjdk.org/jeps/467
Enable JavaDoc documentation comments to be written in Markdown rather
than solely in a mixture of HTML and JavaDoc @-tags.
Linking Run-Time Images without JMODs
=====================================
https://openjdk.org/jeps/493
Reduce the size of the JDK by approximately 25% by enabling the jlink
tool to create custom run-time images without using the JDK's JMOD
files.
This feature must be enabled when the JDK is built using the
--enable-linkable-runtime option. It will not be enabled by default,
and some JDK vendors may choose not to enable it.
DEPRECATIONS
============
Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal
==================================================================
https://openjdk.org/jeps/471
Deprecate the memory-access methods in sun.misc.Unsafe for removal in
a future release. These unsupported methods have been superseded by
standard APIs, namely the VarHandle API (JEP 193, OpenJDK 9) and the
Foreign Function & Memory API (JEP 454, OpenJDK 22). We strongly
encourage library developers to migrate from sun.misc.Unsafe to
supported replacements, so that applications can migrate smoothly to
modern JDK releases.
Warn upon Use of Memory-Access Methods in sun.misc.Unsafe
=========================================================
https://openjdk.org/jeps/498
Issue a warning at run time on the first occasion that any
memory-access method in sun.misc.Unsafe is invoked. All of these
unsupported methods were terminally deprecated in JDK 23 (see JEP 471
above). They have been superseded by standard APIs, namely the
VarHandle API (JEP 193, OpenJDK 9) and the Foreign Function & Memory
API (JEP 454, OpenJDK 22). We strongly encourage library developers to
migrate from sun.misc.Unsafe to supported replacements, so that
applications can migrate smoothly to modern JDK releases.
Permanently Disable the Security Manager
========================================
https://openjdk.org/jeps/486
The Security Manager has not been the primary means of securing
client-side Java code for many years, it has rarely been used to
secure server-side code, and it is costly to maintain. We therefore
deprecated it for removal in OpenJDK 17 via JEP 411 (2021). As the
next step toward removing the Security Manager, we will revise the
Java Platform specification so that developers cannot enable it and
other Platform classes do not refer to it. This change will have no
impact on the vast majority of applications, libraries, and tools. We
will remove the Security Manager API in a future release.
REMOVALS
========
String Templates
================
https://openjdk.org/jeps/430
https://openjdk.org/jeps/459
https://openjdk.org/jeps/465
This was a preview feature (http://openjdk.java.net/jeps/12)
introduced in OpenJDK 21 (JEP 430) with a second preview in OpenJDK 22
(JEP 459). A third preview was proposed but ultimately withdrawn for
OpenJDK 23 (JEP 465) and the feature is no longer present. See [0]
for further explanation.
[0] https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html
Remove the Windows & Linux 32-bit x86 Ports
===========================================
https://openjdk.org/jeps/449
https://openjdk.org/jeps/479
https://openjdk.org/jeps/501
https://openjdk.org/jeps/503
Remove the source code and build support for the Windows (JEP 479) &
Linux (JEP 503) 32-bit x86 ports. The Windows port was deprecated for
removal in JDK 21 by JEP 449 and the Linux port was deprecated for
removal in JDK 24 by JEP 501. Both deprecations took place with the
express intent to remove the ports in a future release.
Following this removal of these 32-bit x86 ports, the
architecture-agnostic Zero port is the only way to run Java programs
on 32-bit x86 processors.
ZGC: Remove the Non-Generational Mode
=====================================
https://openjdk.org/jeps/439
https://openjdk.org/jeps/474
https://openjdk.org/jeps/490
Remove the non-generational mode of the Z Garbage Collector (ZGC),
keeping the generational mode as the default for ZGC (see JEP 439 &
474).

View file

@ -1,16 +1,16 @@
# java-latest-openjdk-portable
The java-latest-openjdk-portable package
=======
Rolling release of (usually) STSs OpenJDK
OpenJDK has release cadence of 6 months, but 3/4 of them are Short Term Supported for 6 months only. This package is designed to harbor them. Currently it is build of OpenJDK 12. LTSs will go also as separate packages.
This package contains the latest rolling release of OpenJDK. OpenJDK
has a release cadence of six months, with a new release in March and
September each year.
JDK12 is current release of Java platform. It is bringing many cool improvements - https://openjdk.java.net/projects/jdk/12/ and is landing to your Fedora. Where it will be maintained for f28 and newer. Unluckily, this package is STS (short term support) version. Between individual LTS there will be always several STS. Again, please see announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html and See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf . So this is rolling release of all STSs to come. Its fate during the release of fresh LTS is yet to be decided. You will always be allowed to install LTS in fedora build root, alongside with latest STS via alternatives.
The current release is OpenJDK 25. For a list of major changes from
OpenJDK 21, see the NEWS file included in this package and the
upstream release page:
https://openjdk.org/projects/jdk/25/
See announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html
See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf
https://bugzilla.redhat.com/show_bug.cgi?id=1557371#c0
https://fedoraproject.org/wiki/Changes/java-openjdk-10
https://fedoraproject.org/wiki/Changes/java-11-openjdk-TechPreview
This package is intended for those who want to follow the latest
OpenJDK releases. Long term support versions of OpenJDK are available
in the java-1.8.0-openjdk, java-11-openjdk, java-17-openjdk and java-21-openjdk
packages.

View file

@ -50,11 +50,11 @@ public class TestTranslations {
"Mountain Daylight Time", "MDT", "MDT",
"Mountain Time", "MT", "MT"});
map.put(Locale.FRANCE, new String[] { "heure normale des Rocheuses", "UTC\u221207:00", "MST",
"heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MDT",
"heure des Rocheuses", "UTC\u221207:00", "MT"});
map.put(Locale.GERMANY, new String[] { "Rocky-Mountain-Normalzeit", "GMT-07:00", "MST",
"Rocky-Mountain-Sommerzeit", "GMT-06:00", "MDT",
"Rocky-Mountain-Zeit", "GMT-07:00", "MT"});
"heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MST",
"heure des Rocheuses", "UTC\u221207:00", "MST"});
map.put(Locale.GERMANY, new String[] { "Rocky-Mountains-Normalzeit", "GMT-07:00", "MST",
"Rocky-Mountains-Sommerzeit", "GMT-06:00", "MST",
"Rocky-Mountains-Zeit", "GMT-07:00", "MST"});
CIUDAD_JUAREZ = Collections.unmodifiableMap(map);
}
@ -97,14 +97,10 @@ public class TestTranslations {
System.out.printf("Checking locale %s for %s...\n", l, id);
if ("JRE".equals(localeProvider)) {
if ("JRE".equals(localeProvider) || "CLDR".equals(localeProvider)) {
expectedShortStd = expected[2];
expectedShortDST = expected[5];
expectedShortGen = expected[8];
} else if ("CLDR".equals(localeProvider)) {
expectedShortStd = expected[1];
expectedShortDST = expected[4];
expectedShortGen = expected[7];
} else {
System.err.printf("Invalid locale provider %s\n", localeProvider);
System.exit(3);

100
alt-java.c Normal file
View file

@ -0,0 +1,100 @@
/*
* Copyright (C) 2023 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Red Hat designates this
* particular file as subject to the "Classpath" exception as provided
* by Red Hat in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
*/
#include <errno.h>
#include <libgen.h>
#include <linux/limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/prctl.h>
#include <unistd.h>
/* Per task speculation control */
#ifndef PR_GET_SPECULATION_CTRL
# define PR_GET_SPECULATION_CTRL 52
#endif
#ifndef PR_SET_SPECULATION_CTRL
# define PR_SET_SPECULATION_CTRL 53
#endif
/* Speculation control variants */
#ifndef PR_SPEC_STORE_BYPASS
# define PR_SPEC_STORE_BYPASS 0
#endif
/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
#ifndef PR_SPEC_NOT_AFFECTED
# define PR_SPEC_NOT_AFFECTED 0
#endif
#ifndef PR_SPEC_PRCTL
# define PR_SPEC_PRCTL (1UL << 0)
#endif
#ifndef PR_SPEC_ENABLE
# define PR_SPEC_ENABLE (1UL << 1)
#endif
#ifndef PR_SPEC_DISABLE
# define PR_SPEC_DISABLE (1UL << 2)
#endif
#ifndef PR_SPEC_FORCE_DISABLE
# define PR_SPEC_FORCE_DISABLE (1UL << 3)
#endif
#ifndef PR_SPEC_DISABLE_NOEXEC
# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
#endif
static void set_speculation() {
#if defined(__linux__) && defined(__x86_64__)
// PR_SPEC_DISABLE_NOEXEC doesn't survive execve, so we can't use it
// if ( prctl(PR_SET_SPECULATION_CTRL,
// PR_SPEC_STORE_BYPASS,
// PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
// return;
// }
prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
#else
#warning alt-java requested but SSB mitigation not available on this platform.
#endif
}
int main(int argc, char **argv) {
set_speculation();
char our_name[PATH_MAX], java_name[PATH_MAX];
ssize_t len = readlink("/proc/self/exe", our_name, PATH_MAX - 1);
if (len < 0) {
perror("I can't find myself");
exit(2);
}
our_name[len] = '\0'; // readlink(2) doesn't append a null byte
char *path = dirname(our_name);
strncpy(java_name, path, PATH_MAX - 1);
size_t remaining_bytes = PATH_MAX - strlen(path) - 1;
strncat(java_name, "/java", remaining_bytes);
execv(java_name, argv);
fprintf(stderr, "%s failed to launch: %s\n", java_name, strerror(errno));
exit(1);
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,92 @@
diff --git a/src/java.base/share/classes/java/security/Provider.java b/src/java.base/share/classes/java/security/Provider.java
index de2845fb550..b1e416b90f4 100644
--- a/src/java.base/share/classes/java/security/Provider.java
+++ b/src/java.base/share/classes/java/security/Provider.java
@@ -1203,6 +1203,39 @@ public Set<Service> getServices() {
return serviceSet;
}
+ /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvv FIPS PATCH vvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
+ private static final class RedHatFIPSFilter {
+ static final boolean IS_ON = Boolean.parseBoolean(
+ Security.getProperty("__redhat_fips_filter__"));
+ private static final Set<String> ANY_SERVICE_TYPE = Set.of();
+ private static final Map<String, Set<String>> ALLOW_LIST = Map.of(
+ "SunPKCS11-FIPS", ANY_SERVICE_TYPE,
+ "SUN", Set.of(
+ "AlgorithmParameterGenerator",
+ "AlgorithmParameters", "CertificateFactory",
+ "CertPathBuilder", "CertPathValidator", "CertStore",
+ "Configuration", "KeyStore"),
+ "SunEC", Set.of(
+ "AlgorithmParameters", "KeyFactory"),
+ "SunJSSE", ANY_SERVICE_TYPE,
+ "SunJCE", Set.of(
+ "AlgorithmParameters",
+ "AlgorithmParameterGenerator", "KeyFactory",
+ "SecretKeyFactory"),
+ "SunRsaSign", Set.of(
+ "KeyFactory", "AlgorithmParameters"),
+ "XMLDSig", ANY_SERVICE_TYPE
+ );
+
+ static boolean isAllowed(String provName, String serviceType) {
+ Set<String> allowedServiceTypes = ALLOW_LIST.get(provName);
+ return allowedServiceTypes != null &&
+ (allowedServiceTypes == ANY_SERVICE_TYPE ||
+ allowedServiceTypes.contains(serviceType));
+ }
+ }
+ /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FIPS PATCH ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
+
/**
* Add a service. If a service of the same type with the same algorithm
* name exists, and it was added using {@link #putService putService()},
@@ -1231,6 +1264,15 @@ protected void putService(Service s) {
("service.getProvider() must match this Provider object");
}
String type = s.getType();
+ /* vvvvvvvvvvvvvvvvvvvvvvvvvvv FIPS PATCH vvvvvvvvvvvvvvvvvvvvvvvvvvv */
+ if (RedHatFIPSFilter.IS_ON && !RedHatFIPSFilter.isAllowed(name, type)) {
+ if (debug != null) {
+ debug.println("The previous " + name + ".putService() call " +
+ "was skipped by " + RedHatFIPSFilter.class.getName());
+ }
+ return;
+ }
+ /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^ FIPS PATCH ^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
String algorithm = s.getAlgorithm();
ServiceKey key = new ServiceKey(type, algorithm, true);
implRemoveService(serviceMap.get(key));
diff --git a/src/java.base/share/classes/java/security/Security.java b/src/java.base/share/classes/java/security/Security.java
index 6969fe8a8e1..4501d5971c4 100644
--- a/src/java.base/share/classes/java/security/Security.java
+++ b/src/java.base/share/classes/java/security/Security.java
@@ -323,7 +323,27 @@ public Properties getInitialProperties() {
}
private static void initialize() {
+ /* vvvvvvvvvvvvvvvvvvvvvvvvvvv FIPS PATCH vvvvvvvvvvvvvvvvvvvvvvvvvvv */
+ /* This 'include'-directives-only magic property is an internal */
+ /* implementation detail that could (and probably will!) change. */
+ /* Red Hat customers should NOT rely on this for their own use. */
+ String fipsKernelFlag = "/proc/sys/crypto/fips_enabled";
+ boolean fipsModeOn;
+ try (InputStream is = new java.io.FileInputStream(fipsKernelFlag)) {
+ fipsModeOn = is.read() == '1';
+ } catch (IOException ioe) {
+ fipsModeOn = false;
+ if (sdebug != null) {
+ sdebug.println("Failed to read FIPS kernel file: " + ioe);
+ }
+ }
+ String fipsMagicPropName = "__redhat_fips__";
+ System.setProperty(fipsMagicPropName, "" + fipsModeOn);
+ /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^ FIPS PATCH ^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
SecPropLoader.loadAll();
+ /* vvvvvvvvvvvvvvvvvvvvvvvvvvv FIPS PATCH vvvvvvvvvvvvvvvvvvvvvvvvvvv */
+ System.clearProperty(fipsMagicPropName);
+ /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^ FIPS PATCH ^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
initialSecurityProperties = (Properties) props.clone();
if (sdebug != null) {
for (String key : props.stringPropertyNames()) {

View file

@ -1,183 +0,0 @@
#!/bin/bash
# Generates the 'source tarball' for JDK projects.
#
# Example:
# When used from local repo set REPO_ROOT pointing to file:// with your repo
# If your local repo follows upstream forests conventions, it may be enough to set OPENJDK_URL
#
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
# PROJECT_NAME=openjdk
# REPO_NAME=jdk18u
# VERSION=jdk-18.0.1+10
# or to eg prepare systemtap:
# icedtea7's jstack and other tapsets
# VERSION=6327cf1cea9e
# REPO_NAME=icedtea7-2.6
# PROJECT_NAME=release
# OPENJDK_URL=http://icedtea.classpath.org/hg/
# TO_COMPRESS="*/tapset"
#
# They are used to create correct name and are used in construction of sources url (unless REPO_ROOT is set)
# This script creates a single source tarball out of the repository
# based on the given tag and removes code not allowed in fedora/rhel. For
# consistency, the source tarball will always contain 'openjdk' as the top
# level folder, name is created, based on parameter
#
set -e
OPENJDK_URL_DEFAULT=https://github.com
COMPRESSION_DEFAULT=xz
# Corresponding IcedTea version
ICEDTEA_VERSION=15.0
if [ "x$1" = "xhelp" ] ; then
echo -e "Behaviour may be specified by setting the following variables:\n"
echo "VERSION - the version of the specified OpenJDK project"
echo "PROJECT_NAME -- the name of the OpenJDK project being archived (optional; only needed by defaults)"
echo "REPO_NAME - the name of the OpenJDK repository (optional; only needed by defaults)"
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME)"
echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
exit 1;
fi
if [ "x$VERSION" = "x" ] ; then
echo "No VERSION specified"
exit 2
fi
echo "Version: ${VERSION}"
NUM_VER=${VERSION##jdk-}
RELEASE_VER=${NUM_VER%%+*}
BUILD_VER=${NUM_VER##*+}
MAJOR_VER=${RELEASE_VER%%.*}
echo "Major version is ${MAJOR_VER}, release ${RELEASE_VER}, build ${BUILD_VER}"
if [ "x$BOOT_JDK" = "x" ] ; then
echo "No boot JDK specified".
BOOT_JDK=/usr/lib/jvm/java-${MAJOR_VER}-openjdk;
echo -n "Checking for ${BOOT_JDK}...";
if [ -d ${BOOT_JDK} -a -x ${BOOT_JDK}/bin/java ] ; then
echo "Boot JDK found at ${BOOT_JDK}";
else
echo "Not found";
PREV_VER=$((${MAJOR_VER} - 1));
BOOT_JDK=/usr/lib/jvm/java-${PREV_VER}-openjdk;
echo -n "Checking for ${BOOT_JDK}...";
if [ -d ${BOOT_JDK} -a -x ${BOOT_JDK}/bin/java ] ; then
echo "Boot JDK found at ${BOOT_JDK}";
else
echo "Not found";
exit 4;
fi
fi
else
echo "Boot JDK: ${BOOT_JDK}";
fi
# REPO_NAME is only needed when we default on REPO_ROOT and FILE_NAME_ROOT
if [ "x$FILE_NAME_ROOT" = "x" -o "x$REPO_ROOT" = "x" ] ; then
if [ "x$PROJECT_NAME" = "x" ] ; then
echo "No PROJECT_NAME specified"
exit 1
fi
echo "Project name: ${PROJECT_NAME}"
if [ "x$REPO_NAME" = "x" ] ; then
echo "No REPO_NAME specified"
exit 3
fi
echo "Repository name: ${REPO_NAME}"
fi
if [ "x$OPENJDK_URL" = "x" ] ; then
OPENJDK_URL=${OPENJDK_URL_DEFAULT}
echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
else
echo "OpenJDK URL: ${OPENJDK_URL}"
fi
if [ "x$COMPRESSION" = "x" ] ; then
# rhel 5 needs tar.gz
COMPRESSION=${COMPRESSION_DEFAULT}
fi
echo "Creating a tar.${COMPRESSION} archive"
if [ "x$FILE_NAME_ROOT" = "x" ] ; then
FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
fi
if [ "x$REPO_ROOT" = "x" ] ; then
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}.git"
echo "No repository root specified; default to ${REPO_ROOT}"
fi;
if [ "x$TO_COMPRESS" = "x" ] ; then
TO_COMPRESS="openjdk"
echo "No targets to be compressed specified, ; default to ${TO_COMPRESS}"
fi;
echo -e "Settings:"
echo -e "\tVERSION: ${VERSION}"
echo -e "\tPROJECT_NAME: ${PROJECT_NAME}"
echo -e "\tREPO_NAME: ${REPO_NAME}"
echo -e "\tOPENJDK_URL: ${OPENJDK_URL}"
echo -e "\tCOMPRESSION: ${COMPRESSION}"
echo -e "\tFILE_NAME_ROOT: ${FILE_NAME_ROOT}"
echo -e "\tREPO_ROOT: ${REPO_ROOT}"
echo -e "\tTO_COMPRESS: ${TO_COMPRESS}"
echo -e "\tBOOT_JDK: ${BOOT_JDK}"
if [ -d ${FILE_NAME_ROOT} ] ; then
echo "exists exists exists exists exists exists exists "
echo "reusing reusing reusing reusing reusing reusing "
echo ${FILE_NAME_ROOT}
else
mkdir "${FILE_NAME_ROOT}"
pushd "${FILE_NAME_ROOT}"
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
git clone -b ${VERSION} ${REPO_ROOT} openjdk
popd
fi
pushd "${FILE_NAME_ROOT}"
# Generate .src-rev so build has knowledge of the revision the tarball was created from
mkdir build
pushd build
sh ${PWD}/../openjdk/configure --with-boot-jdk=${BOOT_JDK}
make store-source-revision
popd
rm -rf build
# Remove commit checks
echo "Removing $(find openjdk -name '.jcheck' -print)"
find openjdk -name '.jcheck' -print0 | xargs -0 rm -rf
# Remove history and GHA
echo "find openjdk -name '.hgtags'"
find openjdk -name '.hgtags' -exec rm -fv '{}' '+'
echo "find openjdk -name '.hgignore'"
find openjdk -name '.hgignore' -exec rm -fv '{}' '+'
echo "find openjdk -name '.gitattributes'"
find openjdk -name '.gitattributes' -exec rm -fv '{}' '+'
echo "find openjdk -name '.gitignore'"
find openjdk -name '.gitignore' -exec rm -fv '{}' '+'
echo "find openjdk -name '.git'"
find openjdk -name '.git' -exec rm -rfv '{}' '+'
echo "find openjdk -name '.github'"
find openjdk -name '.github' -exec rm -rfv '{}' '+'
echo "Compressing remaining forest"
if [ "X$COMPRESSION" = "Xxz" ] ; then
SWITCH=cJf
else
SWITCH=czf
fi
TARBALL_NAME=${FILE_NAME_ROOT}.tar.${COMPRESSION}
tar --exclude-vcs -$SWITCH ${TARBALL_NAME} $TO_COMPRESS
mv ${TARBALL_NAME} ..
popd
echo "Done. You may want to remove the uncompressed version - $FILE_NAME_ROOT."

View file

@ -1,192 +0,0 @@
#!/bin/bash
# Copyright (C) 2019 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
ICEDTEA_USE_VCS=true
ICEDTEA_VERSION=3.15.0
ICEDTEA_URL=https://icedtea.classpath.org/download/source
ICEDTEA_SIGNING_KEY=CFDA0F9B35964222
ICEDTEA_HG_URL=https://icedtea.classpath.org/hg/icedtea11
set -e
RPM_DIR=${PWD}
if [ ! -f ${RPM_DIR}/jconsole.desktop.in ] ; then
echo "Not in RPM source tree.";
exit 1;
fi
if test "x${TMPDIR}" = "x"; then
TMPDIR=/tmp;
fi
WORKDIR=${TMPDIR}/it.sync
echo "Using working directory ${WORKDIR}"
mkdir ${WORKDIR}
pushd ${WORKDIR}
if test "x${WGET}" = "x"; then
WGET=$(which wget);
if test "x${WGET}" = "x"; then
echo "wget not found";
exit 1;
fi
fi
if test "x${TAR}" = "x"; then
TAR=$(which tar)
if test "x${TAR}" = "x"; then
echo "tar not found";
exit 2;
fi
fi
echo "Dependencies:";
echo -e "\tWGET: ${WGET}";
echo -e "\tTAR: ${TAR}\n";
if test "x${ICEDTEA_USE_VCS}" = "xtrue"; then
echo "Mode: Using VCS";
if test "x${GREP}" = "x"; then
GREP=$(which grep);
if test "x${GREP}" = "x"; then
echo "grep not found";
exit 3;
fi
fi
if test "x${CUT}" = "x"; then
CUT=$(which cut);
if test "x${CUT}" = "x"; then
echo "cut not found";
exit 4;
fi
fi
if test "x${TR}" = "x"; then
TR=$(which tr);
if test "x${TR}" = "x"; then
echo "tr not found";
exit 5;
fi
fi
if test "x${HG}" = "x"; then
HG=$(which hg);
if test "x${HG}" = "x"; then
echo "hg not found";
exit 6;
fi
fi
echo "Dependencies:";
echo -e "\tGREP: ${GREP}";
echo -e "\tCUT: ${CUT}";
echo -e "\tTR: ${TR}";
echo -e "\tHG: ${HG}";
echo "Checking out repository from VCS...";
${HG} clone ${ICEDTEA_HG_URL} icedtea
echo "Obtaining version from configure.ac...";
ROOT_VER=$(${GREP} '^AC_INIT' icedtea/configure.ac|${CUT} -d ',' -f 2|${TR} -d '[][:space:]')
echo "Root version from configure: ${ROOT_VER}";
VCS_REV=$(${HG} log -R icedtea --template '{node|short}' -r tip)
echo "VCS revision: ${VCS_REV}";
ICEDTEA_VERSION="${ROOT_VER}-${VCS_REV}"
echo "Creating icedtea-${ICEDTEA_VERSION}";
mkdir icedtea-${ICEDTEA_VERSION}
echo "Copying required files from checkout to icedtea-${ICEDTEA_VERSION}";
# Commented out for now as IcedTea 6's jconsole.desktop.in is outdated
#cp -a icedtea/jconsole.desktop.in ../icedtea-${ICEDTEA_VERSION}
cp -a ${RPM_DIR}/jconsole.desktop.in icedtea-${ICEDTEA_VERSION}
cp -a icedtea/tapset icedtea-${ICEDTEA_VERSION}
rm -rf icedtea
else
echo "Mode: Using tarball";
if test "x${ICEDTEA_VERSION}" = "x"; then
echo "No IcedTea version specified for tarball download.";
exit 3;
fi
if test "x${CHECKSUM}" = "x"; then
CHECKSUM=$(which sha256sum)
if test "x${CHECKSUM}" = "x"; then
echo "sha256sum not found";
exit 4;
fi
fi
if test "x${PGP}" = "x"; then
PGP=$(which gpg)
if test "x${PGP}" = "x"; then
echo "gpg not found";
exit 5;
fi
fi
echo "Dependencies:";
echo -e "\tCHECKSUM: ${CHECKSUM}";
echo -e "\tPGP: ${PGP}\n";
echo "Checking for IcedTea signing key ${ICEDTEA_SIGNING_KEY}...";
if ! gpg --list-keys ${ICEDTEA_SIGNING_KEY}; then
echo "IcedTea signing key ${ICEDTEA_SIGNING_KEY} not installed.";
exit 6;
fi
echo "Downloading IcedTea release tarball...";
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz
echo "Downloading IcedTea tarball signature...";
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz.sig
echo "Downloading IcedTea tarball checksums...";
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.sha256
echo "Verifying checksums...";
${CHECKSUM} --check --ignore-missing icedtea-${ICEDTEA_VERSION}.sha256
echo "Checking signature...";
${PGP} --verify icedtea-${ICEDTEA_VERSION}.tar.xz.sig
echo "Extracting files...";
${TAR} xJf icedtea-${ICEDTEA_VERSION}.tar.xz \
icedtea-${ICEDTEA_VERSION}/tapset \
icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in
rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz
rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz.sig
rm -vf icedtea-${ICEDTEA_VERSION}.sha256
fi
echo "Replacing desktop files...";
mv -v icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in ${RPM_DIR}
echo "Creating new tapset tarball...";
mv -v icedtea-${ICEDTEA_VERSION} openjdk
${TAR} cJf ${RPM_DIR}/tapsets-icedtea-${ICEDTEA_VERSION}.tar.xz openjdk
rm -rvf openjdk
popd
rm -rf ${WORKDIR}

File diff suppressed because it is too large Load diff

View file

@ -1,10 +0,0 @@
[Desktop Entry]
Name=OpenJDK @JAVA_VER@ for @target_cpu@ Monitoring & Management Console (@OPENJDK_VER@)
Comment=Monitor and manage OpenJDK applications
Exec=_SDKBINDIR_/jconsole
Icon=java-@JAVA_VER@-@JAVA_VENDOR@
Terminal=false
Type=Application
StartupWMClass=sun-tools-jconsole-JConsole
Categories=Development;Profiling;Java;
Version=1.0

View file

@ -1 +0,0 @@

View file

@ -1 +0,0 @@

View file

@ -1,5 +0,0 @@
name = NSS
nssLibraryDirectory = @NSS_LIBDIR@
nssDbMode = noDb
attributes = compatibility
handleStartupErrors = ignoreMultipleInitialisation

View file

@ -1,8 +0,0 @@
name = NSS-FIPS
nssLibraryDirectory = @NSS_LIBDIR@
nssSecmodDirectory = sql:/etc/pki/nssdb
nssDbMode = readOnly
nssModule = fips
attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true }

View file

@ -1,76 +0,0 @@
#!/bin/bash
# Copyright (C) 2022 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>, 2012-2022
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
OLD_RELEASE=$1
NEW_RELEASE=$2
SUBDIR=$3
REPO=$4
SCRIPT_DIR=$(dirname ${0})
if test "x${SUBDIR}" = "x"; then
echo "No subdirectory specified; using .";
SUBDIR=".";
fi
if test "x$REPO" = "x"; then
echo "No repository specified; using ${PWD}"
REPO=${PWD}
fi
if test x${TMPDIR} = x; then
TMPDIR=/tmp;
fi
echo "Repository: ${REPO}"
if [ -e ${REPO}/.git ] ; then
TYPE=git;
elif [ -e ${REPO}/.hg ] ; then
TYPE=hg;
else
echo "No Mercurial or Git repository detected.";
exit 1;
fi
if test "x$OLD_RELEASE" = "x" || test "x$NEW_RELEASE" = "x"; then
echo "ERROR: Need to specify old and new release";
exit 2;
fi
echo "Listing fixes between $OLD_RELEASE and $NEW_RELEASE in $REPO"
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 ${TMPDIR}/fixes
for repos in . $(${SCRIPT_DIR}/discover_trees.sh ${REPO});
do
if test "x$TYPE" = "xhg"; then
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
egrep '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
sed 's#^[o:| ]*summary:\W*# - #' >> ${TMPDIR}/fixes2;
hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
egrep '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> ${TMPDIR}/fixes3;
else
git -C ${REPO} log --no-merges --pretty=format:%B ${NEW_RELEASE}...${OLD_RELEASE} -- ${SUBDIR} |egrep '^[0-9]{7}' | \
sed -r 's#^([0-9])# - JDK-\1#' >> ${TMPDIR}/fixes2;
touch ${TMPDIR}/fixes3 ; # unused
fi
done
sort ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 | uniq > ${TMPDIR}/fixes
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3
echo "In ${TMPDIR}/fixes:"
cat ${TMPDIR}/fixes

View file

@ -1,16 +0,0 @@
diff -r 618ad1237e73 src/java.desktop/share/classes/java/awt/Toolkit.java
--- a/src/java.desktop/share/classes/java/awt/Toolkit.java Thu Jun 13 19:37:49 2019 +0200
+++ b/src/java.desktop/share/classes/java/awt/Toolkit.java Thu Jul 04 10:35:42 2019 +0200
@@ -595,7 +595,11 @@
toolkit = new HeadlessToolkit(toolkit);
}
if (!GraphicsEnvironment.isHeadless()) {
- loadAssistiveTechnologies();
+ try {
+ loadAssistiveTechnologies();
+ } catch (AWTError error) {
+ // ignore silently
+ }
}
}
return toolkit;

View file

@ -1,12 +0,0 @@
diff --git openjdk.orig/src/java.base/share/conf/security/java.security openjdk/src/java.base/share/conf/security/java.security
index 68a9c1a2d08..7aa25eb2cb7 100644
--- openjdk.orig/src/java.base/share/conf/security/java.security
+++ openjdk/src/java.base/share/conf/security/java.security
@@ -78,6 +78,7 @@ security.provider.tbd=SunMSCAPI
security.provider.tbd=Apple
#endif
security.provider.tbd=SunPKCS11
+#security.provider.tbd=SunPKCS11 ${java.home}/lib/security/nss.cfg
#
# Security providers used when FIPS mode support is active

View file

@ -1,20 +0,0 @@
--- openjdk/src/java.base/share/conf/security/java.security
+++ openjdk/src/java.base/share/conf/security/java.security
@@ -304,6 +304,8 @@
#
package.access=sun.misc.,\
sun.reflect.,\
+ org.GNOME.Accessibility.,\
+ org.GNOME.Bonobo.,\
#
# List of comma-separated packages that start with or equal this string
@@ -316,6 +318,8 @@
#
package.definition=sun.misc.,\
sun.reflect.,\
+ org.GNOME.Accessibility.,\
+ org.GNOME.Bonobo.,\
#
# Determines whether this properties file can be appended to

View file

@ -1,15 +0,0 @@
diff --git a/openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
index bacff32efbc..ff7b3dcc81c 100644
--- openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
+++ openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
@@ -46,8 +46,8 @@ class PlatformPCSC {
private static final String PROP_NAME = "sun.security.smartcardio.library";
- private static final String LIB1 = "/usr/$LIBISA/libpcsclite.so";
- private static final String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
+ private static final String LIB1 = "/usr/$LIBISA/libpcsclite.so.1";
+ private static final String LIB2 = "/usr/local/$LIBISA/libpcsclite.so.1";
private static final String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
PlatformPCSC() {

View file

@ -1,117 +0,0 @@
diff --git openjdk.orig/make/modules/java.base/Launcher.gmk openjdk/make/modules/java.base/Launcher.gmk
index 700ddefda49..2882de68eb2 100644
--- openjdk.orig/make/modules/java.base/Launcher.gmk
+++ openjdk/make/modules/java.base/Launcher.gmk
@@ -41,6 +41,14 @@ $(eval $(call SetupBuildLauncher, java, \
OPTIMIZATION := HIGH, \
))
+#Wno-error=cpp is present to allow commented warning in ifdef part of main.c
+$(eval $(call SetupBuildLauncher, alt-java, \
+ CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES -DREDHAT_ALT_JAVA -Wno-error=cpp, \
+ EXTRA_RCFLAGS := $(JAVA_RCFLAGS), \
+ VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
+ OPTIMIZATION := HIGH, \
+))
+
ifeq ($(call isTargetOs, windows), true)
$(eval $(call SetupBuildLauncher, javaw, \
CFLAGS := -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
diff --git openjdk.orig/src/java.base/share/native/launcher/alt_main.h openjdk/src/java.base/share/native/launcher/alt_main.h
new file mode 100644
index 00000000000..697df2898ac
--- /dev/null
+++ openjdk/src/java.base/share/native/launcher/alt_main.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2019, Red Hat, Inc. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#ifdef REDHAT_ALT_JAVA
+
+#include <sys/prctl.h>
+
+
+/* Per task speculation control */
+#ifndef PR_GET_SPECULATION_CTRL
+# define PR_GET_SPECULATION_CTRL 52
+#endif
+#ifndef PR_SET_SPECULATION_CTRL
+# define PR_SET_SPECULATION_CTRL 53
+#endif
+/* Speculation control variants */
+#ifndef PR_SPEC_STORE_BYPASS
+# define PR_SPEC_STORE_BYPASS 0
+#endif
+/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
+
+#ifndef PR_SPEC_NOT_AFFECTED
+# define PR_SPEC_NOT_AFFECTED 0
+#endif
+#ifndef PR_SPEC_PRCTL
+# define PR_SPEC_PRCTL (1UL << 0)
+#endif
+#ifndef PR_SPEC_ENABLE
+# define PR_SPEC_ENABLE (1UL << 1)
+#endif
+#ifndef PR_SPEC_DISABLE
+# define PR_SPEC_DISABLE (1UL << 2)
+#endif
+#ifndef PR_SPEC_FORCE_DISABLE
+# define PR_SPEC_FORCE_DISABLE (1UL << 3)
+#endif
+#ifndef PR_SPEC_DISABLE_NOEXEC
+# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
+#endif
+
+static void set_speculation() __attribute__((constructor));
+static void set_speculation() {
+ if ( prctl(PR_SET_SPECULATION_CTRL,
+ PR_SPEC_STORE_BYPASS,
+ PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
+ return;
+ }
+ prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
+}
+
+#endif // REDHAT_ALT_JAVA
diff --git openjdk.orig/src/java.base/share/native/launcher/main.c openjdk/src/java.base/share/native/launcher/main.c
index b734fe2ba78..79dc8307650 100644
--- openjdk.orig/src/java.base/share/native/launcher/main.c
+++ openjdk/src/java.base/share/native/launcher/main.c
@@ -34,6 +34,14 @@
#include "jli_util.h"
#include "jni.h"
+#ifdef REDHAT_ALT_JAVA
+#if defined(__linux__) && defined(__x86_64__)
+#include "alt_main.h"
+#else
+#warning alt-java requested but SSB mitigation not available on this platform.
+#endif
+#endif
+
/*
* Entry point.
*/

View file

@ -1,19 +0,0 @@
Remove uses of FAR in jpeg code
Upstream libjpeg-trubo removed the (empty) FAR macro:
http://sourceforge.net/p/libjpeg-turbo/code/1312/
Adjust our code to not use the undefined FAR macro anymore.
diff --git a/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c b/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
--- openjdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
+++ openjdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
@@ -1385,7 +1385,7 @@
/* and fill it in */
dst_ptr = icc_data;
for (seq_no = first; seq_no < last; seq_no++) {
- JOCTET FAR *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN;
+ JOCTET *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN;
unsigned int length =
icc_markers[seq_no]->data_length - ICC_OVERHEAD_LEN;

61
scripts/discover_trees.sh Executable file
View file

@ -0,0 +1,61 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
TREE=${1}
if test "${TREE}" = ""; then
TREE=${PWD}
fi
if [ -e "${TREE}"/nashorn/.hg ] || [ -e "${TREE}"/nashorn/merge.changeset ] ; then
NASHORN="nashorn" ;
fi
if [ -e "${TREE}"/corba/.hg ] || [ -e "${TREE}"/corba/merge.changeset ] ; then
CORBA="corba";
fi
if [ -e "${TREE}"/jaxp/.hg ] || [ -e "${TREE}"/jaxp/merge.changeset ] ; then
JAXP="jaxp";
fi
if [ -e "${TREE}"/jaxws/.hg ] || [ -e "${TREE}"/jaxws/merge.changeset ] ; then
JAXWS="jaxws";
fi
if [ -e "${TREE}"/langtools/.hg ] || [ -e "${TREE}"/langtools/merge.changeset ] ; then
LANGTOOLS="langtools";
fi
if [ -e "${TREE}"/jdk/.hg ] || [ -e "${TREE}"/jdk/merge.changeset ] ; then
JDK="jdk";
fi
if [ -e "${TREE}"/hotspot/.hg ] || [ -e "${TREE}"/hotspot/merge.changeset ] ; then
HOTSPOT="hotspot";
fi
SUBTREES="${CORBA} ${JAXP} ${JAXWS} ${LANGTOOLS} ${NASHORN} ${JDK} ${HOTSPOT}";
echo "${SUBTREES}"
# Local Variables:
# compile-command: "shellcheck discover_trees.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View file

@ -0,0 +1,294 @@
#!/bin/bash
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
# Thomas Fitzsimmons <fitzsim@redhat.com>
# Jiri Vanek <jvanek@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Generates the source tarball for OpenJDK projects.
#
# There are multiple ways to specify the source code location and version:
#
# 1. Specify the version (VERSION), the location of the Git repository
# (REPO_ROOT) and the root of the output tarball name (FILE_NAME_ROOT)
# 2. Specify the version (VERSION) along with an upstream project name
# (PROJECT_NAME) and repository name (REPO_NAME) that can be used
# to construct the URL of the upstream OpenJDK repository.
# 3. Specify OPENJDK_LATEST=1 and allow the script to obtain the JDK
# feature version from the spec file, which is then used to
# obtain the latest build promotion from the upstream repository.
#
# An appropriate bootstrap JDK is also required for when ./configure
# is run within the checked out repository to generate the .src-rev.
# file. This can be specified by setting BOOT_JDK.
#
# Example 1:
# This will check out the specified version from the specified
# repository and construct a tarball called openjdk-17.0.3+5.tar.xz:
#
# $ VERSION=jdk-17.0.3+5 FILE_NAME_ROOT=open${VERSION} \
# REPO_ROOT=$HOME/projects/openjdk/upstream/17u \
# BOOT_JDK=/usr/lib/jvm/java-17-openjdk ./generate_source_tarball.sh
#
# Example 2:
# This will check out the same version as example 1, but from the
# upstream repository:
#
# $ VERSION=jdk-25+36 PROJECT_NAME=openjdk REPO_NAME=jdk25u \
# BOOT_JDK=/usr/lib/jvm/java-17-openjdk sh scripts/generate_source_tarball.sh
#
# Example 3:
# This will read the OpenJDK feature version from the spec file, then create a
# tarball from the most recent tag for that version in the upstream Git
# repository.
#
# $ OPENJDK_LATEST=1 \
# BOOT_JDK=/usr/lib/jvm/java-17-openjdk ./generate_source_tarball.sh
#
set -e
OPENJDK_URL_DEFAULT=https://github.com
COMPRESSION_DEFAULT=xz
if [ "$1" = "help" ] ; then
echo "Behaviour may be specified by setting the following variables:"
echo
echo "VERSION - the version of the specified OpenJDK project"
echo " (required unless OPENJDK_LATEST is set)"
echo "PROJECT_NAME - the name of the OpenJDK project being archived"
echo " (needed to compute REPO_ROOT and/or"
echo " FILE_NAME_ROOT automatically;"
echo " optional if they are set explicitly)"
echo "REPO_NAME - the name of the OpenJDK repository"
echo " (needed to compute REPO_ROOT automatically;"
echo " optional if REPO_ROOT is set explicitly)"
echo "OPENJDK_URL - the URL to retrieve code from"
echo " (defaults to ${OPENJDK_URL_DEFAULT})"
echo "COMPRESSION - the compression type to use"
echo " (defaults to ${COMPRESSION_DEFAULT})"
echo "FILE_NAME_ROOT - name of the archive, minus extensions"
echo " (defaults to PROJECT_NAME-VERSION)"
echo "REPO_ROOT - the location of the Git repository to archive"
echo " (defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
echo "TO_COMPRESS - what part of clone to pack"
echo " (defaults to ${VERSION})"
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
echo " (defaults to packaged JDK version)"
echo "WITH_TEMP - run in a temporary directory"
echo " (defaults to disabled)"
echo "OPENJDK_LATEST - deduce VERSION from most recent upstream tag"
echo " (implies WITH_TEMP, computes everything else"
echo " automatically; Note: accesses network to read"
echo " tag list from remote Git repository)"
exit 1;
fi
if [ "$OPENJDK_LATEST" != "" ] ; then
FEATURE_VERSION=$(echo '%featurever' \
| rpmspec --shell ./*.spec 2>/dev/null \
| grep --after-context 1 featurever \
| tail --lines 1)
PROJECT_NAME=openjdk
REPO_NAME=jdk"${FEATURE_VERSION}"u
# Skip -ga tags since those are the same as the most recent non-ga tag, and
# the non-ga tag is the one that is used to generated the official source
# tarball. For example:
# ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10-ga^{}
# 25a2e6c20c9a96853714284cabc6b456eb095070 refs/tags/jdk-17.0.10-ga
# ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10+7^{}
# e49c5749b10f3e90274b72e9279f794fdd191d27 refs/tags/jdk-17.0.10+7
VERSION=$(git ls-remote --tags --refs --sort=-version:refname \
"${OPENJDK_URL_DEFAULT}/${PROJECT_NAME}/${REPO_NAME}.git" \
"jdk-${FEATURE_VERSION}*" \
| grep --invert-match '\-ga$' \
| head --lines 1 | cut --characters 52-)
FILE_NAME_ROOT=open${VERSION}
WITH_TEMP=1
fi
if [ "$WITH_TEMP" != "" ] ; then
pushd "$(mktemp --directory --tmpdir temp-generated-source-tarball-XXX)"
fi
if [ "$VERSION" = "" ] ; then
echo "No VERSION specified"
exit 2
fi
echo "Version: ${VERSION}"
NUM_VER=${VERSION##jdk-}
RELEASE_VER=${NUM_VER%%+*}
BUILD_VER=${NUM_VER##*+}
MAJOR_VER=${RELEASE_VER%%.*}
echo "Major version is ${MAJOR_VER}, release ${RELEASE_VER}, build ${BUILD_VER}"
if [ "$BOOT_JDK" = "" ] ; then
echo "No boot JDK specified".
BOOT_JDK=/usr/lib/jvm/java-${MAJOR_VER}-openjdk;
echo -n "Checking for ${BOOT_JDK}...";
if [ -d "${BOOT_JDK}" ] && [ -x "${BOOT_JDK}"/bin/java ] ; then
echo "Boot JDK found at ${BOOT_JDK}";
else
echo "Not found";
PREV_VER=$((MAJOR_VER - 1));
BOOT_JDK=/usr/lib/jvm/java-${PREV_VER}-openjdk;
echo -n "Checking for ${BOOT_JDK}...";
if [ -d ${BOOT_JDK} ] && [ -x ${BOOT_JDK}/bin/java ] ; then
echo "Boot JDK found at ${BOOT_JDK}";
else
echo "Not found";
exit 4;
fi
fi
else
echo "Boot JDK: ${BOOT_JDK}";
fi
if [ "$OPENJDK_URL" = "" ] ; then
OPENJDK_URL=${OPENJDK_URL_DEFAULT}
echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
else
echo "OpenJDK URL: ${OPENJDK_URL}"
fi
if [ "$COMPRESSION" = "" ] ; then
# rhel 5 needs tar.gz
COMPRESSION=${COMPRESSION_DEFAULT}
fi
echo "Creating a tar.${COMPRESSION} archive"
if [ "$FILE_NAME_ROOT" = "" ] ; then
if [ "$PROJECT_NAME" = "" ] ; then
echo "No PROJECT_NAME specified, needed by FILE_NAME_ROOT"
exit 1
fi
FILE_NAME_ROOT=${PROJECT_NAME}-${VERSION}
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
fi
if [ "$REPO_ROOT" = "" ] ; then
if [ "$PROJECT_NAME" = "" ] ; then
echo "No PROJECT_NAME specified, needed by REPO_ROOT"
exit 1
fi
if [ "$REPO_NAME" = "" ] ; then
echo "No REPO_NAME specified, needed by REPO_ROOT"
exit 3
fi
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}.git"
echo "No repository root specified; default to ${REPO_ROOT}"
fi;
if [ "$TO_COMPRESS" = "" ] ; then
TO_COMPRESS="${VERSION}"
echo "No targets to be compressed specified ; default to ${TO_COMPRESS}"
fi;
echo -e "Settings:"
echo -e "\tVERSION: ${VERSION}"
echo -e "\tPROJECT_NAME: ${PROJECT_NAME}"
echo -e "\tREPO_NAME: ${REPO_NAME}"
echo -e "\tOPENJDK_URL: ${OPENJDK_URL}"
echo -e "\tCOMPRESSION: ${COMPRESSION}"
echo -e "\tFILE_NAME_ROOT: ${FILE_NAME_ROOT}"
echo -e "\tREPO_ROOT: ${REPO_ROOT}"
echo -e "\tTO_COMPRESS: ${TO_COMPRESS}"
echo -e "\tBOOT_JDK: ${BOOT_JDK}"
echo -e "\tWITH_TEMP: ${WITH_TEMP}"
echo -e "\tOPENJDK_LATEST: ${OPENJDK_LATEST}"
if [ -d "${FILE_NAME_ROOT}" ] ; then
echo "Reusing existing ${FILE_NAME_ROOT}"
STAT_TIME="$(stat --format=%Y "${FILE_NAME_ROOT}")"
TAR_TIME="$(date --date=@"${STAT_TIME}" --iso-8601=seconds)"
else
mkdir "${FILE_NAME_ROOT}"
pushd "${FILE_NAME_ROOT}"
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
if realpath -q "${REPO_ROOT}"; then
echo "Local path detected; not adding depth argument";
DEPTH="--";
else
DEPTH="--depth=1";
echo "Remote repository detected; adding ${DEPTH}";
fi
git clone -b "${VERSION}" "${DEPTH}" "${REPO_ROOT}" "${VERSION}"
pushd "${VERSION}"
TAR_TIME="$(git log --max-count 1 --format=%cI)"
popd
popd
fi
pushd "${FILE_NAME_ROOT}"
# Generate .src-rev so build has knowledge of the revision the tarball was
# created from
mkdir build
pushd build
sh "${PWD}"/../"${VERSION}"/configure --with-boot-jdk="${BOOT_JDK}"
make store-source-revision
popd
rm -rf build
# Remove commit checks
echo "Removing $(find "${VERSION}" -name '.jcheck' -print)"
find "${VERSION}" -name '.jcheck' -print0 | xargs -0 rm -r
# Remove history and GHA
echo "find ${VERSION} -name '.hgtags'"
find "${VERSION}" -name '.hgtags' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.hgignore'"
find "${VERSION}" -name '.hgignore' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.gitattributes'"
find "${VERSION}" -name '.gitattributes' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.gitignore'"
find "${VERSION}" -name '.gitignore' -exec rm -v '{}' '+'
# Work around some Git objects not having write permissions.
echo "chmod --recursive u+w ${VERSION}/.git"
chmod --recursive u+w "${VERSION}"/.git
echo "find ${VERSION} -name '.git'"
find "${VERSION}" -name '.git' -exec rm -rv '{}' '+'
echo "find ${VERSION} -name '.github'"
find "${VERSION}" -name '.github' -exec rm -rv '{}' '+'
echo "Compressing remaining forest"
if [ "$COMPRESSION" = "xz" ] ; then
SWITCH=cJf
else
SWITCH=czf
fi
EA_PART="$(awk -F= \
'/^DEFAULT_PROMOTED_VERSION_PRE/ { if ($2) print "-"$2 }' \
"${VERSION}"/make/conf/version-numbers.conf)"
TARBALL_NAME=${FILE_NAME_ROOT}${EA_PART}.tar.${COMPRESSION}
XZ_OPT=${XZ_OPT-"-T0"} \
tar --mtime="${TAR_TIME}" --owner=root --group=root --sort=name \
--exclude-vcs -$SWITCH "${TARBALL_NAME}" "${TO_COMPRESS}"
mv "${TARBALL_NAME}" ..
popd
if [ "$WITH_TEMP" != "" ] ; then
echo "Tarball is: $(realpath .)/${TARBALL_NAME}"
popd
else
echo -n "Done. You may want to remove the uncompressed version"
echo " - $FILE_NAME_ROOT"
fi
# Local Variables:
# compile-command: "shellcheck generate_source_tarball.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

172
scripts/get_bundle_versions.sh Executable file
View file

@ -0,0 +1,172 @@
#!/usr/bin/env sh
# Copyright (C) 2025 Red Hat, Inc.
# Original written by Antonio Vieiro <avieirov@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if [ $# -ne 1 ]; then
echo "Usage: $0 openjdk-root-directory"
exit 1
fi
JDKROOT=$1
if [ ! -d "${JDKROOT}" ] ; then
echo "${JDKROOT} is not a directory.";
exit 2
fi
# Work out the OpenJDK version
# OpenJDK >= 10 has its version in the build machinery
# OpenJDK >= 17 stores it in a new location (JDK-8258246)
VERSION_FILE="${JDKROOT}"/make/conf/version-numbers.conf
printf "Checking for %s..." "${VERSION_FILE}";
if [ ! -f "${VERSION_FILE}" ] ; then
VERSION_FILE="${JDKROOT}"/make/autoconf/version-numbers
echo "Not found; using old version file ${VERSION_FILE}";
else
echo "found.";
fi
if [ -e "${VERSION_FILE}" ] ; then
openjdk_version=$(grep '^DEFAULT_VERSION_FEATURE' "${VERSION_FILE}" | cut -d '=' -f 2)
elif [ -e "${JDKROOT}"/jdk/src/java.base/share/classes/java/lang/Object.java ] ; then
openjdk_version=9;
elif [ -e "${JDKROOT}"/common/autoconf ] ; then
openjdk_version=8;
else
openjdk_version=7;
fi
echo "OpenJDK version: ${openjdk_version}";
#
# Freetype
#
if [ "${openjdk_version}" -gt 8 ] ; then
FREETYPE=src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
ABS_FREETYPE="${JDKROOT}"/"${FREETYPE}"
if [ ! -f "${ABS_FREETYPE}" ]; then
echo "Freetype header not found!"
exit 2
fi
FREETYPE_VERSION=$(awk '/#define FREETYPE_MAJOR/ {MAJOR=$3} /#define FREETYPE_MINOR/ {MINOR=$3} /#define FREETYPE_PATCH/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_FREETYPE}")
else
echo "No bundled FreeType on ${openjdk_version}";
fi
# giflib
if [ "${openjdk_version}" -gt 8 ] ; then
GIFLIB=src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
else
GIFLIB=jdk/src/share/native/sun/awt/giflib/gif_lib.h
fi
ABS_GIFLIB="${JDKROOT}"/"${GIFLIB}"
if [ ! -f "${ABS_GIFLIB}" ]; then
echo "giflib header not found!"
exit 3
fi
GIFLIB_VERSION=$(awk '/#define GIFLIB_MAJOR/ {MAJOR=$3} /#define GIFLIB_MINOR/ {MINOR=$3} /#define GIFLIB_RELEASE/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_GIFLIB}")
# harfbuzz
if [ "${openjdk_version}" -gt 8 ] ; then
HARFBUZZ=src/java.desktop/share/native/libharfbuzz/hb-version.h
ABS_HARFBUZZ="${JDKROOT}/${HARFBUZZ}"
if [ ! -f "${ABS_HARFBUZZ}" ]; then
echo "HarfBuzz header not found!"
exit 4
fi
HARFBUZZ_VERSION=$(awk '/#define HB_VERSION_MAJOR/ {MAJOR=$3} /#define HB_VERSION_MINOR/ {MINOR=$3} /#define HB_VERSION_MICRO/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_HARFBUZZ}")
else
echo "No HarfBuzz on ${openjdk_version}";
fi
# lcms
if [ "${openjdk_version}" -gt 8 ] ; then
LCMS=src/java.desktop/share/native/liblcms/lcms2.h
else
LCMS=jdk/src/share/native/sun/java2d/cmm/lcms/lcms2.h
fi
ABS_LCMS="${JDKROOT}"/"${LCMS}"
if [ ! -f "${ABS_LCMS}" ]; then
echo "lcms header not found!"
exit 5
fi
LCMS_VERSION=$(awk '/#define LCMS_VERSION/ { MAJOR=int($3 / 1000); REST=$3 % 1000; MINOR=int(REST / 10); PATCH=REST % 10; } END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_LCMS}")
# jpeg
if [ "${openjdk_version}" -gt 8 ] ; then
JPEG=src/java.desktop/share/native/libjavajpeg/jpeglib.h
else
JPEG=jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h
fi
ABS_JPEG="${JDKROOT}"/"${JPEG}"
if [ ! -f "${ABS_JPEG}" ]; then
echo "jpeg header not found!"
exit 6
fi
JPEG_VERSION=$(awk '/#define JPEG_LIB_VERSION/ { VERSION=$3; MAJOR=int(VERSION / 10); MINOR=VERSION%10; } END {printf "%s%c", MAJOR, (MINOR+96)}' "${ABS_JPEG}")
# png
if [ "${openjdk_version}" -gt 8 ] ; then
PNG=src/java.desktop/share/native/libsplashscreen/libpng/png.h
else
PNG=jdk/src/share/native/sun/awt/libpng/png.h
fi
ABS_PNG="${JDKROOT}"/"${PNG}"
if [ ! -f "${ABS_PNG}" ]; then
echo "png header not found!"
exit 7
fi
PNG_VERSION=$(awk '/#define PNG_LIBPNG_VER_STRING/ { VERSION=$3; gsub("\"", "", VERSION) } END {print VERSION}' "${ABS_PNG}")
# zlib
if [ "${openjdk_version}" -gt 8 ] ; then
ZLIB=src/java.base/share/native/libzip/zlib/zlib.h
else
ZLIB=jdk/src/share/native/java/util/zip/zlib/zlib.h
fi
ABS_ZLIB="${JDKROOT}"/"${ZLIB}"
if [ ! -f "${ABS_ZLIB}" ]; then
echo "zlib header not found!"
exit 8
fi
ZLIB_VERSION=$(awk '/#define ZLIB_VERSION/ { VERSION=$3; gsub("\"", "", VERSION) } END {print VERSION}' "${ABS_ZLIB}")
# Print output
printf "\nRPM definitions:\n"
if [ "${openjdk_version}" -gt 8 ] ; then
echo "# Version in ${FREETYPE}"
echo "Provides: bundled(freetype) = ${FREETYPE_VERSION}"
fi
echo "# Version in ${GIFLIB}"
echo "Provides: bundled(giflib) = ${GIFLIB_VERSION}"
if [ "${openjdk_version}" -gt 8 ] ; then
echo "# Version in ${HARFBUZZ}"
echo "Provides: bundled(harfbuzz) = ${HARFBUZZ_VERSION}"
fi
echo "# Version in ${LCMS}"
echo "Provides: bundled(lcms2) = ${LCMS_VERSION}"
echo "# Version in ${JPEG}"
echo "Provides: bundled(libjpeg) = ${JPEG_VERSION}"
echo "# Version in ${PNG}"
echo "Provides: bundled(libpng) = ${PNG_VERSION}"
echo "# Version in ${ZLIB}"
echo "Provides: bundled(zlib) = ${ZLIB_VERSION}"
# Local Variables:
# compile-command: "shellcheck get_bundle_versions.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

1
scripts/icedtea_sync.sh Executable file
View file

@ -0,0 +1 @@
# this file is intentionally not here, as portable builds do not have desktop integration

114
scripts/openjdk_news.sh Executable file
View file

@ -0,0 +1,114 @@
#!/bin/bash
# Copyright (C) 2024 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>, 2012-2022
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
OLD_RELEASE=$1
NEW_RELEASE=$2
REPO=$3
SUBDIR=$4
SCRIPT_DIR=$(dirname "${0}")
if test "${SUBDIR}" = ""; then
echo "No subdirectory specified; using .";
SUBDIR=".";
fi
if test "$REPO" = ""; then
echo "No repository specified; using ${PWD}"
REPO=${PWD}
fi
if test "${TMPDIR}" = ""; then
TMPDIR=/tmp;
fi
echo "Repository: ${REPO}"
if [ -e "${REPO}/.git" ] ; then
TYPE=git;
elif [ -e "${REPO}/.hg" ] ; then
TYPE=hg;
else
echo "No Mercurial or Git repository detected.";
exit 1;
fi
if test "$OLD_RELEASE" = "" || test "$NEW_RELEASE" = ""; then
echo "ERROR: Need to specify old and new release";
exit 2;
fi
echo "Listing fixes between $OLD_RELEASE and $NEW_RELEASE in $REPO"
rm -f "${TMPDIR}/fixes2" "${TMPDIR}/fixes3" "${TMPDIR}/fixes"
for repos in . $("${SCRIPT_DIR}/discover_trees.sh" "${REPO}");
do
if test "$TYPE" = "hg"; then
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R "$REPO/$repos" -G -M "${REPO}/${SUBDIR}" | \
grep -E '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
sed 's#^[o:| ]*summary:\W*# - #' >> "${TMPDIR}/fixes2";
hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R "$REPO/$repos" -G -M "${REPO}/${SUBDIR}" | \
grep -E '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> "${TMPDIR}/fixes3";
else
git -C "${REPO}" log --no-merges --pretty=format:%B "${NEW_RELEASE}...${OLD_RELEASE}" -- "${SUBDIR}" |grep -E '^[0-9]{7}' | \
sed -r 's#^([0-9])# - JDK-\1#' >> "${TMPDIR}/fixes2";
touch "${TMPDIR}/fixes3" ; # unused
fi
done
sort "${TMPDIR}/fixes2" "${TMPDIR}/fixes3" > "${TMPDIR}/fixes4"
uniq "${TMPDIR}/fixes4" > "${TMPDIR}/fixes"
rm -f "${TMPDIR}/fixes2" "${TMPDIR}/fixes3"
if ! [ -s "${TMPDIR}/fixes" ] ; then
echo "Failed to obtain fixes.";
exit 3;
fi
echo "In ${TMPDIR}/fixes:"
cat "${TMPDIR}/fixes"
printf "\nChecking for duplicates...";
if uniq -d "${TMPDIR}/fixes4" | grep 'JDK' > "${TMPDIR}/dupes"; then
printf "found.\nWARNING: Review the following duplicates:\n";
cat "${TMPDIR}/dupes";
else
echo "No apparent duplicates.";
fi
rm -f "${TMPDIR}/fixes4";
printf "\nChecking for backouts...";
if grep -i 'backout' "${TMPDIR}/fixes" > "${TMPDIR}/backouts"; then
printf "found.\nWARNING: Review the following backouts:\n"
cat "${TMPDIR}/backouts";
else
echo "No apparent backouts.";
fi
printf "\nChecking for bundled library updates...";
if grep -iE ':( \(tz\))? update.*(freetype|gif|harfbuzz|lcms|jpeg|png|timezone|zlib)' "${TMPDIR}/fixes" > "${TMPDIR}/bundles"; then
printf "found.\nWARNING: Review the following with respect to bundled provides:\n";
cat "${TMPDIR}/bundles";
echo "Compare the output of $(dirname "${0}")/get_bundle_versions.sh with the RPM using the JDK source tree"
else
echo "No apparent library updates.";
fi
# Local Variables:
# compile-command: "shellcheck openjdk_news.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View file

@ -1 +1 @@
SHA512 (openjdk-jdk20u-jdk-20.0.1+9.tar.xz) = 41585ff383497464e5d6c278b39bed9eeddc80add72b65bd2ab8c95867ce5bc8bfb0ea860fcaf7c4cc5d41122fd62cf3348fa6c788a1978bdc7f20c3d0289b9b
SHA512 (openjdk-26+29-ea.tar.xz) = 4e80882e0de26eff7d46d762e255911d42544473cc5f12ab0af1997969a14cc697e1164cb3c90d894359b58cc42dbd2b233f00fa807dbfad41583da278e26666