Compare commits
21 Commits
a10s-porta
...
c10s
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84feccfe25 | ||
|
|
80cc65126a | ||
|
|
297f11a7fc | ||
|
|
34e3149c5a | ||
|
|
5a5069d570 | ||
|
|
8068bbc02a | ||
|
|
1e53c2a5c7 | ||
|
|
96ab801691 | ||
|
|
d620f3b109 | ||
|
|
335fe3d7e6 | ||
|
|
e446d04709 | ||
|
|
85c438123f | ||
|
|
2e8c01e6e7 | ||
|
|
d4379dbf2e | ||
|
|
8d24c254b9 | ||
|
|
e8bdda3a9e | ||
|
|
c40cb590e9 | ||
|
|
6877ce43a3 | ||
|
|
4482c92918 | ||
|
|
97eed77585 | ||
|
|
f9b6975315 |
4
.gitignore
vendored
4
.gitignore
vendored
@ -39,3 +39,7 @@
|
||||
/openjdk-21.0.8+8-ea.tar.xz
|
||||
/openjdk-21.0.8+9.tar.xz
|
||||
/openjdk-22.0.2+9.tar.xz
|
||||
/openjdk-23.0.2+7.tar.xz
|
||||
/openjdk-24.0.2+12.tar.xz
|
||||
/openjdk-25+36.tar.xz
|
||||
/openjdk-25.0.1+8.tar.xz
|
||||
|
||||
561
NEWS
561
NEWS
@ -3,7 +3,96 @@ 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 22.0.0 (2024-03-19):
|
||||
New in release OpenJDK 25.0.1 (2025-10-21):
|
||||
===========================================
|
||||
|
||||
* CVEs
|
||||
- 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
|
||||
|
||||
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 22
|
||||
@ -15,16 +104,27 @@ NEW FEATURES
|
||||
Language Features
|
||||
=================
|
||||
|
||||
Statements before super(...)
|
||||
Flexible Constructor Bodies
|
||||
============================
|
||||
https://openjdk.org/jeps/447
|
||||
https://openjdk.org/jeps/482
|
||||
https://openjdk.org/jeps/492
|
||||
https://openjdk.org/jeps/513
|
||||
|
||||
In constructors in the Java programming language, allow statements
|
||||
that do not reference the instance being created to appear before an
|
||||
explicit constructor invocation (i.e. super()).
|
||||
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 language feature (http://openjdk.java.net/jeps/12)
|
||||
introduced in OpenJDK 22 (JEP 447).
|
||||
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).
|
||||
|
||||
Unnamed Patterns and Variables
|
||||
==============================
|
||||
@ -36,22 +136,37 @@ 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 feature is now final. It was a preview feature
|
||||
This feature is now finalised (JEP 456). It was a preview feature
|
||||
(http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP 443).
|
||||
|
||||
String Templates
|
||||
================
|
||||
https://openjdk.org/jeps/430
|
||||
https://openjdk.org/jeps/459
|
||||
Primitive Types in Patterns, instanceof, and switch
|
||||
===================================================
|
||||
https://openjdk.org/jeps/455
|
||||
https://openjdk.org/jeps/488
|
||||
https://openjdk.org/jeps/507
|
||||
|
||||
Enhance the Java programming language with string templates. String
|
||||
templates complement Java's existing string literals and text blocks
|
||||
by coupling literal text with embedded expressions and template
|
||||
processors to produce specialized results.
|
||||
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 feature (http://openjdk.java.net/jeps/12) introduced
|
||||
in OpenJDK 21 (JEP 430) and reaching its second preview in OpenJDK 22
|
||||
(JEP 459).
|
||||
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
|
||||
================
|
||||
@ -72,25 +187,41 @@ 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 API is now finalised. 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
|
||||
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 is a preview library feature (http://openjdk.java.net/jeps/12)
|
||||
introduced in OpenJDK 22 (JEP 457).
|
||||
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
|
||||
==========
|
||||
@ -101,6 +232,9 @@ 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
|
||||
@ -111,19 +245,23 @@ 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), OpenJDK 20 (JEP 438) a fifth, OpenJDK
|
||||
21 a sixth (JEP 448) and it reaches its seventh in OpenJDK 22 (JEP
|
||||
460).
|
||||
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).
|
||||
|
||||
Stream Gatherers
|
||||
================
|
||||
https://openjdk.org/jeps/461
|
||||
https://openjdk.org/jeps/473
|
||||
https://openjdk.org/jeps/485
|
||||
|
||||
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 is a preview library feature (http://openjdk.java.net/jeps/12)
|
||||
introduced in OpenJDK 22 (JEP 461).
|
||||
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
|
||||
======================
|
||||
@ -131,6 +269,9 @@ 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
|
||||
@ -142,41 +283,124 @@ 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) and reaches its second preview in OpenJDK 22 (JEP 462).
|
||||
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).
|
||||
|
||||
Implicitly Declared Classes and Instance Main Methods
|
||||
=====================================================
|
||||
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 language so that students can write their first
|
||||
programs without needing to understand language features designed for
|
||||
large programs. Far from using a separate dialect of Java, students
|
||||
can write streamlined declarations for single-class programs and then
|
||||
seamlessly expand their programs to use more advanced features as
|
||||
their skills grow.
|
||||
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 was introduced as a preview
|
||||
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 reaches a second
|
||||
preview in OpenJDK 22 (JEP 463) under a new name, due to the move away
|
||||
from unnamed classes to an implicitly declared name chosen by the host
|
||||
system.
|
||||
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 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) and reaches its second preview in OpenJDK 22 (JEP 464).
|
||||
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
|
||||
============================
|
||||
@ -189,6 +413,144 @@ 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
|
||||
=====
|
||||
|
||||
@ -201,3 +563,108 @@ 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).
|
||||
|
||||
@ -52,9 +52,9 @@ public class TestTranslations {
|
||||
map.put(Locale.FRANCE, new String[] { "heure normale des Rocheuses", "UTC\u221207:00", "MST",
|
||||
"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-Mountain-Normalzeit", "GMT-07:00", "MST",
|
||||
"Rocky-Mountain-Sommerzeit", "GMT-06:00", "MST",
|
||||
"Rocky-Mountain-Zeit", "GMT-07: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);
|
||||
}
|
||||
|
||||
|
||||
@ -247,6 +247,13 @@
|
||||
%global dtsversion 10
|
||||
%endif
|
||||
|
||||
# Check if pandoc is available to generate docs (including man pages)
|
||||
%if 0%{?rhel} == 8
|
||||
%global pandoc_available 1
|
||||
%else
|
||||
%global pandoc_available 0
|
||||
%endif
|
||||
|
||||
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
|
||||
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
|
||||
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
|
||||
@ -327,10 +334,9 @@
|
||||
%endif
|
||||
|
||||
# New Version-String scheme-style defines
|
||||
%global featurever 22
|
||||
%global fakefeaturever 25
|
||||
%global featurever 25
|
||||
%global interimver 0
|
||||
%global updatever 2
|
||||
%global updatever 1
|
||||
%global patchver 0
|
||||
# buildjdkver is usually same as %%{featurever},
|
||||
# but in time of bootstrap of next jdk, it is featurever-1,
|
||||
@ -345,21 +351,6 @@
|
||||
%global lts_designator ""
|
||||
%global lts_designator_zip ""
|
||||
%endif
|
||||
# JDK to use for bootstrapping
|
||||
%global bootjdkpkg java-%{fakefeaturever}-openjdk
|
||||
%ifarch %{fastdebug_arches}
|
||||
%global bootdebugpkg fastdebug
|
||||
%endif
|
||||
%global bootjdkzip %{_jvmdir}/%{bootjdkpkg}-*.portable%{?bootdebugpkg:.%{bootdebugpkg}}.jdk.%{_arch}.tar.xz
|
||||
%global bootjdk %{_builddir}/%{bootjdkpkg}.boot
|
||||
# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so
|
||||
# This will only work where the bootstrap JDK is the same major version
|
||||
# as the JDK being built
|
||||
%if %{with fresh_libjvm} && %{buildjdkver} == %{featurever}
|
||||
%global build_hotspot_first 1
|
||||
%else
|
||||
%global build_hotspot_first 0
|
||||
%endif
|
||||
|
||||
# Define vendor information used by OpenJDK
|
||||
%global oj_vendor Red Hat, Inc.
|
||||
@ -388,8 +379,7 @@
|
||||
%global fipsver 9203d50836c
|
||||
# Define JDK versions
|
||||
%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
|
||||
# Force 25 until we are actually ready to build that JDK version
|
||||
%global javaver %{fakefeaturever}
|
||||
%global javaver %{featurever}
|
||||
# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
|
||||
%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
|
||||
# The tag used to create the OpenJDK tarball
|
||||
@ -400,8 +390,8 @@
|
||||
%global origin_nice OpenJDK
|
||||
%global top_level_dir_name %{vcstag}
|
||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||
%global buildver 9
|
||||
%global rpmrelease 2
|
||||
%global buildver 8
|
||||
%global rpmrelease 1
|
||||
#%%global tagsuffix %%{nil}
|
||||
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
|
||||
%if %is_system_jdk
|
||||
@ -436,16 +426,16 @@
|
||||
%endif
|
||||
|
||||
# parametrized macros are order-sensitive
|
||||
%global compatiblename java-%{fakefeaturever}-%{origin}
|
||||
%global compatiblename java-%{featurever}-%{origin}
|
||||
%global fullversion %{compatiblename}-%{version}-%{release}
|
||||
# images directories from upstream build
|
||||
%global jdkimage jdk
|
||||
%global static_libs_image static-libs
|
||||
# output dir stub
|
||||
%define buildoutputdir() %{expand:build/jdk%{fakefeaturever}.build%{?1}}
|
||||
%define installoutputdir() %{expand:install/jdk%{fakefeaturever}.install%{?1}}
|
||||
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
|
||||
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
|
||||
%global altjavaoutputdir install/altjava.install
|
||||
%define packageoutputdir() %{expand:packages/jdk%{fakefeaturever}.packages%{?1}}
|
||||
%define packageoutputdir() %{expand:packages/jdk%{featurever}.packages%{?1}}
|
||||
# we can copy the javadoc to not arched dir, or make it not noarch
|
||||
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
|
||||
# main id and dir of this jdk
|
||||
@ -468,6 +458,22 @@
|
||||
%define miscportablename() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable.misc;g")
|
||||
%define miscportablearchive() %{miscportablename}.tar.xz
|
||||
|
||||
# JDK to use for bootstrapping
|
||||
%global bootjdkpkg java-%{featurever}-%{origin}
|
||||
%ifarch %{fastdebug_arches}
|
||||
%global bootdebugpkg fastdebug
|
||||
%endif
|
||||
%global bootjdkzip %{_jvmdir}/%{bootjdkpkg}-*.portable%{?bootdebugpkg:.%{bootdebugpkg}}.jdk.%{_arch}.tar.xz
|
||||
%global bootjdk %{_builddir}/%{uniquesuffix -- ""}/%{bootjdkpkg}.boot
|
||||
# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so
|
||||
# This will only work where the bootstrap JDK is the same major version
|
||||
# as the JDK being built
|
||||
%if %{with fresh_libjvm} && %{buildjdkver} == %{featurever}
|
||||
%global build_hotspot_first 1
|
||||
%else
|
||||
%global build_hotspot_first 0
|
||||
%endif
|
||||
|
||||
#################################################################
|
||||
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
|
||||
@ -597,7 +603,7 @@ Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/open%{vcstag}%{ea_
|
||||
# Use 'icedtea_sync.sh' to update the following
|
||||
# They are based on code contained in the IcedTea project (6.x).
|
||||
# Systemtap tapsets. Zipped up to keep it small.
|
||||
Source8: tapsets-icedtea-%%{icedteaver}.tar.xz
|
||||
Source8: tapsets-icedtea-%{icedteaver}.tar.xz
|
||||
|
||||
# Desktop files. Adapted from IcedTea
|
||||
# Disabled in portables
|
||||
@ -738,14 +744,14 @@ BuildRequires: zip
|
||||
BuildRequires: tar
|
||||
BuildRequires: unzip
|
||||
BuildRequires: javapackages-filesystem
|
||||
BuildRequires: %{bootjdkpkg}-portable-devel%{?bootdebugpkg:-%{bootdebugpkg}}
|
||||
BuildRequires: %{bootjdkpkg}-portable-devel%{?bootdebugpkg:-%{bootdebugpkg}} >= %{buildjdkver}
|
||||
# Zero-assembler build requirement
|
||||
%ifarch %{zero_arches}
|
||||
BuildRequires: libffi-devel
|
||||
%endif
|
||||
# Full documentation build requirements
|
||||
# pandoc is only available on RHEL/CentOS 8
|
||||
%if 0%{?rhel} == 8
|
||||
%if %{pandoc_available}
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: pandoc
|
||||
%endif
|
||||
@ -1001,6 +1007,12 @@ pushd %{top_level_dir_name}
|
||||
#%patch -P1001 -p1
|
||||
popd # openjdk
|
||||
|
||||
echo "Generating %{alt_java_name} man page"
|
||||
altjavamanpage=%{top_level_dir_name}/src/java.base/share/man/%{alt_java_name}.md
|
||||
altjavatext="Hardened java binary recommended for launching untrusted code from the Web e.g. javaws"
|
||||
sed -r -e 's|([^/.])java([^./])|\1alt-java\2|g' %{top_level_dir_name}/src/java.base/share/man/java.md | \
|
||||
sed -e 's|JAVA(|ALT-JAVA(|' | \
|
||||
sed -e "s|java - launch a Java application|alt-java - ${altjavatext}|" >> ${altjavamanpage}
|
||||
|
||||
# The OpenJDK version file includes the current
|
||||
# upstream version information. For some reason,
|
||||
@ -1066,7 +1078,7 @@ pushd %{_jvmdir}
|
||||
sha256sum --check %{bootjdkzip}.sha256sum
|
||||
popd
|
||||
tar -xJf %{bootjdkzip}
|
||||
mv java-%{fakefeaturever}-openjdk-%{featurever}* %{bootjdk}
|
||||
mv java-%{featurever}-openjdk-%{buildjdkver}* %{bootjdk}
|
||||
# Print release information
|
||||
echo "Installed boot JDK:"
|
||||
cat %{bootjdk}/release
|
||||
@ -1361,6 +1373,7 @@ function installjdk() {
|
||||
# legacy-jre-image target does not install any man pages for the JRE
|
||||
# We copy the jdk man directory and then remove pages for binaries that
|
||||
# don't exist in the JRE
|
||||
%if %{pandoc_available}
|
||||
cp -a ${jdkimagepath}/man ${jreimagepath}
|
||||
for manpage in $(find ${jreimagepath}/man -name '*.1'); do
|
||||
filename=$(basename ${manpage});
|
||||
@ -1370,6 +1383,7 @@ function installjdk() {
|
||||
rm -f ${manpage};
|
||||
fi;
|
||||
done
|
||||
%endif
|
||||
|
||||
for imagepath in ${jdkimagepath} ${jreimagepath} ${unstripped}; do
|
||||
|
||||
@ -1520,7 +1534,7 @@ function packagejdk() {
|
||||
%if %{with_systemtap}
|
||||
cp -a ${tapsetdir}* ${miscname}
|
||||
%endif
|
||||
cp -av ${altjavadir}/%{alt_java_name}{,.1} ${miscname}
|
||||
cp -av ${altjavadir}/%{alt_java_name} ${miscname}
|
||||
createtar ${miscname} ${miscarchive}
|
||||
genchecksum ${miscarchive}
|
||||
fi
|
||||
@ -1561,10 +1575,6 @@ function packagejdk() {
|
||||
echo "Building %{SOURCE11}"
|
||||
mkdir -p %{altjavaoutputdir}
|
||||
LD_LIBRARY_PATH="${LIBPATH}" ${GCC} ${EXTRA_CFLAGS} -o %{altjavaoutputdir}/%{alt_java_name} %{SOURCE11}
|
||||
echo "Generating %{alt_java_name} man page"
|
||||
altjavamanpage=%{altjavaoutputdir}/%{alt_java_name}.1
|
||||
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > ${altjavamanpage}
|
||||
cat %{top_level_dir_name}/src/java.base/share/man/java.1 >> ${altjavamanpage}
|
||||
|
||||
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
|
||||
|
||||
@ -1718,14 +1728,14 @@ $JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -versi
|
||||
unzip -l $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
|
||||
|
||||
# Check class files include useful debugging information
|
||||
$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
|
||||
$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
|
||||
$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
|
||||
$JAVA_HOME/bin/javap -c -l java.lang.Object | grep "Compiled from"
|
||||
$JAVA_HOME/bin/javap -c -l java.lang.Object | grep LineNumberTable
|
||||
$JAVA_HOME/bin/javap -c -l java.lang.Object | grep LocalVariableTable
|
||||
|
||||
# Check generated class files include useful debugging information
|
||||
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
|
||||
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
|
||||
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
|
||||
$JAVA_HOME/bin/javap -c -l java.nio.ByteBuffer | grep "Compiled from"
|
||||
$JAVA_HOME/bin/javap -c -l java.nio.ByteBuffer | grep LineNumberTable
|
||||
$JAVA_HOME/bin/javap -c -l java.nio.ByteBuffer | grep LocalVariableTable
|
||||
|
||||
%else
|
||||
|
||||
@ -1957,6 +1967,40 @@ done
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Nov 10 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:25.0.1.0.8-1
|
||||
- Update to jdk-25.0.1+8 (GA)
|
||||
- Update release notes to 25.0.1+8
|
||||
- Related: RHELBU-3203
|
||||
|
||||
* Mon Nov 10 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:25.0.0.0.36-2
|
||||
- Drop fakefeaturever and rebuild with ourselves now we have reached OpenJDK 25
|
||||
- Related: RHELBU-3203
|
||||
|
||||
* Sun Nov 09 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:25.0.0.0.36-1
|
||||
- Update to jdk-25.0.0+36 (GA)
|
||||
- Update release notes with features of JDK 25
|
||||
- Mention finalisation JEP for features finalised in JDK 22, 23 & 24
|
||||
- Resolves: RHELBU-3203
|
||||
|
||||
* Wed Nov 05 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:24.0.2.0.12-1
|
||||
- Update to jdk-24.0.2+12 (GA)
|
||||
- Update release notes with features of JDK 24
|
||||
- Generate alt-java.md during prep following removal of pre-generated man pages in JDK-8344056
|
||||
- Introduce pandoc_available global for conditional handling of both pandoc dependency and manpages
|
||||
- Adjust TestTranslations.java with updated German translations from CLDR 46 (JDK-8333582) (Mountain->Mountains)
|
||||
- Run javap with the disassembled code (-c) option now required for -l by JDK-8345145
|
||||
- Related: RHELBU-3203
|
||||
|
||||
* Sat Oct 25 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:23.0.2.0.7-1
|
||||
- Update to jdk-23.0.2+7 (GA)
|
||||
- Update release notes with features of JDK 23
|
||||
- Switch buildjdkver to featurever + 1
|
||||
- Use buildjdkver in the path to the extracted bootstrap JDK
|
||||
- Move bootstrap declarations later so they can use variables like uniquesuffix
|
||||
- Fix bootjdk so it uses our build subdirectory created in setup (_builddir only gives the top-level BUILD)
|
||||
- Fix double '%' in specification of IcedTea sources
|
||||
- Related: RHELBU-3203
|
||||
|
||||
* Mon Sep 22 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:22.0.2.0.9-2
|
||||
- Build using ourselves rather than the system JDK as java-25-openjdk is unavailable on older systems
|
||||
- Switch buildjdkver back to featurever temporarily for this rebuild
|
||||
|
||||
@ -142,6 +142,8 @@
|
||||
%global svml_arches x86_64
|
||||
# Set of architectures for which java has intrinsics for Arrays.sort (libsimdsort.so)
|
||||
%global simdsort_arches x86_64
|
||||
# Set of architectures for which SLEEF is used for vector math operations
|
||||
%global sleef_arches %{aarch64} riscv64
|
||||
# Set of architectures where we verify backtraces with gdb
|
||||
%global gdb_arches %{jit_arches} %{zero_arches}
|
||||
# Architecture on which we run Java only tests
|
||||
@ -312,10 +314,9 @@
|
||||
%endif
|
||||
|
||||
# New Version-String scheme-style defines
|
||||
%global featurever 22
|
||||
%global fakefeaturever 25
|
||||
%global featurever 25
|
||||
%global interimver 0
|
||||
%global updatever 2
|
||||
%global updatever 1
|
||||
%global patchver 0
|
||||
# We don't add any LTS designator for STS packages (Fedora and EPEL).
|
||||
# We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined.
|
||||
@ -356,8 +357,7 @@
|
||||
%global crypto_policy_active false
|
||||
# Define JDK versions
|
||||
%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
|
||||
# Force 25 until we are actually ready to build that JDK version
|
||||
%global javaver %{fakefeaturever}
|
||||
%global javaver %{featurever}
|
||||
# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
|
||||
%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
|
||||
# The tag used to create the OpenJDK tarball
|
||||
@ -375,17 +375,24 @@
|
||||
%global origin_nice OpenJDK
|
||||
%global top_level_dir_name %{vcstag}
|
||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||
%global buildver 9
|
||||
%global rpmrelease 1
|
||||
%global buildver 8
|
||||
%global rpmrelease 2
|
||||
# Settings used by the portable build
|
||||
%global portablerelease 2
|
||||
%global portablerelease 1
|
||||
# Portable suffix differs between RHEL and CentOS
|
||||
%if 0%{?centos} == 0
|
||||
%global portablesuffix %{?pkgos:el7_9}%{!?pkgos:el8}
|
||||
%global portablerhel %{?pkgos:7_9}%{!?pkgos:8}
|
||||
%else
|
||||
%global portablesuffix el9
|
||||
%global portablerhel 9
|
||||
%endif
|
||||
%global portablebuilddir /builddir/build/BUILD
|
||||
%global portablesuffix el%{portablerhel}
|
||||
# Check if pandoc was available to generate docs (including man pages)
|
||||
%if 0%{?portablerhel} == 8
|
||||
%global pandoc_available 1
|
||||
%else
|
||||
%global pandoc_available 0
|
||||
%endif
|
||||
|
||||
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
|
||||
%if %is_system_jdk
|
||||
@ -420,13 +427,13 @@
|
||||
%endif
|
||||
|
||||
# parametrized macros are order-sensitive
|
||||
%global compatiblename java-%{fakefeaturever}-%{origin}
|
||||
%global compatiblename java-%{featurever}-%{origin}
|
||||
%global fullversion %{compatiblename}-%{version}-%{release}
|
||||
# images directories from upstream build
|
||||
%global jdkimage jdk
|
||||
%global static_libs_image static-libs
|
||||
# output dir stub
|
||||
%define installoutputdir() %{expand:install/jdk%{fakefeaturever}.install%{?1}}
|
||||
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
|
||||
# we can copy the javadoc to not arched dir, or make it not noarch
|
||||
%define uniquejavadocdir() %{expand:%{compatiblename}%{?1}}
|
||||
# main id and dir of this jdk
|
||||
@ -436,7 +443,7 @@
|
||||
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1655938
|
||||
%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|lible[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libzip[.]so.*%{freetype_lib}
|
||||
%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|libjsvml[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsimdsort[.]so.*|libsleef[.]so.*|libsyslookup[.]so.*|libzip[.]so.*%{freetype_lib}
|
||||
%global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.*
|
||||
%if %is_system_jdk
|
||||
%global __provides_exclude ^(%{_privatelibs})$
|
||||
@ -523,12 +530,20 @@ alternatives --install %{_bindir}/java java %{jrebindir -- %{?1}}/java %{priorit
|
||||
--slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
|
||||
--slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
|
||||
--slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
|
||||
--slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
|
||||
--slave %{_mandir}/man1/java.1%{man_comp} java.1%{man_comp} %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/%{alt_java_name}.1%{man_comp} %{alt_java_name}.1%{man_comp} %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jcmd.1%{man_comp} jcmd.1%{man_comp} %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/keytool.1%{man_comp} keytool.1%{man_comp} %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/rmiregistry.1%{man_comp} rmiregistry.1%{man_comp} %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
--slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry
|
||||
%if %{pandoc_available}
|
||||
alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
|
||||
%{_mandir}/man1/java.1%{man_comp} java.1%{man_comp} %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
|
||||
%{_mandir}/man1/%{alt_java_name}.1%{man_comp} %{alt_java_name}.1%{man_comp} %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
|
||||
%{_mandir}/man1/jcmd.1%{man_comp} jcmd.1%{man_comp} %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
|
||||
%{_mandir}/man1/keytool.1%{man_comp} keytool.1%{man_comp} %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
|
||||
%{_mandir}/man1/rmiregistry.1%{man_comp} rmiregistry.1%{man_comp} %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
%endif
|
||||
|
||||
alternatives --install %{_jvmdir}/jre-%{origin} jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
|
||||
alternatives --install %{_jvmdir}/jre-%{javaver} jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
|
||||
alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
|
||||
@ -596,13 +611,6 @@ if [ "x$debug" == "xtrue" ] ; then
|
||||
fi
|
||||
alternatives --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac %{priority_for -- %{?1}} \\
|
||||
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
|
||||
--slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
|
||||
--slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
|
||||
%ifarch %{sa_arches}
|
||||
%ifnarch %{zero_arches}
|
||||
--slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
|
||||
%endif
|
||||
%endif
|
||||
--slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
|
||||
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
|
||||
--slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
|
||||
@ -612,9 +620,17 @@ alternatives --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac %{prio
|
||||
--slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
|
||||
--slave %{_bindir}/jdeprscan jdeprscan %{sdkbindir -- %{?1}}/jdeprscan \\
|
||||
--slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\
|
||||
%ifarch %{sa_arches}
|
||||
%ifnarch %{zero_arches}
|
||||
--slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
|
||||
%endif
|
||||
%endif
|
||||
--slave %{_bindir}/jimage jimage %{sdkbindir -- %{?1}}/jimage \\
|
||||
--slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
|
||||
--slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
|
||||
--slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
|
||||
--slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
|
||||
--slave %{_bindir}/jnativescan jnativescan %{sdkbindir -- %{?1}}/jnativescan \\
|
||||
--slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
|
||||
--slave %{_bindir}/jpackage jpackage %{sdkbindir -- %{?1}}/jpackage \\
|
||||
--slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
|
||||
@ -623,25 +639,63 @@ alternatives --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac %{prio
|
||||
--slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
|
||||
--slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
|
||||
--slave %{_bindir}/jwebserver jwebserver %{sdkbindir -- %{?1}}/jwebserver \\
|
||||
--slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
|
||||
--slave %{_mandir}/man1/jar.1%{man_comp} jar.1%{man_comp} %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jarsigner.1%{man_comp} jarsigner.1%{man_comp} %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/javac.1%{man_comp} javac.1%{man_comp} %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/javadoc.1%{man_comp} javadoc.1%{man_comp} %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/javap.1%{man_comp} javap.1%{man_comp} %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jconsole.1%{man_comp} jconsole.1%{man_comp} %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jdb.1%{man_comp} jdb.1%{man_comp} %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jdeps.1%{man_comp} jdeps.1%{man_comp} %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jinfo.1%{man_comp} jinfo.1%{man_comp} %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jmap.1%{man_comp} jmap.1%{man_comp} %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jps.1%{man_comp} jps.1%{man_comp} %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jpackage.1%{man_comp} jpackage.1%{man_comp} %{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jrunscript.1%{man_comp} jrunscript.1%{man_comp} %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jstack.1%{man_comp} jstack.1%{man_comp} %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jstat.1%{man_comp} jstat.1%{man_comp} %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jwebserver.1%{man_comp} jwebserver.1%{man_comp} %{_mandir}/man1/jwebserver-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/jstatd.1%{man_comp} jstatd.1%{man_comp} %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1%{man_comp} \\
|
||||
--slave %{_mandir}/man1/serialver.1%{man_comp} serialver.1%{man_comp} %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
--slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver
|
||||
%if %{pandoc_available}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jar.1%{man_comp} jar.1%{man_comp} %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jarsigner.1%{man_comp} jarsigner.1%{man_comp} %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/javac.1%{man_comp} javac.1%{man_comp} %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/javadoc.1%{man_comp} javadoc.1%{man_comp} %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/javap.1%{man_comp} javap.1%{man_comp} %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jconsole.1%{man_comp} jconsole.1%{man_comp} %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jdb.1%{man_comp} jdb.1%{man_comp} %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jdeps.1%{man_comp} jdeps.1%{man_comp} %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jdeprscan.1%{man_comp} jdeprscan.1%{man_comp} %{_mandir}/man1/jdeprscan-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jfr.1%{man_comp} jfr.1%{man_comp} %{_mandir}/man1/jfr-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
%ifarch %{sa_arches}
|
||||
%ifnarch %{zero_arches}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jhsdb.1%{man_comp} jhsdb.1%{man_comp} %{_mandir}/man1/jhsdb-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
%endif
|
||||
%endif
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jimage.1%{man_comp} jimage.1%{man_comp} %{_mandir}/man1/jimage-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jinfo.1%{man_comp} jinfo.1%{man_comp} %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jlink.1%{man_comp} jlink.1%{man_comp} %{_mandir}/man1/jlink-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jmap.1%{man_comp} jmap.1%{man_comp} %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jmod.1%{man_comp} jmod.1%{man_comp} %{_mandir}/man1/jmod-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jnativescan.1%{man_comp} jnativescan.1%{man_comp} %{_mandir}/man1/jnativescan-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jps.1%{man_comp} jps.1%{man_comp} %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jpackage.1%{man_comp} jpackage.1%{man_comp} %{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jrunscript.1%{man_comp} jrunscript.1%{man_comp} %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jstack.1%{man_comp} jstack.1%{man_comp} %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jstat.1%{man_comp} jstat.1%{man_comp} %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jstatd.1%{man_comp} jstatd.1%{man_comp} %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/jwebserver.1%{man_comp} jwebserver.1%{man_comp} %{_mandir}/man1/jwebserver-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
|
||||
%{_mandir}/man1/serialver.1%{man_comp} serialver.1%{man_comp} %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1%{man_comp}
|
||||
%endif
|
||||
alternatives --install %{_jvmdir}/java-%{origin} java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
|
||||
alternatives --install %{_jvmdir}/java-%{javaver} java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
|
||||
}
|
||||
@ -734,7 +788,7 @@ fi
|
||||
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/README.md
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/java-%{fakefeaturever}-openjdk-portable.specfile
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/java-%{featurever}-openjdk-portable.specfile
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/openjdk-devkit.specfile
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/0*.patch
|
||||
%dir %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}
|
||||
@ -785,7 +839,6 @@ fi
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsvml.so
|
||||
%endif
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/liblcms.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/lible.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_agent.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_ext.so
|
||||
@ -804,23 +857,30 @@ fi
|
||||
%ifarch %{simdsort_arches}
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsimdsort.so
|
||||
%endif
|
||||
%ifarch %{sleef_arches}
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsleef.so
|
||||
%endif
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsyslookup.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so
|
||||
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
|
||||
%if %{pandoc_available}
|
||||
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
|
||||
%endif
|
||||
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/*.so
|
||||
%ifarch %{share_arches}
|
||||
%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes.jsa
|
||||
%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes_coh.jsa
|
||||
%ifnarch %{ix86} %{arm32}
|
||||
%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes_nocoops.jsa
|
||||
%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes_nocoops_coh.jsa
|
||||
%endif
|
||||
%endif
|
||||
%dir %{etcjavasubdir}
|
||||
@ -835,7 +895,6 @@ fi
|
||||
%dir %{etcjavadir -- %{?1}}/conf/security/policy
|
||||
%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
|
||||
%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blocked.certs
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/exempt_local.policy
|
||||
@ -844,7 +903,6 @@ fi
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_local.policy
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_US_export.policy
|
||||
%{etcjavadir -- %{?1}}/conf/security/policy/README.txt
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.policy
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.security
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
|
||||
# This is a config template, thus not config-noreplace
|
||||
@ -852,6 +910,7 @@ fi
|
||||
%config %{etcjavadir -- %{?1}}/conf/sdp/sdp.conf.template
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/jaxp.properties
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/jaxp-strict.properties.template
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties
|
||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties
|
||||
@ -893,13 +952,16 @@ fi
|
||||
%ifarch %{sa_arches}
|
||||
%ifnarch %{zero_arches}
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
|
||||
%if %{pandoc_available}
|
||||
%{_mandir}/man1/jhsdb-%{uniquesuffix -- %{?1}}.1*
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmod
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jnativescan
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jpackage
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
|
||||
@ -911,10 +973,14 @@ fi
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/include
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
|
||||
|
||||
%if %{with_systemtap}
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
|
||||
%endif
|
||||
|
||||
%{_datadir}/applications/*jconsole%{?1}.desktop
|
||||
|
||||
%if %{pandoc_available}
|
||||
%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1*
|
||||
@ -929,6 +995,7 @@ fi
|
||||
%{_mandir}/man1/jlink-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jmod-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jnativescan-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
|
||||
@ -938,6 +1005,7 @@ fi
|
||||
%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jwebserver-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
|
||||
%endif
|
||||
|
||||
%if %{with_systemtap}
|
||||
%dir %{tapsetroot}
|
||||
@ -945,12 +1013,11 @@ fi
|
||||
%dir %{tapsetdir}
|
||||
%{tapsetdir}/*%{_arch}%{?1}.stp
|
||||
%endif
|
||||
|
||||
%if %is_system_jdk
|
||||
%if %{is_release_build -- %{?1}}
|
||||
%ghost %{_bindir}/javac
|
||||
%ghost %{_jvmdir}/java
|
||||
%ghost %{_bindir}/jlink
|
||||
%ghost %{_bindir}/jmod
|
||||
%ghost %{_bindir}/jhsdb
|
||||
%ghost %{_bindir}/jar
|
||||
%ghost %{_bindir}/jarsigner
|
||||
@ -963,7 +1030,10 @@ fi
|
||||
%ghost %{_bindir}/jfr
|
||||
%ghost %{_bindir}/jimage
|
||||
%ghost %{_bindir}/jinfo
|
||||
%ghost %{_bindir}/jlink
|
||||
%ghost %{_bindir}/jmap
|
||||
%ghost %{_bindir}/jmod
|
||||
%ghost %{_bindir}/jnativescan
|
||||
%ghost %{_bindir}/jps
|
||||
%ghost %{_bindir}/jpackage
|
||||
%ghost %{_bindir}/jrunscript
|
||||
@ -1185,7 +1255,7 @@ Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
|
||||
# Prevent brp-java-repack-jars from being run
|
||||
%global __jar_repack 0
|
||||
# Define the root name of the portable packages
|
||||
%global pkgnameroot java-%{fakefeaturever}-%{origin}-portable%{?pkgos:-%{pkgos}}
|
||||
%global pkgnameroot java-%{featurever}-%{origin}-portable%{?pkgos:-%{pkgos}}
|
||||
|
||||
# Define the architectures on which we build
|
||||
ExclusiveArch: %{aarch64} %{ppc64le} s390x x86_64 riscv64
|
||||
@ -1206,7 +1276,7 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
|
||||
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
|
||||
|
||||
Epoch: 1
|
||||
Summary: %{origin_nice} %{fakefeaturever} Runtime Environment
|
||||
Summary: %{origin_nice} %{featurever} Runtime Environment
|
||||
# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
@ -1230,7 +1300,7 @@ License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv
|
||||
URL: http://openjdk.java.net/
|
||||
|
||||
# The source tarball, generated using generate_source_tarball.sh
|
||||
Source0: https://openjdk-sources.osci.io/openjdk%{fakefeaturever}/open%{vcstag}%{ea_designator_zip}.tar.xz
|
||||
Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/open%{vcstag}%{ea_designator_zip}.tar.xz
|
||||
|
||||
# Use 'icedtea_sync.sh' to update the following
|
||||
# They are based on code contained in the IcedTea project (6.x).
|
||||
@ -1263,7 +1333,7 @@ Source18: TestTranslations.java
|
||||
|
||||
# Include portable spec and instructions on how to rebuild
|
||||
Source19: README.md
|
||||
Source20: java-%{fakefeaturever}-openjdk-portable.specfile
|
||||
Source20: java-%{featurever}-openjdk-portable.specfile
|
||||
Source21: NEWS
|
||||
Source22: openjdk-devkit.specfile
|
||||
# Devkit patches; see https://github.com/rh-openjdk/jdk/tree/devkit
|
||||
@ -1444,43 +1514,48 @@ Provides: bundled(libpng) = 1.6.47
|
||||
# Version in src/java.base/share/native/libzip/zlib/zlib.h
|
||||
Provides: bundled(zlib) = 1.3.1
|
||||
%endif
|
||||
%ifarch %{sleef_arches}
|
||||
# SLEEF is always bundled
|
||||
# Version in src/jdk.incubator.vector/linux/native/libsleef/generated/sleefinline_advsimd.h
|
||||
Provides: bundled(sleef) = 3.6.1
|
||||
%endif
|
||||
|
||||
# this is always built, also during debug-only build
|
||||
# when it is built in debug-only this package is just placeholder
|
||||
%{java_rpo %{nil}}
|
||||
|
||||
%description
|
||||
The %{origin_nice} %{fakefeaturever} runtime environment.
|
||||
The %{origin_nice} %{featurever} runtime environment.
|
||||
|
||||
%if %{include_debug_build}
|
||||
%package slowdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Runtime Environment %{debug_on}
|
||||
Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
|
||||
%{java_rpo -- %{debug_suffix_unquoted}}
|
||||
%description slowdebug
|
||||
The %{origin_nice} %{fakefeaturever} runtime environment.
|
||||
The %{origin_nice} %{featurever} runtime environment.
|
||||
%{debug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_fastdebug_build}
|
||||
%package fastdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Runtime Environment %{fastdebug_on}
|
||||
Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
|
||||
%{java_rpo -- %{fastdebug_suffix_unquoted}}
|
||||
%description fastdebug
|
||||
The %{origin_nice} %{fakefeaturever} runtime environment.
|
||||
The %{origin_nice} %{featurever} runtime environment.
|
||||
%{fastdebug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_normal_build}
|
||||
%package headless
|
||||
Summary: %{origin_nice} %{fakefeaturever} Headless Runtime Environment
|
||||
Summary: %{origin_nice} %{featurever} Headless Runtime Environment
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1488,12 +1563,12 @@ Group: Development/Languages
|
||||
%{java_headless_rpo %{nil}}
|
||||
|
||||
%description headless
|
||||
The %{origin_nice} %{fakefeaturever} runtime environment without audio and video support.
|
||||
The %{origin_nice} %{featurever} runtime environment without audio and video support.
|
||||
%endif
|
||||
|
||||
%if %{include_debug_build}
|
||||
%package headless-slowdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Runtime Environment %{debug_on}
|
||||
Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1501,13 +1576,13 @@ Group: Development/Languages
|
||||
%{java_headless_rpo -- %{debug_suffix_unquoted}}
|
||||
|
||||
%description headless-slowdebug
|
||||
The %{origin_nice} %{fakefeaturever} runtime environment without audio and video support.
|
||||
The %{origin_nice} %{featurever} runtime environment without audio and video support.
|
||||
%{debug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_fastdebug_build}
|
||||
%package headless-fastdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Runtime Environment %{fastdebug_on}
|
||||
Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1515,13 +1590,13 @@ Group: Development/Languages
|
||||
%{java_headless_rpo -- %{fastdebug_suffix_unquoted}}
|
||||
|
||||
%description headless-fastdebug
|
||||
The %{origin_nice} %{fakefeaturever} runtime environment without audio and video support.
|
||||
The %{origin_nice} %{featurever} runtime environment without audio and video support.
|
||||
%{fastdebug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_normal_build}
|
||||
%package devel
|
||||
Summary: %{origin_nice} %{fakefeaturever} Development Environment
|
||||
Summary: %{origin_nice} %{featurever} Development Environment
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1529,12 +1604,12 @@ Group: Development/Languages
|
||||
%{java_devel_rpo %{nil}}
|
||||
|
||||
%description devel
|
||||
The %{origin_nice} %{fakefeaturever} development tools.
|
||||
The %{origin_nice} %{featurever} development tools.
|
||||
%endif
|
||||
|
||||
%if %{include_debug_build}
|
||||
%package devel-slowdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Development Environment %{debug_on}
|
||||
Summary: %{origin_nice} %{featurever} Development Environment %{debug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1542,13 +1617,13 @@ Group: Development/Languages
|
||||
%{java_devel_rpo -- %{debug_suffix_unquoted}}
|
||||
|
||||
%description devel-slowdebug
|
||||
The %{origin_nice} %{fakefeaturever} development tools.
|
||||
The %{origin_nice} %{featurever} development tools.
|
||||
%{debug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_fastdebug_build}
|
||||
%package devel-fastdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Development Environment %{fastdebug_on}
|
||||
Summary: %{origin_nice} %{featurever} Development Environment %{fastdebug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Tools
|
||||
%endif
|
||||
@ -1556,7 +1631,7 @@ Group: Development/Tools
|
||||
%{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
|
||||
|
||||
%description devel-fastdebug
|
||||
The %{origin_nice} %{fakefeaturever} development tools .
|
||||
The %{origin_nice} %{featurever} development tools .
|
||||
%{fastdebug_warning}
|
||||
%endif
|
||||
|
||||
@ -1564,33 +1639,33 @@ The %{origin_nice} %{fakefeaturever} development tools .
|
||||
|
||||
%if %{include_normal_build}
|
||||
%package static-libs
|
||||
Summary: %{origin_nice} %{fakefeaturever} libraries for static linking
|
||||
Summary: %{origin_nice} %{featurever} libraries for static linking
|
||||
|
||||
%{java_static_libs_rpo %{nil}}
|
||||
|
||||
%description static-libs
|
||||
The %{origin_nice} %{fakefeaturever} libraries for static linking.
|
||||
The %{origin_nice} %{featurever} libraries for static linking.
|
||||
%endif
|
||||
|
||||
%if %{include_debug_build}
|
||||
%package static-libs-slowdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} libraries for static linking %{debug_on}
|
||||
Summary: %{origin_nice} %{featurever} libraries for static linking %{debug_on}
|
||||
|
||||
%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
|
||||
|
||||
%description static-libs-slowdebug
|
||||
The %{origin_nice} %{fakefeaturever} libraries for static linking.
|
||||
The %{origin_nice} %{featurever} libraries for static linking.
|
||||
%{debug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_fastdebug_build}
|
||||
%package static-libs-fastdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} libraries for static linking %{fastdebug_on}
|
||||
Summary: %{origin_nice} %{featurever} libraries for static linking %{fastdebug_on}
|
||||
|
||||
%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
|
||||
|
||||
%description static-libs-fastdebug
|
||||
The %{origin_nice} %{fakefeaturever} libraries for static linking.
|
||||
The %{origin_nice} %{featurever} libraries for static linking.
|
||||
%{fastdebug_warning}
|
||||
%endif
|
||||
|
||||
@ -1599,7 +1674,7 @@ The %{origin_nice} %{fakefeaturever} libraries for static linking.
|
||||
|
||||
%if %{include_normal_build}
|
||||
%package jmods
|
||||
Summary: JMods for %{origin_nice} %{fakefeaturever}
|
||||
Summary: JMods for %{origin_nice} %{featurever}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1607,12 +1682,12 @@ Group: Development/Languages
|
||||
%{java_jmods_rpo %{nil}}
|
||||
|
||||
%description jmods
|
||||
The JMods for %{origin_nice} %{fakefeaturever}.
|
||||
The JMods for %{origin_nice} %{featurever}.
|
||||
%endif
|
||||
|
||||
%if %{include_debug_build}
|
||||
%package jmods-slowdebug
|
||||
Summary: JMods for %{origin_nice} %{fakefeaturever} %{debug_on}
|
||||
Summary: JMods for %{origin_nice} %{featurever} %{debug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1620,13 +1695,13 @@ Group: Development/Languages
|
||||
%{java_jmods_rpo -- %{debug_suffix_unquoted}}
|
||||
|
||||
%description jmods-slowdebug
|
||||
The JMods for %{origin_nice} %{fakefeaturever}.
|
||||
The JMods for %{origin_nice} %{featurever}.
|
||||
%{debug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_fastdebug_build}
|
||||
%package jmods-fastdebug
|
||||
Summary: JMods for %{origin_nice} %{fakefeaturever} %{fastdebug_on}
|
||||
Summary: JMods for %{origin_nice} %{featurever} %{fastdebug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Tools
|
||||
%endif
|
||||
@ -1634,13 +1709,13 @@ Group: Development/Tools
|
||||
%{java_jmods_rpo -- %{fastdebug_suffix_unquoted}}
|
||||
|
||||
%description jmods-fastdebug
|
||||
The JMods for %{origin_nice} %{fakefeaturever}.
|
||||
The JMods for %{origin_nice} %{featurever}.
|
||||
%{fastdebug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_normal_build}
|
||||
%package demo
|
||||
Summary: %{origin_nice} %{fakefeaturever} Demos
|
||||
Summary: %{origin_nice} %{featurever} Demos
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1648,12 +1723,12 @@ Group: Development/Languages
|
||||
%{java_demo_rpo %{nil}}
|
||||
|
||||
%description demo
|
||||
The %{origin_nice} %{fakefeaturever} demos.
|
||||
The %{origin_nice} %{featurever} demos.
|
||||
%endif
|
||||
|
||||
%if %{include_debug_build}
|
||||
%package demo-slowdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Demos %{debug_on}
|
||||
Summary: %{origin_nice} %{featurever} Demos %{debug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1661,13 +1736,13 @@ Group: Development/Languages
|
||||
%{java_demo_rpo -- %{debug_suffix_unquoted}}
|
||||
|
||||
%description demo-slowdebug
|
||||
The %{origin_nice} %{fakefeaturever} demos.
|
||||
The %{origin_nice} %{featurever} demos.
|
||||
%{debug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_fastdebug_build}
|
||||
%package demo-fastdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Demos %{fastdebug_on}
|
||||
Summary: %{origin_nice} %{featurever} Demos %{fastdebug_on}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1675,13 +1750,13 @@ Group: Development/Languages
|
||||
%{java_demo_rpo -- %{fastdebug_suffix_unquoted}}
|
||||
|
||||
%description demo-fastdebug
|
||||
The %{origin_nice} %{fakefeaturever} demos.
|
||||
The %{origin_nice} %{featurever} demos.
|
||||
%{fastdebug_warning}
|
||||
%endif
|
||||
|
||||
%if %{include_normal_build}
|
||||
%package src
|
||||
Summary: %{origin_nice} %{fakefeaturever} Source Bundle
|
||||
Summary: %{origin_nice} %{featurever} Source Bundle
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1689,13 +1764,13 @@ Group: Development/Languages
|
||||
%{java_src_rpo %{nil}}
|
||||
|
||||
%description src
|
||||
The %{compatiblename}-src sub-package contains the complete %{origin_nice} %{fakefeaturever}
|
||||
The %{compatiblename}-src sub-package contains the complete %{origin_nice} %{featurever}
|
||||
class library source code for use by IDE indexers and debuggers.
|
||||
%endif
|
||||
|
||||
%if %{include_debug_build}
|
||||
%package src-slowdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Source Bundle %{for_debug}
|
||||
Summary: %{origin_nice} %{featurever} Source Bundle %{for_debug}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1703,13 +1778,13 @@ Group: Development/Languages
|
||||
%{java_src_rpo -- %{debug_suffix_unquoted}}
|
||||
|
||||
%description src-slowdebug
|
||||
The %{compatiblename}-src-slowdebug sub-package contains the complete %{origin_nice} %{fakefeaturever}
|
||||
The %{compatiblename}-src-slowdebug sub-package contains the complete %{origin_nice} %{featurever}
|
||||
class library source code for use by IDE indexers and debuggers, %{for_debug}.
|
||||
%endif
|
||||
|
||||
%if %{include_fastdebug_build}
|
||||
%package src-fastdebug
|
||||
Summary: %{origin_nice} %{fakefeaturever} Source Bundle %{for_fastdebug}
|
||||
Summary: %{origin_nice} %{featurever} Source Bundle %{for_fastdebug}
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Development/Languages
|
||||
%endif
|
||||
@ -1717,13 +1792,13 @@ Group: Development/Languages
|
||||
%{java_src_rpo -- %{fastdebug_suffix_unquoted}}
|
||||
|
||||
%description src-fastdebug
|
||||
The %{compatiblename}-src-fastdebug sub-package contains the complete %{origin_nice} %{fakefeaturever}
|
||||
The %{compatiblename}-src-fastdebug sub-package contains the complete %{origin_nice} %{featurever}
|
||||
class library source code for use by IDE indexers and debuggers, %{for_fastdebug}.
|
||||
%endif
|
||||
|
||||
%if %{include_normal_build}
|
||||
%package javadoc
|
||||
Summary: %{origin_nice} %{fakefeaturever} API documentation
|
||||
Summary: %{origin_nice} %{featurever} API documentation
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Documentation
|
||||
%endif
|
||||
@ -1739,9 +1814,9 @@ Requires(postun): %{alternatives_requires}
|
||||
%{java_javadoc_rpo -- %{nil}}
|
||||
|
||||
%description javadoc
|
||||
The %{origin_nice} %{fakefeaturever} API documentation.
|
||||
The %{origin_nice} %{featurever} API documentation.
|
||||
%package javadoc-zip
|
||||
Summary: %{origin_nice} %{fakefeaturever} API documentation compressed in a single archive
|
||||
Summary: %{origin_nice} %{featurever} API documentation compressed in a single archive
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
Group: Documentation
|
||||
%endif
|
||||
@ -1758,7 +1833,7 @@ Requires(postun): %{alternatives_requires}
|
||||
%{java_javadoc_rpo -- %{nil}}
|
||||
|
||||
%description javadoc-zip
|
||||
The %{origin_nice} %{fakefeaturever} API documentation compressed in a single archive.
|
||||
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
@ -1891,11 +1966,11 @@ mkdir -p $(dirname %{installoutputdir})
|
||||
|
||||
docdir=%{installoutputdir -- "-docs"}
|
||||
tar -xJf %{docszip}
|
||||
mv java-%{fakefeaturever}-openjdk*.docs.* ${docdir}
|
||||
mv java-%{featurever}-openjdk*.docs.* ${docdir}
|
||||
|
||||
miscdir=%{installoutputdir -- "-misc"}
|
||||
tar -xJf %{misczip}
|
||||
mv java-%{fakefeaturever}-openjdk*.misc.* ${miscdir}
|
||||
mv java-%{featurever}-openjdk*.misc.* ${miscdir}
|
||||
|
||||
for suffix in %{build_loop} ; do
|
||||
|
||||
@ -1915,7 +1990,7 @@ for suffix in %{build_loop} ; do
|
||||
# TODO: should verify checksums when using packages from buildroot
|
||||
tar -xJf ${jdkzip}
|
||||
tar -xJf ${staticlibzip}
|
||||
mv java-%{fakefeaturever}-openjdk* ${installdir}
|
||||
mv java-%{featurever}-openjdk* ${installdir}
|
||||
|
||||
# Fix build paths in ELF files so it looks like we built them
|
||||
portablenvr="%{name}-%{VERSION}-%{prelease}.%{portablesuffix}.%{_arch}"
|
||||
@ -2002,14 +2077,14 @@ $JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -versi
|
||||
unzip -l $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
|
||||
|
||||
# Check class files include useful debugging information
|
||||
$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
|
||||
$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
|
||||
$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
|
||||
$JAVA_HOME/bin/javap -c -l java.lang.Object | grep "Compiled from"
|
||||
$JAVA_HOME/bin/javap -c -l java.lang.Object | grep LineNumberTable
|
||||
$JAVA_HOME/bin/javap -c -l java.lang.Object | grep LocalVariableTable
|
||||
|
||||
# Check generated class files include useful debugging information
|
||||
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
|
||||
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
|
||||
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
|
||||
$JAVA_HOME/bin/javap -c -l java.nio.ByteBuffer | grep "Compiled from"
|
||||
$JAVA_HOME/bin/javap -c -l java.nio.ByteBuffer | grep LineNumberTable
|
||||
$JAVA_HOME/bin/javap -c -l java.nio.ByteBuffer | grep LocalVariableTable
|
||||
|
||||
%else
|
||||
|
||||
@ -2157,8 +2232,7 @@ install -D -p -m 755 ${miscdir}/%{alt_java_name} $RPM_BUILD_ROOT%{jrebindir -- $
|
||||
ln -sf /etc/pki/java/cacerts .
|
||||
popd
|
||||
|
||||
# Copy alt-java man page into image so it gets installed with the others
|
||||
cp -a ${miscdir}/%{alt_java_name}.1 ${jdk_image}/man/man1
|
||||
%if %{pandoc_available}
|
||||
# Install man pages
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
|
||||
pushd ${jdk_image}
|
||||
@ -2173,6 +2247,7 @@ install -D -p -m 755 ${miscdir}/%{alt_java_name} $RPM_BUILD_ROOT%{jrebindir -- $
|
||||
# Remove man pages from jdk image
|
||||
rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
|
||||
popd
|
||||
%endif
|
||||
|
||||
if ! echo $suffix | grep -q "debug" ; then
|
||||
# Install Javadoc documentation
|
||||
@ -2478,6 +2553,43 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Nov 12 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:25.0.1.0.8-2
|
||||
- Remove superfluous backslashes that cause two alternative commands to be combined
|
||||
- Related: RHEL-120553
|
||||
|
||||
* Mon Nov 10 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:25.0.1.0.8-1
|
||||
- Update to jdk-25.0.1+8 (GA)
|
||||
- Update release notes with features of JDK 25
|
||||
- Mention finalisation JEP for features finalised in JDK 22, 23 & 24
|
||||
- Drop fakefeaturever now we have reached OpenJDK 25
|
||||
- Update release notes to 25.0.1+8
|
||||
- Sync the copy of the portable specfile with the latest update
|
||||
- Resolves: RHEL-120553
|
||||
|
||||
* Wed Nov 05 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:24.0.2.0.12-1
|
||||
- Update to jdk-24.0.2+12 (GA)
|
||||
- Update release notes with features of JDK 24
|
||||
- alt-java man page installation is now handled by the OpenJDK build
|
||||
- Adjust TestTranslations.java with updated German translations from CLDR 46 (JDK-8333582) (Mountain->Mountains)
|
||||
- Run javap with the disassembled code (-c) option now required for -l by JDK-8345145
|
||||
- Sync the copy of the portable specfile with the latest update
|
||||
- Remove default.policy and java.policy following JDK-8338411: "Permanently Disable the Security Manager"
|
||||
- Make man page handling dependent on pandoc being available during the portable build
|
||||
- Handle new CDS archive variants (*_coh*) added by Compact Object Headers (JDK-8305895)
|
||||
- Add missing man page alternatives for jdeprscan, jfr, jhsdb, jimage, jlink & jmod and fix alphabetical ordering
|
||||
- Support jnativescan added by JDK-8317611: "Add a tool like jdeprscan to find usage of restricted methods"
|
||||
- Add recent native libraries to _privatelibs (libjsvml.so, libsimdsort.so, libsyslookup.so)
|
||||
- Support libsleef on AArch64 & RISC-V added by JDK-8329816, JDK-8320500 (RISC-V) & JDK-8312425 (AArch64)
|
||||
- Related: RHEL-120553
|
||||
|
||||
* Sat Oct 25 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:23.0.2.0.7-1
|
||||
- Update to jdk-23.0.2+7 (GA)
|
||||
- Update release notes with features of JDK 23
|
||||
- Sync the copy of the portable specfile with the latest update
|
||||
- Remove lible.so handling following its removal in JDK-8327476: "Upgrade JLine to 3.26.1"
|
||||
- Install jaxp-strict.properties.template added by JDK-8330542: "Template for Creating Strict JAXP Configuration File"
|
||||
- Related: RHEL-120553
|
||||
|
||||
* Tue Sep 23 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:22.0.2.0.9-1
|
||||
- Update to jdk-22.0.2+9 (GA)
|
||||
- Update release notes with features of JDK 22
|
||||
|
||||
2
sources
2
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
||||
SHA512 (openjdk-22.0.2+9.tar.xz) = 960746381f56cb516a2298f75dbf877554b59e73752dc29b040b8629b153174d2ea2f612d3479b511aaac293e4d336c798a58fd1ba4d2b9d5933899f64d04313
|
||||
SHA512 (openjdk-25.0.1+8.tar.xz) = eb84d876f81ca02803283e8294c89b6acbed3753426811c3bcc228615c9618deefc85da4aa702800cac2feb103e628ee8b92292b316e9d7e12a58b6de69c5085
|
||||
|
||||
Loading…
Reference in New Issue
Block a user