From 762d7721391c61bc16568e6ca328bb75bbf83f9e Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 12 Nov 2025 08:34:06 +0000 Subject: [PATCH] Portable build --- .gitignore | 2 + NEWS | 320 +++++++++++++++++++++++------- java-25-openjdk-portable.specfile | 43 ++-- sources | 2 +- 4 files changed, 281 insertions(+), 86 deletions(-) diff --git a/.gitignore b/.gitignore index 8769ea7..0e4f3a3 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,5 @@ /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 diff --git a/NEWS b/NEWS index 892de7e..0a4a628 100644 --- a/NEWS +++ b/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 24.0.0 (2025-03-18): +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 @@ -20,6 +109,7 @@ 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 to appear before an explicit constructor invocation, i.e., super(..) or @@ -28,11 +118,12 @@ construction, but they can initialize its fields. Initializing fields before invoking another constructor makes a class more reliable when methods are overridden. -This was introduced as a preview language feature +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 reaches a third +initialized before invoking another constructor. It reached a third preview in OpenJDK 24 (JEP 492). Unnamed Patterns and Variables @@ -45,35 +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). Primitive Types in Patterns, instanceof, and switch =================================================== https://openjdk.org/jeps/455 https://openjdk.org/jeps/488 +https://openjdk.org/jeps/507 Enhance pattern matching by allowing primitive type patterns in all pattern contexts, and extend instanceof and switch to work with all primitive types. This is a preview language feature (http://openjdk.java.net/jeps/12) -introduced in OpenJDK 23 (JEP 455) and having its second preview in -OpenJDK 24 (JEP 488). +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 is a preview language feature (http://openjdk.java.net/jeps/12) -introduced in OpenJDK 23 (JEP 476) and reaching a second preview in -OpenJDK 24 (JEP 494). +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 ================ @@ -94,10 +187,10 @@ 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 @@ -126,9 +219,9 @@ https://openjdk.org/jeps/484 Provide a standard API for parsing, generating, and transforming Java class files. -This API is now finalised. 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). +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 ========== @@ -141,6 +234,7 @@ 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 @@ -152,7 +246,8 @@ 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), OpenJDK 22 a seventh (JEP 460), OpenJDK 23 an -eighth (JEP 469) and it reaches its ninth in OpenJDK 24 (JEP 489). +eighth (JEP 469), OpenJDK 24 a ninth (JEP 489) and it reaches its +tenth in OpenJDK 25 (JEP 508). Stream Gatherers ================ @@ -164,9 +259,9 @@ Enhance the Stream API to support custom intermediate operations. This will allow stream pipelines to transform data in ways that are not easily achievable with the existing built-in intermediate operations. -This API is now finalised. 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). +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 ====================== @@ -176,6 +271,7 @@ 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 @@ -188,15 +284,16 @@ This API was first introduced in incubation second round of incubation in OpenJDK 20 (JEP 437). It became a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP 453), reached its second preview in OpenJDK 22 (JEP 462), had a third -preview in OpenJDK 23 (JEP 480) and reaches its fourth in OpenJDK 24 -(JEP 499). +preview in OpenJDK 23 (JEP 480), a fourth in OpenJDK 24 (JEP 499) and +reaches its fifth in OpenJDK 25 (JEP 505). -Simple Source Files 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 programming language so that beginners can write their first programs without needing to understand language features @@ -207,15 +304,16 @@ 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 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 has a fourth preview in -OpenJDK 24 (JEP 495) with new terminology and a revised title, but -otherwise unchanged. +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 ============= @@ -224,27 +322,30 @@ 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), had a second preview in OpenJDK 22 (JEP 464), a third in OpenJDK -23 (JEP 481) and reaches its fourth in OpenJDK 24 (JEP 487). +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 is a preview library feature (http://openjdk.java.net/jeps/12) -introduced in OpenJDK 24 (JEP 478). +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 ================================================================== @@ -275,6 +376,32 @@ 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 ============================ @@ -307,6 +434,7 @@ 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 @@ -315,7 +443,18 @@ 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 three stage process: +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=` where +`` is the cache reference to use in later runs. + +2. When running the application in testing or production, use the +option `-XX:AOTCache=` 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 @@ -328,9 +467,22 @@ configuration reference to use in #2. reference from #1 and `` is the cache reference to use in later runs. -3. When running the application in testing or production, use the -option `-XX:AOTCache=` to run the application with the -cache generated in #2. +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 =========================================== @@ -344,28 +496,60 @@ threads being pinned to platform threads, which severely restricts the number of virtual threads available to handle an application's workload. -Generational Shenandoah -======================= -https://openjdk.org/jeps/404 - -Enhance the Shenandoah garbage collector with experimental -generational collection capabilities to improve sustainable -throughput, load-spike resilience, and memory utilization. - -This is an experimental feature that needs to be explicitly enabled -with -XX:+UnlockExperimentalVMOptions --XX:ShenandoahGCMode=generational - 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 an experimental feature that needs to be explicitly enabled -with -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders +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 ===== @@ -441,18 +625,6 @@ 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. -Deprecate the 32-bit x86 Port for Removal -========================================= -https://openjdk.org/jeps/501 - -Deprecate the 32-bit x86 port, with the intent to remove it in a -future release. This will thereby deprecate the Linux 32-bit x86 port, -which is the only 32-bit x86 port remaining in the JDK. It will also, -effectively, deprecate any remaining downstream 32-bit x86 -ports. After the 32-bit x86 port is removed, the architecture-agnostic -Zero port will be the only way to run Java programs on 32-bit x86 -processors. - REMOVALS ======== @@ -470,14 +642,22 @@ for further explanation. [0] https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html -Remove the Windows 32-bit x86 Port -================================== +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 32-bit x86 -port. This port was deprecated for removal in JDK 21 by JEP 449 with -the express intent to remove it in a future release. +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 ===================================== diff --git a/java-25-openjdk-portable.specfile b/java-25-openjdk-portable.specfile index a554eea..0aceb63 100644 --- a/java-25-openjdk-portable.specfile +++ b/java-25-openjdk-portable.specfile @@ -334,15 +334,14 @@ %endif # New Version-String scheme-style defines -%global featurever 24 -%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, # and this it is better to change it here, on single place -%global buildjdkver %(expr %{featurever} - 1) +%global buildjdkver %{featurever} # 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. %if 0%{?rhel} && !0%{?epel} @@ -380,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 @@ -392,7 +390,7 @@ %global origin_nice OpenJDK %global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 12 +%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 @@ -428,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 @@ -461,7 +459,7 @@ %define miscportablearchive() %{miscportablename}.tar.xz # JDK to use for bootstrapping -%global bootjdkpkg java-%{fakefeaturever}-openjdk +%global bootjdkpkg java-%{featurever}-%{origin} %ifarch %{fastdebug_arches} %global bootdebugpkg fastdebug %endif @@ -746,7 +744,7 @@ 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 @@ -1080,7 +1078,7 @@ pushd %{_jvmdir} sha256sum --check %{bootjdkzip}.sha256sum popd tar -xJf %{bootjdkzip} -mv java-%{fakefeaturever}-openjdk-%{buildjdkver}* %{bootjdk} +mv java-%{featurever}-openjdk-%{buildjdkver}* %{bootjdk} # Print release information echo "Installed boot JDK:" cat %{bootjdk}/release @@ -1969,9 +1967,24 @@ done %endif %changelog -* Mon Nov 10 2025 eabdullin - 1:24.0.2.0.12-1 +* Wed Nov 12 2025 eabdullin - 1:25.0.1.0.8-1 - Portable build +* Mon Nov 10 2025 Andrew Hughes - 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 - 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 - 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 - 1:24.0.2.0.12-1 - Update to jdk-24.0.2+12 (GA) - Update release notes with features of JDK 24 diff --git a/sources b/sources index afe2177..81afaec 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30 -SHA512 (openjdk-24.0.2+12.tar.xz) = 92dc174ad4fedb1138bc183a390a85a76fcc3aa1508d4d00f49012b28a8e3a5a1739b349f0fb03dedc6f7977eafa472c5f7608c61ae656c0ecf795b9e96a95ae +SHA512 (openjdk-25.0.1+8.tar.xz) = eb84d876f81ca02803283e8294c89b6acbed3753426811c3bcc228615c9618deefc85da4aa702800cac2feb103e628ee8b92292b316e9d7e12a58b6de69c5085