public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jiri Vanek <jvanek@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/java-latest-openjdk-portable] f43: Updated to OpenJDK 25.0.2 (2026-07-21)
Date: Fri, 24 Jul 2026 16:21:31 GMT [thread overview]
Message-ID: <178491009123.1.6947927942065052794.rpms-java-latest-openjdk-portable-7b5b66869d0a@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/java-latest-openjdk-portable
Branch : f43
Commit : 7b5b66869d0ad3546a9800fdd24ffd6bd2aafd00
Author : Jiri Vanek <jvanek@redhat.com>
Date : 2026-07-24T18:17:10+02:00
Stats : +365/-313 in 7 file(s)
URL : https://src.fedoraproject.org/rpms/java-latest-openjdk-portable/c/7b5b66869d0ad3546a9800fdd24ffd6bd2aafd00?branch=f43
Log:
Updated to OpenJDK 25.0.2 (2026-07-21)
Rearranged specfile for better readability and removed unused macros,
which were kept only for rpms synchronization which is obsoleted.
Improved TestTransaltions (gnu_andrew)
---
diff --git a/.gitignore b/.gitignore
index 24ccc69..be527d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,3 +62,4 @@
/openjdk-26+32-ea.tar.xz
/openjdk-26+35.tar.xz
/openjdk-26.0.1+8.tar.xz
+/openjdk-26.0.2+10.tar.xz
diff --git a/NEWS b/NEWS
index f1a56a6..c1c40a9 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,197 @@ JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
JEP-XYZ: https://openjdk.org/jeps/XYZ
+New in release OpenJDK 26.0.2 (2026-07-21):
+===========================================
+* CVEs
+ - CVE-2026-46968
+ - CVE-2026-46917
+ - CVE-2026-47010
+ - CVE-2026-47021
+ - CVE-2026-47027
+ - CVE-2026-60147
+ - CVE-2026-47059
+ - CVE-2026-47063
+ - CVE-2026-41254
+* Changes
+ - JDK-8068378: [TEST_BUG]The java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java instruction need to update
+ - JDK-8170896: TEST_BUG: java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java failed with unreferenced() not invoked after 20.0 seconds
+ - JDK-8278102: containers/docker/TestJcmd.java failed with "RuntimeException: Could not find specified process"
+ - JDK-8279196: Test: jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java timed out
+ - JDK-8286258: [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value wrong and sometime partially
+ - JDK-8297191: [macos] Printing a page range with starting page > 1 results in missing pages
+ - JDK-8319326: GC: Make TestParallelRefProc use createTestJavaProcessBuilder
+ - JDK-8323792: ThreadSnapshot::initialize can cause assert in Thread::check_for_dangling_thread_pointer (possibility of dangling Thread pointer)
+ - JDK-8344345: test/hotspot/gtest/x86/x86-asmtest.py has trailing whitespaces
+ - JDK-8346154: [XWayland] Some tests fail intermittently in the CI, but not locally
+ - JDK-8347938: Add Support for the Latest ML-KEM and ML-DSA Private Key Encodings
+ - JDK-8359433: The final modifier on Windows L&F internal UI classes prevents extending them in apps
+ - JDK-8360160: ubuntu-22-04 machine is failing client tests
+ - JDK-8364373: Transform Affine transformations
+ - JDK-8366138: Parse::jump_switch_ranges() could cause stack overflow when compiling huge switch statement
+ - JDK-8367463: Improved Arena allocations
+ - JDK-8367994: test/jdk/sun/security/pkcs11/Signature/ tests pass when they should skip
+ - JDK-8368041: Enhance TLS certificate handling
+ - JDK-8368524: Tests are skipped and shown as passed in test/jdk/sun/security/pkcs11/Cipher/KeyWrap
+ - JDK-8368977: Provide clear naming for AVX10 identifiers
+ - JDK-8369561: sun/java2d/OpenGL/DrawBitmaskImage.java#id0: Incorrect color for first pixel (actual=ff000000)
+ - JDK-8369950: TLS connection to IPv6 address fails with BCJSSE due to IllegalArgumentException
+ - JDK-8370502: C2: segfault while adding node to IGVN worklist
+ - JDK-8370995: Enhance ZipFile usage
+ - JDK-8371420: Still sporadic failures of gc/TestAlwaysPreTouchBehavior.java#<gcname> on Linux after JDK-8359104
+ - JDK-8371503: RETAIN_IMAGE_AFTER_TEST do not work for some tests
+ - JDK-8372351: Add 2 WISeKey roots
+ - JDK-8372377: Test java/io/File/GetXSpace.java failed: The system cannot find the path specified
+ - JDK-8372661: Add a null-safe static factory method to "jdk.test.lib.net.SimpleSSLContext"
+ - JDK-8373021: aarch64: MacroAssembler::arrays_equals reads out of bounds
+ - JDK-8373101: JdkClient and JdkServer test classes ignore namedGroups field
+ - JDK-8373120: Virtual thread stuck in BLOCKED state
+ - JDK-8373239: Test java/awt/print/PrinterJob/PageRanges.java fails with incorrect selection of printed pages
+ - JDK-8373275: Improve DTLS handshaking
+ - JDK-8373290: Update FreeType to 2.14.1
+ - JDK-8373362: Http3TestServer should not log an exception stack trace when it is stopping normally
+ - JDK-8373537: Migrate "test/jdk/com/sun/net/httpserver/" to null-safe "SimpleSSLContext" methods
+ - JDK-8373623: Refactor Serialization tests for Records to JUnit
+ - JDK-8373650: Test "javax/swing/JMenuItem/6458123/ManualBug6458123.java" fails because the check icons are not aligned properly as expected
+ - JDK-8373690: Unexpected Keystore message using jdk.crypto.disabledAlgorithms
+ - JDK-8373704: Improve "SocketException: Protocol family unavailable" message
+ - JDK-8373716: Refactor further java/util tests from TestNG to JUnit
+ - JDK-8373718: jdk/internal/misc/VM/RuntimeArguments.java test fails in Virtual threads mode
+ - JDK-8373796: Refactor java/net/httpclient/ThrowingPublishers*.java tests to use JUnit5
+ - JDK-8373808: Refactor java/net/httpclient qpack and hpack tests to use JUnit
+ - JDK-8373829: Refactor test/jdk/java/time/tck tests to use JUnit over TestNG
+ - JDK-8373830: Refactor test/jdk/java/time/test tests to use JUnit over TestNG
+ - JDK-8373847: Test javax/swing/JMenuItem/MenuItemTest/bug6197830.java failed because The test case automatically fails when clicking any items in the “Nothing” menu in all four windows (Left-to-right)-Menu Item Test and (Right-to-left)-Menu Item Test
+ - JDK-8373866: Refactor java/net/httpclient/ThrowingSubscribers*.java tests to use JUnit5
+ - JDK-8373869: Refactor java/net/httpclient/ThrowingPushPromises*.java tests to use JUnit5
+ - JDK-8373893: Refactor networking http server tests to use JUnit
+ - JDK-8373913: Refactor serialization tests to use JUnit
+ - JDK-8373928: 4 Dangling pointer defect groups in java.c
+ - JDK-8373931: Test javax/sound/sampled/Clip/AutoCloseTimeCheck.java timed out
+ - JDK-8373944: ObjectMonitor::ExitOnSuspend can call java_lang_VirtualThread::set_onWaitingList() while in safepoint
+ - JDK-8374043: C2: assert(_base >= VectorMask && _base <= VectorZ) failed: Not a Vector
+ - JDK-8374051: Incorrect parameterized testing of exceptions in AbstractDateTimeTest.java
+ - JDK-8374056: RISC-V: Fix argument passing for the RiscvFlushIcache::flush
+ - JDK-8374058: Enhance JPEG handling
+ - JDK-8374178: Missing include in systemDictionary.cpp after JDK-8365526
+ - JDK-8374304: MultiResolutionSplashTest.java fails in CI: "Image with wrong resolution is used for splash screen!"
+ - JDK-8374322: TestMemoryWithSubgroups.java fails Permission denied
+ - JDK-8374343: Fix SIGSEGV when lib/modules is unreadable
+ - JDK-8374371: Failed assertion in G1HeapRegion gtest
+ - JDK-8374506: Incorrect positioning of arrow icon in parent JMenu in Windows L&F
+ - JDK-8374557: Enhance TLS connection handling
+ - JDK-8374711: Hotspot runtime/CommandLine/OptionsValidation/TestOptionsWithRanges fails without printing the option name
+ - JDK-8374727: Audio configuration Platform class - use nio for getting endianness of the underlying platform
+ - JDK-8374744: Enable dumping of APX EGPRs (R16–R31) in JVM fatal error logs
+ - JDK-8374769: PPC: MASM::pop_cont_fastpath() should reset _cont_fastpath if SP == _cont_fastpath
+ - JDK-8374888: Implement internal test cache to help UserIterCount test performance
+ - JDK-8374903: C2 VectorAPI: assert(vbox->as_Phi()->region() == vect->as_Phi()->region()) failed
+ - JDK-8374998: Failing os::write - remove bad file
+ - JDK-8375010: C2 VectorAPI: assert(vbox->is_CheckCastPP()) failed: should be expanded
+ - JDK-8375057: Update HarfBuzz to 12.3.2
+ - JDK-8375065: Update LCMS to 2.18
+ - JDK-8375231: Refactor util/ServiceLoader tests to use JUnit
+ - JDK-8375232: Refactor util/StringJoiner tests to use JUnit
+ - JDK-8375233: Refactor util/Vector tests to use JUnit
+ - JDK-8375294: (fs) Files.copy can fail with EOPNOTSUPP when copy_file_range not supported
+ - JDK-8375311: Some builds are missing debug helpers
+ - JDK-8375598: VM crashes with "assert((labs(val) & 0xFFFFFFFF00000000) == 0 || dest == (address)-1) failed: must be 32bit offset or -1" when using too high value for NonNMethodCodeHeapSize
+ - JDK-8375742: Test java/lang/invoke/MethodHandleProxies/Driver.java does not run Unnamed.java
+ - JDK-8375999: com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails sporadically on Windows
+ - JDK-8376031: HttpsURLConnection.getServerCertificates() throws "java.lang.IllegalStateException: connection not yet open" for the HEAD method
+ - JDK-8376104: C2 crashes in PhiNode::Ideal(PhaseGVN*, bool) accessing NULL pointer
+ - JDK-8376151: Test javax/swing/JFileChooser/4966171/bug4966171.java is failing with OOME
+ - JDK-8376152: Test javax/sound/sampled/Clip/bug5070081.java timed out then completed
+ - JDK-8376185: NoSuchFieldError thrown after a record with type annotation retransformed
+ - JDK-8376233: Clean up code in Desktop native peer
+ - JDK-8376308: java/net/httpclient/CancelRequestTest.java fails intermittently with "Expected CancellationException not received"
+ - JDK-8376402: Dependencies::print_statistics() and AbstractClassHierarchyWalker::print_statistics() are not called from PRODUCT code
+ - JDK-8376479: Http3 test server thread deadlock in ThrowingPublishersInRequest
+ - JDK-8376485: Update the release version and date for OpenJDK 26u
+ - JDK-8376684: Compile OpenJDK in headless mode without required X11 libraries
+ - JDK-8376688: Gtest os.attempt_reserve_memory_between_small_range_fill_hole_vm fails on AIX 7.3
+ - JDK-8376889: Enhance JfrRecorder::on_create_vm_3() assert output
+ - JDK-8376956: Add JVMTI phase entering/setting to hserr event log
+ - JDK-8377158: Enhance XBM image support
+ - JDK-8377167: javax/imageio/ReadAbortTest.java throw NPE when x11 unavailable
+ - JDK-8377334: Test framework used by langtools regression tests can produce false positives
+ - JDK-8377347: jdk/jfr/event/gc/detailed/TestZAllocationStallEvent.java intermittent OOME
+ - JDK-8377461: Add ZipFile test for incorrect number of entries reported in ENDTOT
+ - JDK-8377498: Improve HttpServer handling
+ - JDK-8377509: Add licenses for gcc 14.2.0
+ - JDK-8377512: AOT cache creation fails with invalid native pointer
+ - JDK-8377526: Update Libpng to 1.6.55
+ - JDK-8377534: Test java/awt/print/PrinterJob/PrintNullString.java fails with FAILURE: No IAE for empty iterator, int
+ - JDK-8377602: Create automated test for PageRange
+ - JDK-8377727: Ghost caret and focus appear in non‑editable text fields
+ - JDK-8377777: Improve logging when rejecting assets from the AOT archive
+ - JDK-8377833: Enhance Jar file processing
+ - JDK-8377898: Hotspot build on AIX with unused-functions warning reports some unused functions
+ - JDK-8377905: gcc.md included with every build
+ - JDK-8377910: Minor cleanup of java/io/FileDescriptor/Sharing.java
+ - JDK-8377932: AOT cache is not rejected when JAR file has changed
+ - JDK-8377944: LowMemoryTest2.java#id1 intermittent fails OOME: Metaspace
+ - JDK-8377949: TestZRelocationSetEvent.java intermittent fails OOME
+ - JDK-8378113: Add sun/java2d/OpenGL/ScaleParamsOOB.java to the ProblemList.txt file
+ - JDK-8378201: [OGL] glXMakeContextCurrent() drops the buffers of the unbound drawable
+ - JDK-8378218: MSYS2 reports cygwin triplet causing bash configure failure
+ - JDK-8378353: [PPC64] StringCoding.countPositives causes errors when the length is not a proper 32 bit int
+ - JDK-8378417: Printing All pages results in NPE for 1.1 PrintJob
+ - JDK-8378561: Mark gc/shenandoah/compiler/TestLinkToNativeRBP.java as /native
+ - JDK-8378623: Use unique font names in FormatCharAdvanceTest
+ - JDK-8378631: Update Zlib Data Compression Library to Version 1.3.2
+ - JDK-8378687: Improve delegation of HttpURLConnection
+ - JDK-8378713: C2: performance regression due to missing constant folding for Math.pow()
+ - JDK-8378727: [macOS] Missing dispatch_release for semaphores in CDesktopPeer
+ - JDK-8378764: fileStream::fileSize() fails for >2GB files on Windows
+ - JDK-8378823: AIX build fails after zlib updated by JDK-8378631
+ - JDK-8378836: Enable linktime-gc by default on Linux ppc64le
+ - JDK-8378871: CPU feature flags are not properly set in vm_version_windows_aarch64.cpp
+ - JDK-8378878: Refactor java/nio/channels/AsynchronousSocketChannel test to use JUnit
+ - JDK-8379035: (tz) Update Timezone Data to 2026a
+ - JDK-8379158: Update FreeType to 2.14.2
+ - JDK-8379202: Support linktime-gc on Linux with clang
+ - JDK-8379256: Update GIFlib to 6.1.1
+ - JDK-8379416: AIX build fails if system (not GNU) date tool is in PATH
+ - JDK-8379425: Windows and macOS should not allow unsupported headless-only build
+ - JDK-8379457: Test EATests.java#id0 ERROR: monitor list errors: error_cnt=1
+ - JDK-8379499: [AIX] headless-only build of libjawt.so fails
+ - JDK-8379516: Adjust JVM debug helper exports
+ - JDK-8379952: Revert JDK-8365711: Restore protected visibility of menuBarHeight and hotTrackingOn
+ - JDK-8379967: (process) Improve ProcessBuilder error reporting
+ - JDK-8380011: Path-to-gcroots search should not trigger stack overflows
+ - JDK-8380078: Update GIFlib to 6.1.2
+ - JDK-8380222: Refactor test/jdk/java/lang/Character TestNG tests to JUnit
+ - JDK-8380409: JVM crashes when -XX:AOTMode=create uses app.aotconf generated with JVMTI agent
+ - JDK-8380474: Crash SEGV in ThreadIdTable::lazy_initialize after JDK-8323792
+ - JDK-8380565: PPC64: deoptimization stub should save vector registers
+ - JDK-8380663: Update jcmd man page to include AOT.end_recording diagnostic command
+ - JDK-8380672: Improve certification checking
+ - JDK-8380947: Add pull request template
+ - JDK-8380959: Update Libpng to 1.6.56
+ - JDK-8381039: Enhance AWT ImagingLib
+ - JDK-8381049: Enhance Jar handling
+ - JDK-8381205: GHA: Upgrade Node.js 20 to 24
+ - JDK-8381315: compiler/vectorapi/TestVectorReallocation.java fails with -XX:UseAVX=1 after JDK-8380565
+ - JDK-8381519: Enhance Der Value Handling
+ - JDK-8381596: Adjust checks which use supports_ht() on x86 for hybrid CPUs
+ - JDK-8381670: Revert the changes to GZIPInputStream related to InputStream.available() usage
+ - JDK-8381745: Ensure Modal/FileDialog tests explicitly reference Asserts class
+ - JDK-8381796: Enhance Certificate parsing
+ - JDK-8381937: Make exceptions in Java_sun_security_mscapi_CKeyPairGenerator generateCKeyPair more specific
+ - JDK-8382020: Time Zone Abbreviation Not Localized for Non-English Locales
+ - JDK-8382047: Update Libpng to 1.6.57
+ - JDK-8382204: Revert EA option for build promotion
+ - JDK-8382242: JFR: Metadata reconstruction invalidates ConstantMap for java.lang.String
+ - JDK-8382516: Change milestone to fcs for all releases
+ - JDK-8382740: JFR: Disable jdk.OldObjectSample event for generational ZGC
+ - JDK-8383175: (tz) Update Timezone Data to 2026b
+ - JDK-8383354: Update LCMS to 2.19.1
+ - JDK-8383473: Follow on from tzdata2026b time change to include temporary hack BC time change
+ - JDK-8383867: File.getCanonicalPath drops backslash from UNC path with directory junctions
+ - JDK-8385076: Follow-on fix for Improve certification checking
+ - JDK-8385665: Address possible oversized errors in Math.pow
+
New in release OpenJDK 26.0.1 (2026-04-21):
===========================================
* Changes
diff --git a/TestTranslations.java b/TestTranslations.java
index 1b02c06..9e4002a 100644
--- a/TestTranslations.java
+++ b/TestTranslations.java
@@ -1,5 +1,5 @@
/* TestTranslations -- Ensure translations are available for new timezones
- Copyright (C) 2022 Red Hat, Inc.
+ Copyright (C) 2026 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
@@ -50,25 +50,38 @@ public class TestTranslations {
"Mountain Daylight Time", "MDT", "MDT",
"Mountain Time", "MT", "MT"});
map.put(Locale.FRANCE, new String[] { "heure normale des Rocheuses", "UTC\u221207:00", "MST",
- "heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MST",
- "heure des Rocheuses", "UTC\u221207:00", "MST"});
+ "heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MDT",
+ "heure des Rocheuses", "UTC\u221207:00", "MT"});
map.put(Locale.GERMANY, new String[] { "Rocky-Mountains-Normalzeit", "GMT-07:00", "MST",
- "Rocky-Mountains-Sommerzeit", "GMT-06:00", "MST",
- "Rocky-Mountains-Zeit", "GMT-07:00", "MST"});
+ "Rocky-Mountains-Sommerzeit", "GMT-06:00", "MDT",
+ "Rocky-Mountains-Zeit", "GMT-07:00", "MT"});
CIUDAD_JUAREZ = Collections.unmodifiableMap(map);
}
public static void main(String[] args) {
- if (args.length < 1) {
- System.err.println("Test must be started with the name of the locale provider.");
- System.exit(1);
+ boolean debug = false;
+
+ if (args.length > 0) {
+ debug = Boolean.parseBoolean(args[0]);
}
+ System.err.printf("Debugging: %s\n", debug);
+
+ testZoneStrings(debug);
+
+ testZone(KYIV,
+ new String[] { "Europe/Kiev", "Europe/Kyiv", "Europe/Uzhgorod", "Europe/Zaporozhye" });
+ testZone(CIUDAD_JUAREZ,
+ new String[] { "America/Cambridge_Bay", "America/Ciudad_Juarez" });
+ }
+
+ private static void testZoneStrings(final boolean debug) {
System.out.println("Checking sanity of full zone string set...");
boolean invalid = Arrays.stream(Locale.getAvailableLocales())
- .peek(l -> System.out.println("Locale: " + l))
+ .peek(l -> System.out.printf(debug ? "Locale: %s\n" : "", l))
.map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
+ .peek(df -> System.out.printf(debug ? "Zone string size: %s\n" : "", df.length))
.flatMap(zs -> Arrays.stream(zs))
.flatMap(names -> Arrays.stream(names))
.filter(name -> Objects.isNull(name) || name.isEmpty())
@@ -78,15 +91,9 @@ public class TestTranslations {
System.err.println("Zone string for a locale returned null or empty string");
System.exit(2);
}
-
- String localeProvider = args[0];
- testZone(localeProvider, KYIV,
- new String[] { "Europe/Kiev", "Europe/Kyiv", "Europe/Uzhgorod", "Europe/Zaporozhye" });
- testZone(localeProvider, CIUDAD_JUAREZ,
- new String[] { "America/Cambridge_Bay", "America/Ciudad_Juarez" });
}
- private static void testZone(String localeProvider, Map<Locale,String[]> exp, String[] ids) {
+ private static void testZone(Map<Locale,String[]> exp, String[] ids) {
for (Locale l : exp.keySet()) {
String[] expected = exp.get(l);
System.out.printf("Expected values for %s are %s\n", l, Arrays.toString(expected));
@@ -97,16 +104,11 @@ public class TestTranslations {
System.out.printf("Checking locale %s for %s...\n", l, id);
- if ("JRE".equals(localeProvider) || "CLDR".equals(localeProvider)) {
- expectedShortStd = expected[2];
- expectedShortDST = expected[5];
- expectedShortGen = expected[8];
- } else {
- System.err.printf("Invalid locale provider %s\n", localeProvider);
- System.exit(3);
- }
- System.out.printf("Locale Provider is %s, using short values %s, %s and %s\n",
- localeProvider, expectedShortStd, expectedShortDST, expectedShortGen);
+ expectedShortStd = expected[2];
+ expectedShortDST = expected[5];
+ expectedShortGen = expected[8];
+ System.out.printf("Using short values %s, %s and %s\n",
+ expectedShortStd, expectedShortDST, expectedShortGen);
String longStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.LONG, l);
String shortStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.SHORT, l);
diff --git a/java-latest-openjdk-portable.spec b/java-latest-openjdk-portable.spec
index 7a4a073..181be70 100644
--- a/java-latest-openjdk-portable.spec
+++ b/java-latest-openjdk-portable.spec
@@ -1,4 +1,101 @@
-# debug_package %%{nil} is portable-jdks specific
+# New Version-String scheme-style defines
+%global featurever 26
+%global interimver 0
+%global updatever 2
+%global patchver 0
+%global buildver 10
+%global portablerelease 2
+%global rpmrelease 0
+
+# Define IcedTea version used for SystemTap tapsets and desktop file
+%global icedteaver 6.0.0pre00-c848b93a8598
+# Define current Git revision for the FIPS support patches
+%global fipsver 57722aab802
+# Define JDK versions
+%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
+%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
+%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
+
+# Standard JPackage naming and versioning defines
+%global origin openjdk
+%global origin_nice OpenJDK
+%global top_level_dir_name %{vcstag}
+%global top_level_dir_name_backup %{top_level_dir_name}-backup
+# Define an optional suffix for the OS this package is built on
+%if 0%{?rhel} == 7
+%global pkgos rhel7
+%endif
+
+# Define milestone (EA for pre-releases, GA for releases)
+# Release will be (where N is usually a number starting at 1):
+# - 0.N.ea<dist> for EA releases,
+# - N<dist> for GA releases
+%global is_ga 1
+%if %{is_ga}
+%global build_type GA
+%global ea_designator ""
+%global ea_designator_zip %{nil}
+%global extraver %{nil}
+%global eaprefix %{nil}
+%else
+%global build_type EA
+%global ea_designator ea
+%global ea_designator_zip -%{ea_designator}
+%global extraver .%{ea_designator}
+%global eaprefix 0.
+%endif
+
+%global compatiblename java-%{javaver}-%{origin}
+
+Name: java-latest-%{origin}-portable%{?pkgos:-%{pkgos}}
+Version: %{newjavaver}.%{buildver}
+# This package needs `.rolling` as part of Release so as to not conflict on install with
+# java-X-openjdk. I.e. when latest rolling release is also an LTS release packaged as
+# java-X-openjdk. See: https://bugzilla.redhat.com/show_bug.cgi?id=1647298
+Release: %{?eaprefix}%{rpmrelease}%{?extraver}.rolling%{?dist}
+
+%global fullversion %{compatiblename}-%{version}-%{release}
+
+# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
+# and this change was brought into RHEL-4. java-1.5.0-ibm packages
+# also included the epoch in their virtual provides. This created a
+# situation where in-the-wild java-1.5.0-ibm packages provided "java =
+# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
+# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
+# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
+# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
+# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
+Epoch: 1
+Summary: %{origin_nice} %{featurever} Runtime Environment portable edition
+# 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
+%endif
+
+# HotSpot code is licensed under GPLv2
+# JDK library code is licensed under GPLv2 with the Classpath exception
+# The Apache license is used in code taken from Apache projects (primarily xalan & xerces)
+# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
+# The JSR166 concurrency code is in the public domain
+# The BSD and MIT licenses are used for a number of third-party libraries (see ADDITIONAL_LICENSE_INFO)
+# The OpenJDK source tree includes:
+# - JPEG library (IJG), zlib & libpng (zlib), giflib (MIT), harfbuzz (ISC),
+# - freetype (FTL), jline (BSD) and LCMS (MIT)
+# - jquery (MIT), jdk.crypto.cryptoki PKCS 11 wrapper (RSA)
+# - public_suffix_list.dat from publicsuffix.org (MPLv2.0)
+# The test code includes copies of NSS under the Mozilla Public License v2.0
+# The PCSClite headers are under a BSD with advertising license
+# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
+# Automatically converted from old format: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA - review is highly recommended.
+License: Apache-1.1 AND Apache-2.0 AND LicenseRef-Callaway-BSD AND LicenseRef-Callaway-BSD-with-advertising AND GPL-1.0-or-later AND GPL-2.0-only AND LicenseRef-Callaway-GPLv2-with-exceptions AND IJG AND LicenseRef-Callaway-LGPLv2+ AND LicenseRef-Callaway-MIT AND MPL-2.0 AND LicenseRef-Callaway-Public-Domain AND W3C AND Zlib AND ISC AND FTL AND LicenseRef-RSA
+URL: http://openjdk.java.net/
+
+# We are producing RPMs containing only tarballs
+# and checksums so there are no binaries outside
+# the tarballs to be processed for debuginfo
%define debug_package %{nil}
# RPM conditionals so as to be able to dynamically produce
@@ -15,7 +112,6 @@
#
# Only produce a release build on x86_64:
# $ fedpkg mockbuild --without slowdebug --without fastdebug
-
# Enable fastdebug builds by default on relevant arches.
%bcond_without fastdebug
# Enable slowdebug builds by default on relevant arches.
@@ -24,8 +120,6 @@
%bcond_without release
# Enable static library builds by default.
%bcond_without staticlibs
-# Remove build artifacts by default
-%bcond_with artifacts
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
%bcond_without fresh_libjvm
# Build with system libraries
@@ -99,25 +193,6 @@
%global normal_build %{nil}
%endif
-# We have hardcoded list of files, which is appearing in alternatives, and in files
-# in alternatives those are slaves and master, very often triplicated by man pages
-# in files all masters and slaves are ghosted
-# the ghosts are here to allow installation via query like `dnf install /usr/bin/java`
-# you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ -e alternatives
-# TODO - fix those hardcoded lists via single list
-# Those files must *NOT* be ghosted for *slowdebug* packages
-# FIXME - if you are moving jshell or jlink or similar, always modify all three sections
-# you can check via headless and devels:
-# rpm -ql --noghost java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# == rpm -ql java-11-openjdk-headless-slowdebug-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# != rpm -ql java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# similarly for other %%{_jvmdir}/{jre,java} and %%{_javadocdir}/{java,java-zip}
-%define is_release_build() %( if [ "%{?1}" == "%{debug_suffix_unquoted}" -o "%{?1}" == "%{fastdebug_suffix_unquoted}" ]; then echo "0" ; else echo "1"; fi )
-
-# while JDK is a techpreview(is_system_jdk=0), some provides are turned off. Once jdk stops to be an techpreview, move it to 1
-# as sytem JDK, we mean any JDK which can run whole system java stack without issues (like bytecode issues, module issues, dependencies...)
-%global is_system_jdk 0
-
%global aarch64 aarch64 arm64 armv8
# we need to distinguish between big and little endian PPC64
%global ppc64le ppc64le
@@ -403,17 +478,13 @@ exit 1
%global with_systemtap 0
%endif
-# New Version-String scheme-style defines
-%global featurever 26
-%global interimver 0
-%global updatever 1
-%global patchver 0
-# buildjdkver is usually same as %%{featurever},
-# but in time of bootstrap of next jdk, it is featurever-1,
+
+# buildjdkver is usually same as featurever,
+# but at the time of bootstrap of the next jdk, it is featurever-1,
# and this it is better to change it here, on single place
%global buildjdkver 26
# 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.
+# We need to explicitly exclude EPEL as it has the rhel macro defined.
%if 0%{?rhel} && !0%{?epel}
%global lts_designator "LTS"
%global lts_designator_zip -%{lts_designator}
@@ -425,7 +496,8 @@ exit 1
# Define vendor information used by OpenJDK
%global oj_vendor Red Hat, Inc.
%global oj_vendor_url https://www.redhat.com/
-# Define what url should JVM offer in case of a crash report
+
+# Define what url the JVM should offer in case of a crash report
# order may be important, epel may have rhel declared
%if 0%{?epel}
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{component}&version=epel%{epel}
@@ -441,67 +513,13 @@ exit 1
%endif
%endif
%endif
-%global oj_vendor_version (Red_Hat-%{version}-%{rpmrelease})
+%global oj_vendor_version (Red_Hat-%{version}-%{portablerelease})
-# Define IcedTea version used for SystemTap tapsets and desktop file
-%global icedteaver 6.0.0pre00-c848b93a8598
-# Define current Git revision for the FIPS support patches
-%global fipsver 57722aab802
-# Define JDK versions
-%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
-%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
-%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
-
-# Standard JPackage naming and versioning defines
-%global origin openjdk
-%global origin_nice OpenJDK
-%global top_level_dir_name %{vcstag}
-%global top_level_dir_name_backup %{top_level_dir_name}-backup
-%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
-# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
-# It is very unlikely we will ever have a patch version > 4 or a build version > 20, so we combine as (patch * 20) + build.
-# This means 11.0.9.0+11 would have had a priority of 11000911 as before
-# A 11.0.9.1+1 would have had a priority of 11000921 (20 * 1 + 1), thus ensuring it is bigger than 11.0.9.0+11
-%global combiver $( expr 20 '*' %{patchver} + %{buildver} )
-%global priority %( printf '%02d%02d%02d%02d' %{featurever} %{interimver} %{updatever} %{combiver} )
-%else
-# for techpreview, using 1, so slowdebugs can have 0
-%global priority %( printf '%08d' 1 )
-%endif
-
-# Define milestone (EA for pre-releases, GA for releases)
-# Release will be (where N is usually a number starting at 1):
-# - 0.N%%{?extraver}%%{?dist} for EA releases,
-# - N%%{?extraver}{?dist} for GA releases
-%global is_ga 1
-%if %{is_ga}
-%global build_type GA
-%global ea_designator ""
-%global ea_designator_zip %{nil}
-%global extraver %{nil}
-%global eaprefix %{nil}
-%else
-%global build_type EA
-%global ea_designator ea
-%global ea_designator_zip -%{ea_designator}
-%global extraver .%{ea_designator}
-%global eaprefix 0.
-%endif
-
-# parametrized macros are order-sensitive
-%global compatiblename java-%{featurever}-%{origin}
-%global fullversion %{compatiblename}-%{version}-%{release}
# images directories from upstream build
%global jdkimage jdk
%global static_libs_image static-libs-graal
# output dir stub
+# Parameterised macros are order-sensitive
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
%global miscinstalloutputdir install
@@ -522,31 +540,33 @@ exit 1
%define jdkportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;%{regexBase};\\0.portable%{1}.jdk;g" | sed "s;openjdkportable;el;g")
%define jdkportablesourcesnameimpl() %(echo %{uniquesuffix ""} | sed "s;%{regexBase};\\0.portable%{1}.sources;g" | sed "s;openjdkportable;el;g" | sed "s;.%{_arch};.noarch;g")
%define staticlibsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;%{regexBase};\\0.portable%{1}.static-libs;g" | sed "s;openjdkportable;el;g")
+
+# RPM 4.19 no longer accept our double percentaged %%{nil} passed to %%{1}
+# so we have to pass in "" but evaluate it, otherwise files will include it
%define jmodsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;%{regexBase};\\0.portable%{1}.jmods;g" | sed "s;openjdkportable;el;g")
%define jreportablearchive() %{expand:%{jreportablenameimpl -- %%{1}}.tar.xz}
+%define jreportablearchive_for_files() %(echo %{jreportablearchive -- ""})
%define jdkportablearchive() %{expand:%{jdkportablenameimpl -- %%{1}}.tar.xz}
-%define jdkportablesourcesarchive() %{expand:%{jdkportablesourcesnameimpl -- %%{1}}.tar.xz}
+%define jdkportablearchive_for_files() %(echo %{jdkportablearchive -- ""})
%define staticlibsportablearchive() %{expand:%{staticlibsportablenameimpl -- %%{1}}.tar.xz}
+%define staticlibsportablearchive_for_files() %(echo %{staticlibsportablearchive -- ""})
+%define jdkportablesourcesarchive() %{expand:%{jdkportablesourcesnameimpl -- %%{1}}.tar.xz}
+%define jdkportablesourcesname() %{expand:%{jdkportablesourcesnameimpl -- %%{1}}}
+%define jdkportablesourcesarchive_for_files() %(echo %{jdkportablesourcesarchive -- ""})
%define jmodsportablearchive() %{expand:%{jmodsportablenameimpl -- %%{1}}.tar.xz}
+%define jmodsportablearchive_for_files() %(echo %{jmodsportablearchive -- ""})
%define jreportablename() %{expand:%{jreportablenameimpl -- %%{1}}}
%define jdkportablename() %{expand:%{jdkportablenameimpl -- %%{1}}}
-%define jdkportablesourcesname() %{expand:%{jdkportablesourcesnameimpl -- %%{1}}}
-# Intentionally use jdkportablenameimpl here since we want to have static-libs files overlayed on
-# top of the JDK archive
+# We intentionally use jdkportablenameimpl here since we want to have
+# static-libs files overlayed on top of the JDK archive
%define staticlibsportablename() %{expand:%{jdkportablenameimpl -- %%{1}}}
+
+# These macros are not parameterised as the same is shared by all builds
%define docportablename() %(echo %{uniquesuffix ""} | sed "s;%{regexBase};\\0.portable.docs;g" | sed "s;openjdkportable;el;g")
%define docportablearchive() %{docportablename}.tar.xz
%define miscportablename() %(echo %{uniquesuffix ""} | sed "s;%{regexBase};\\0.portable.misc;g" | sed "s;openjdkportable;el;g")
%define miscportablearchive() %{miscportablename}.tar.xz
-# RPM 4.19 no longer accept our double percentaged %%{nil} passed to %%{1}
-# so we have to pass in "" but evaluate it, otherwise files record will include it
-%define jreportablearchiveForFiles() %(echo %{jreportablearchive -- ""})
-%define jdkportablearchiveForFiles() %(echo %{jdkportablearchive -- ""})
-%define jdkportablesourcesarchiveForFiles() %(echo %{jdkportablesourcesarchive -- ""})
-%define staticlibsportablearchiveForFiles() %(echo %{staticlibsportablearchive -- ""})
-%define jmodsportablearchiveForFiles() %(echo %{jmodsportablearchive -- ""})
-
# JDK to use for bootstrapping
%ifarch %{fastdebug_arches}
%global bootdebugpkg fastdebug
@@ -570,26 +590,6 @@ exit 1
%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
-# 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.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsystemconf[.]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})$
-%global __requires_exclude ^(%{_privatelibs})$
-# Never generate lib-style provides/requires for any debug packages
-%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
-%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
-%global __provides_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
-%global __requires_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
-%else
-# Don't generate provides/requires for JDK provided shared libraries at all.
-%global __provides_exclude ^(%{_privatelibs}|%{_publiclibs})$
-%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
-%endif
-
# VM variant being built
%ifarch %{zero_arches}
%global vm_variant zero
@@ -597,28 +597,11 @@ exit 1
%global vm_variant server
%endif
-%global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin}
-%define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
-# Standard JPackage directories and symbolic links.
-%define sdkdir() %{expand:%{uniquesuffix -- %{?1}}}
-%define jrelnk() %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}
-
-%define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
-%define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
-
%global alt_java_name alt-java
%global generated_sources_name generated_sources
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
-# For flatpack builds hard-code /usr/sbin/alternatives,
-# otherwise use %%{_sbindir} relative path.
-%if 0%{?flatpak}
-%global alternatives_requires /usr/sbin/alternatives
-%else
-%global alternatives_requires %{_sbindir}/alternatives
-%endif
-
# Portables have no repo (requires/provides), but these are awesome for orientation in spec
# Also scriptlets are happily missing and files are handled old fashion
# not-duplicated requires/provides/obsoletes for normal/debug packages
@@ -653,54 +636,13 @@ ExcludeArch: %{ix86}
ExclusiveArch: %{exclusive_arches}
%endif
-Name: java-latest-%{origin}-portable%{?pkgos:-%{pkgos}}
-Version: %{newjavaver}.%{buildver}
-# This package needs `.rolling` as part of Release so as to not conflict on install with
-# java-X-openjdk. I.e. when latest rolling release is also an LTS release packaged as
-# java-X-openjdk. See: https://bugzilla.redhat.com/show_bug.cgi?id=1647298
-Release: %{?eaprefix}%{rpmrelease}%{?extraver}.rolling%{?dist}.1
-# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
-# and this change was brought into RHEL-4. java-1.5.0-ibm packages
-# also included the epoch in their virtual provides. This created a
-# situation where in-the-wild java-1.5.0-ibm packages provided "java =
-# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
-# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
-# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
-# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
-# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
-
-Epoch: 1
-Summary: %{origin_nice} %{featurever} Runtime Environment portable edition
-# 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
-%endif
-
-# HotSpot code is licensed under GPLv2
-# JDK library code is licensed under GPLv2 with the Classpath exception
-# The Apache license is used in code taken from Apache projects (primarily xalan & xerces)
-# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
-# The JSR166 concurrency code is in the public domain
-# The BSD and MIT licenses are used for a number of third-party libraries (see ADDITIONAL_LICENSE_INFO)
-# The OpenJDK source tree includes:
-# - JPEG library (IJG), zlib & libpng (zlib), giflib (MIT), harfbuzz (ISC),
-# - freetype (FTL), jline (BSD) and LCMS (MIT)
-# - jquery (MIT), jdk.crypto.cryptoki PKCS 11 wrapper (RSA)
-# - public_suffix_list.dat from publicsuffix.org (MPLv2.0)
-# The test code includes copies of NSS under the Mozilla Public License v2.0
-# The PCSClite headers are under a BSD with advertising license
-# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
-# Automatically converted from old format: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA - review is highly recommended.
-License: Apache-1.1 AND Apache-2.0 AND LicenseRef-Callaway-BSD AND LicenseRef-Callaway-BSD-with-advertising AND GPL-1.0-or-later AND GPL-2.0-only AND LicenseRef-Callaway-GPLv2-with-exceptions AND IJG AND LicenseRef-Callaway-LGPLv2+ AND LicenseRef-Callaway-MIT AND MPL-2.0 AND LicenseRef-Callaway-Public-Domain AND W3C AND Zlib AND ISC AND FTL AND LicenseRef-RSA
-URL: http://openjdk.java.net/
-
# The source tarball, generated using generate_source_tarball.sh
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).
# Systemtap tapsets. Zipped up to keep it small.
-# Disabled in portables
+# Disabled in fedora portables (applied in fedora rpms)
#Source8: tapsets-icedtea-%%{icedteaver}.tar.xz
# Desktop files. Adapted from IcedTea
@@ -736,12 +678,13 @@ Source18: TestTranslations.java
# RPM/distribution specific patches
#
############################################
+
# Crypto policy and FIPS support patches
+
# Patch is generated from the fips-25u tree at https://github.com/rh-openjdk/jdk/tree/fips-25u
-# as follows: git diff %%{vcstag} src make test > fips-25u-$(git show -s --format=%h HEAD).patch
+# as follows: git diff <vcstag> src make test > fips-25u-$(git show -s --format=%h HEAD).patch
# Diff is limited to src and make subdirectories to exclude .github changes
-# The following list is generated by:
-# git log %%{vcstag}.. --no-merges --format=%s --reverse:
+
# Fixes currently included:
# OPENJDK-2108: Internal __redhat_fips__ property
# OPENJDK-2123: Algorithms lockdown
@@ -754,8 +697,7 @@ Patch1001: fips-25u-%{fipsver}.patch
#
#############################################
-# JDK-8375294: (fs) Files.copy can fail with EOPNOTSUPP when copy_file_range not supported
-Patch2001: jdk8375294-handle-EOPNOTSUPP-in-copying.patch
+# Currently empty
#############################################
#
@@ -763,8 +705,6 @@ Patch2001: jdk8375294-handle-EOPNOTSUPP-in-copying.patch
#
#############################################
-# Currently empty
-
#############################################
#
# Portable build specific patches
@@ -834,17 +774,17 @@ BuildRequires: libpng-devel
BuildRequires: zlib-devel
%else
# Version in src/java.desktop/share/legal/freetype.md
-Provides: bundled(freetype) = 2.14.2
+Provides: bundled(freetype) = 2.14.3
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
-Provides: bundled(giflib) = 6.1.2
+Provides: bundled(giflib) = 6.1.3
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
-Provides: bundled(harfbuzz) = 12.3.2
+Provides: bundled(harfbuzz) = 14.2.0
# Version in src/java.desktop/share/native/liblcms/lcms2.h
-Provides: bundled(lcms2) = 2.17.0
+Provides: bundled(lcms2) = 2.19.1
# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
Provides: bundled(libjpeg) = 6b
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
-Provides: bundled(libpng) = 1.6.57
+Provides: bundled(libpng) = 1.6.58
# Version in src/java.base/share/native/libzip/zlib/zlib.h
Provides: bundled(zlib) = 1.3.2
%endif
@@ -1028,38 +968,20 @@ fi
export XZ_OPT="-T0"
%setup -q -c -n %{uniquesuffix ""} -T -a 0
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
-prioritylength=`expr length %{priority}`
-if [ $prioritylength -ne 8 ] ; then
- echo "priority must be 8 digits in total, violated"
- exit 14
-fi
# OpenJDK patches
+
%if %{system_libs}
# Remove libraries that are linked by both static and dynamic builds
sh %{SOURCE12} %{top_level_dir_name}
%endif
# Patch the JDK
-# This syntax is deprecated:
-# %%patchN [...]
-# and should be replaced with:
-# %%patch -PN [...]
-# For example:
-# %%patch1001 -p1
-# becomes:
-# %%patch -P1001 -p1
-# The replacement format suggested by recent (circa Fedora 38) RPM
-# deprecation messages:
-# %%patch N [...]
-# is not backward-compatible with prior (circa RHEL-8) versions of
-# rpmbuild.
+
pushd %{top_level_dir_name}
# Add crypto policy and FIPS support
# usage in jdk >25 is experimental and may disapear
%patch -P1001 -p1
-# Add EOPNOTSUPP patch
-%patch -P2001 -p1
popd # openjdk
echo "Generating %{alt_java_name} man page"
@@ -1128,7 +1050,6 @@ fi
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
export NUM_PROC=${NUM_PROC:-1}
%if 0%{?_smp_ncpus_max}
-# Honor %%_smp_ncpus_max
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
%endif
export XZ_OPT="-T0"
@@ -1871,8 +1792,8 @@ done
%if %{include_normal_build}
%files
# main package builds always
-%{_jvmdir}/%{jreportablearchiveForFiles}
-%{_jvmdir}/%{jreportablearchiveForFiles}.sha256sum
+%{_jvmdir}/%{jreportablearchive_for_files}
+%{_jvmdir}/%{jreportablearchive_for_files}.sha256sum
%else
%files
# placeholder
@@ -1880,19 +1801,19 @@ done
%if %{include_normal_build}
%files devel
-%{_jvmdir}/%{jdkportablearchiveForFiles}
+%{_jvmdir}/%{jdkportablearchive_for_files}
%{_jvmdir}/%{jdkportablearchive -- .debuginfo}
-%{_jvmdir}/%{jdkportablearchiveForFiles}.sha256sum
+%{_jvmdir}/%{jdkportablearchive_for_files}.sha256sum
%{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum
-%{_jvmdir}/%{jmodsportablearchiveForFiles}
-%{_jvmdir}/%{jmodsportablearchiveForFiles}.sha256sum
+%{_jvmdir}/%{jmodsportablearchive_for_files}
+%{_jvmdir}/%{jmodsportablearchive_for_files}.sha256sum
%endif
%if %{include_normal_build}
%if %{include_staticlibs}
%files static-libs
-%{_jvmdir}/%{staticlibsportablearchiveForFiles}
-%{_jvmdir}/%{staticlibsportablearchiveForFiles}.sha256sum
+%{_jvmdir}/%{staticlibsportablearchive_for_files}
+%{_jvmdir}/%{staticlibsportablearchive_for_files}.sha256sum
%endif
%endif
@@ -1933,8 +1854,8 @@ done
%endif
%files sources
-%{_jvmdir}/%{jdkportablesourcesarchiveForFiles}
-%{_jvmdir}/%{jdkportablesourcesarchiveForFiles}.sha256sum
+%{_jvmdir}/%{jdkportablesourcesarchive_for_files}
+%{_jvmdir}/%{jdkportablesourcesarchive_for_files}.sha256sum
%if %{include_normal_build}
%files docs
diff --git a/jdk8375294-handle-EOPNOTSUPP-in-copying.patch b/jdk8375294-handle-EOPNOTSUPP-in-copying.patch
deleted file mode 100644
index ea8076a..0000000
--- a/jdk8375294-handle-EOPNOTSUPP-in-copying.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From dbbdc1dffd10608195487fa139e77c4a90c80658 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ji=C5=99=C3=AD=20Van=C4=9Bk?= <jvanek@openjdk.org>
-Date: Wed, 15 Apr 2026 12:54:49 +0000
-Subject: [PATCH] 8375294: (fs) Files.copy can fail with EOPNOTSUPP when
- copy_file_range not supported
-
-Reviewed-by: andrew
-Backport-of: 30cda00010888b6e9a2bf8cdeaedbb3eb4b6a222
----
- src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c | 5 +++--
- src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c | 3 ++-
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c b/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c
-index efbd0ca5684..54d640b03a4 100644
---- a/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c
-+++ b/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2000, 2026, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -63,7 +63,7 @@ Java_sun_nio_ch_FileDispatcherImpl_transferFrom0(JNIEnv *env, jobject this,
- if (n < 0) {
- if (errno == EAGAIN)
- return IOS_UNAVAILABLE;
-- if (errno == ENOSYS)
-+ if (errno == ENOSYS || errno == EOPNOTSUPP)
- return IOS_UNSUPPORTED_CASE;
- if ((errno == EBADF || errno == EINVAL || errno == EXDEV) &&
- ((ssize_t)count >= 0))
-@@ -103,6 +103,7 @@ Java_sun_nio_ch_FileDispatcherImpl_transferTo0(JNIEnv *env, jobject this,
- case EINVAL:
- case ENOSYS:
- case EXDEV:
-+ case EOPNOTSUPP:
- // ignore and try sendfile()
- break;
- default:
-diff --git a/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c b/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c
-index c90e99dda07..4677411b0ba 100644
---- a/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c
-+++ b/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2008, 2026, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -193,6 +193,7 @@ Java_sun_nio_fs_LinuxNativeDispatcher_directCopy0
- case EINVAL:
- case ENOSYS:
- case EXDEV:
-+ case EOPNOTSUPP:
- // ignore and try sendfile()
- break;
- default:
---
-2.52.0
-
diff --git a/scripts/generate_source_tarball.sh b/scripts/generate_source_tarball.sh
index a1b5200..9670950 100755
--- a/scripts/generate_source_tarball.sh
+++ b/scripts/generate_source_tarball.sh
@@ -48,7 +48,7 @@
# This will check out the same version as example 1, but from the
# upstream repository:
#
-# $ VERSION=jdk-26.0.1+8 PROJECT_NAME=openjdk REPO_NAME=jdk26u \
+# $ VERSION=jdk-26.0.2+10 PROJECT_NAME=openjdk REPO_NAME=jdk26u \
# BOOT_JDK=/usr/lib/jvm/java-latest-openjdk sh scripts/generate_source_tarball.sh
#
# Example 3:
diff --git a/sources b/sources
index 952e465..50a6509 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (openjdk-26.0.1+8.tar.xz) = 3685f82e9bc05e637f42aa72d6461b4edc9f413c06bd15a67ef8cfd89f5f7a2156e6c4d5e1a54ec75c3bed49a75dbde6de5d39d84cb2f66c58e7ddd4d1168170
+SHA512 (openjdk-26.0.2+10.tar.xz) = fd8269e531e82c9fa2996824b5d599b94aa42cc35e3d02559e6b11e0c758ed4c2ab7a73d2849dd1975b59c92adf6c00c6585d3e623d2349665691fd29f5917cf
reply other threads:[~2026-07-24 16:21 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178491009123.1.6947927942065052794.rpms-java-latest-openjdk-portable-7b5b66869d0a@fedoraproject.org \
--to=jvanek@redhat.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox