From 2cfdca54f40bf2986068d0cd897ccc7b63ca07aa Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 16 May 2023 19:29:36 +0300 Subject: [PATCH] Portable build --- SOURCES/NEWS | 2557 +++++++++++++++ SOURCES/java-17-openjdk-portable.specfile | 8 +- SPECS/java-17-openjdk.spec | 3476 +-------------------- 3 files changed, 2562 insertions(+), 3479 deletions(-) create mode 100644 SOURCES/NEWS mode change 100644 => 120000 SPECS/java-17-openjdk.spec diff --git a/SOURCES/NEWS b/SOURCES/NEWS new file mode 100644 index 0000000..3a6ee47 --- /dev/null +++ b/SOURCES/NEWS @@ -0,0 +1,2557 @@ +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 17.0.7 (2023-04-18): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1707 + +* CVEs + - CVE-2023-21930 + - CVE-2023-21937 + - CVE-2023-21938 + - CVE-2023-21939 + - CVE-2023-21954 + - CVE-2023-21967 + - CVE-2023-21968 +* Security fixes + - JDK-8287404: Improve ping times + - JDK-8288436: Improve Xalan supports + - JDK-8294474: Better AES support + - JDK-8295304: Runtime support improvements + - JDK-8296676, JDK-8296622: Improve String platform support + - JDK-8296684: Improve String platform support + - JDK-8296692: Improve String platform support + - JDK-8296832: Improve Swing platform support + - JDK-8297371: Improve UTF8 representation redux + - JDK-8298191: Enhance object reclamation process + - JDK-8298310: Enhance TLS session negotiation + - JDK-8298667: Improved path handling + - JDK-8299129: Enhance NameService lookups +* Other changes + - JDK-6528710: sRGB-ColorSpace to sRGB-ColorSpace Conversion + - JDK-6779701: Wrong defect ID in the code of test LocalRMIServerSocketFactoryTest.java + - JDK-8008243: Zero: Implement fast bytecodes + - JDK-8048190: NoClassDefFoundError omits original ExceptionInInitializerError + - JDK-8065097: [macosx] javax/swing/Popup/TaskbarPositionTest.java fails because Popup is one pixel off + - JDK-8144030: [macosx] test java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails (again) + - JDK-8155246: Throw error if default java.security file is missing + - JDK-8186765: Speed up test sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java + - JDK-8192931: Regression test java/awt/font/TextLayout/CombiningPerf.java fails + - JDK-8195809: [TESTBUG] jps and jcmd -l support for containers is not tested + - JDK-8208077: File.listRoots performance degradation + - JDK-8209935: Test to cover CodeSource.getCodeSigners() + - JDK-8210927: JDB tests do not update source path after doing a redefine class + - JDK-8212961: [TESTBUG] vmTestbase/nsk/stress/jni/ native code cleanup + - JDK-8213531: Test javax/swing/border/TestTitledBorderLeak.java fails + - JDK-8223783: sun/net/www/http/HttpClient/MultiThreadTest.java sometimes detect threads+1 connections + - JDK-8230374: maxOutputSize, instead of javatest.maxOutputSize, should be used in TEST.properties + - JDK-8231491: JDI tc02x004 failed again due to wrong # of breakpoints + - JDK-8235297: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java fails intermittent + - JDK-8241293: CompressedClassSpaceSizeInJmapHeap.java time out after 8 minutes + - JDK-8242115: C2 SATB barriers are not safepoint-safe + - JDK-8244669: convert clhsdb "mem" command from javascript to java + - JDK-8245654: Add Certigna Root CA + - JDK-8251177: [macosx] The text "big" is truncated in JTabbedPane + - JDK-8254267: javax/xml/crypto/dsig/LogParameters.java failed with "RuntimeException: Unexpected log output:" + - JDK-8258512: serviceability/sa/TestJmapCore.java timed out on macOS 10.13.6 + - JDK-8262386: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java timed out + - JDK-8266974: duplicate property key in java.sql.rowset resource bundle + - JDK-8267038: Update IANA Language Subtag Registry to Version 2022-03-02 + - JDK-8270156: Add "randomness" and "stress" keys to JTreg tests which use StressGCM, StressLCM and/or StressIGVN + - JDK-8270476: Make floating-point test infrastructure more lambda and method reference friendly + - JDK-8271471: [IR Framework] Rare occurrence of "" in PrintIdeal/PrintOptoAssembly can let tests fail + - JDK-8271838: AmazonCA.java interop test fails + - JDK-8272702: Resolving URI relative path with no / may lead to incorrect toString + - JDK-8272985: Reference discovery is confused about atomicity and degree of parallelism + - JDK-8273154: Provide a JavadocTester method for non-overlapping, unordered output matching + - JDK-8273410: IR verification framework fails with "Should find method name in validIrRulesMap" + - JDK-8274911: testlibrary_tests/ir_framework/tests/TestIRMatching.java fails with "java.lang.RuntimeException: Should have thrown exception" + - JDK-8275173: testlibrary_tests/ir_framework/tests/TestCheckedTests.java fails after JDK-8274911 + - JDK-8275301: Unify C-heap buffer overrun checks into NMT + - JDK-8275320: NMT should perform buffer overrun checks + - JDK-8275582: Don't purge metaspace mapping lists + - JDK-8275704: Metaspace::contains() should be threadsafe + - JDK-8275843: Random crashes while the UI code is executed + - JDK-8276064: CheckCastPP with raw oop input floats below a safepoint + - JDK-8276086: Increase size of metaspace mappings + - JDK-8277485: Zero: Fix _fast_{i,f}access_0 bytecodes handling + - JDK-8277822: Remove debug-only heap overrun checks in os::malloc and friends + - JDK-8277946: NMT: Remove VM.native_memory shutdown jcmd command option + - JDK-8277990: NMT: Remove NMT shutdown capability + - JDK-8278961: Enable debug logging in java/net/DatagramSocket/SendDatagramToBadAddress.java + - JDK-8279024: Remove javascript references from clhsdb.html + - JDK-8279119: src/jdk.hotspot.agent/doc/index.html file contains references to scripts that no longer exist + - JDK-8279351: [TESTBUG] SADebugDTest.java does not handle "Address already in use" error + - JDK-8279614: The left line of the TitledBorder is not painted on 150 scale factor + - JDK-8280007: Enable Neoverse N1 optimizations for Arm Neoverse V1 & N2 + - JDK-8280048: Missing comma in copyright header + - JDK-8280132: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder + - JDK-8280166: Extend java/lang/instrument/GetObjectSizeIntrinsicsTest.java test cases + - JDK-8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs + - JDK-8280703: CipherCore.doFinal(...) causes potentially massive byte[] allocations during decryption + - JDK-8280784: VM_Cleanup unnecessarily processes all thread oops + - JDK-8280868: LineBodyHandlerTest.java creates and discards too many clients + - JDK-8280889: java/lang/instrument/GetObjectSizeIntrinsicsTest.java fails with -XX:-UseCompressedOops + - JDK-8280896: java/nio/file/Files/probeContentType/Basic.java fails on Windows 11 + - JDK-8281122: [IR Framework] Cleanup IR matching code in preparation for JDK-8280378 + - JDK-8281170: Test jdk/tools/jpackage/windows/WinInstallerIconTest always fails on Windows 11 + - JDK-8282036: Change java/util/zip/ZipFile/DeleteTempJar.java to stop HttpServer cleanly in case of exceptions + - JDK-8282143: Objects.requireNonNull should be ForceInline + - JDK-8282577: ICC_Profile.setData(int, byte[]) invalidates the profile + - JDK-8282771: Create test case for JDK-8262981 + - JDK-8282958: Rendering Issues with Borders on Windows High-DPI systems + - JDK-8283606: Tests may fail with zh locale on MacOS + - JDK-8283717: vmTestbase/nsk/jdi/ThreadStartEvent/thread/thread001 failed due to SocketTimeoutException + - JDK-8283719: java/util/logging/CheckZombieLockTest.java failing intermittently + - JDK-8283870: jdeprscan --help causes an exception when the locale is ja, zh_CN or de + - JDK-8284115: [IR Framework] Compilation is not found due to rare safepoint while dumping PrintIdeal/PrintOptoAssembly + - JDK-8284165: Add pid to process reaper thread name + - JDK-8284524: Create an automated test for JDK-4422362 + - JDK-8284726: Print active locale settings in hs_err reports and in VM.info + - JDK-8284767: Create an automated test for JDK-4422535 + - JDK-8285399: JNI exception pending in awt_GraphicsEnv.c:1432 + - JDK-8285690: CloneableReference subtest should not throw CloneNotSupportedException + - JDK-8285755: JDK-8285093 changed the default for --with-output-sync + - JDK-8285835: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work + - JDK-8285919: Remove debug printout from JDK-8285093 + - JDK-8285965: TestScenarios.java does not check for "" correctly + - JDK-8286030: Avoid JVM crash when containers share the same /tmp dir + - JDK-8286154: Fix 3rd party notices in test files + - JDK-8286562: GCC 12 reports some compiler warnings + - JDK-8286694: Incorrect argument processing in java launcher + - JDK-8286705: GCC 12 reports use-after-free potential bugs + - JDK-8286707: JFR: Don't commit JFR internal jdk.JavaMonitorWait events + - JDK-8286800: Assert in PhaseIdealLoop::dump_real_LCA is too strong + - JDK-8286844: com/sun/jdi/RedefineCrossEvent.java failed with 1 threads completed while VM suspended + - JDK-8286873: Improve websocket test execution time + - JDK-8286962: java/net/httpclient/ServerCloseTest.java failed once with ConnectException + - JDK-8287180: Update IANA Language Subtag Registry to Version 2022-08-08 + - JDK-8287217: C2: PhaseCCP: remove not visited nodes, prevent type inconsistency + - JDK-8287491: compiler/jvmci/errors/TestInvalidDebugInfo.java fails new assert: assert((uint)t < T_CONFLICT + 1) failed: invalid type # + - JDK-8287593: ShortResponseBody could be made more resilient to rogue connections + - JDK-8287754: Update jib GNU make dependency on Windows to latest cygwin build + - JDK-8288005: HotSpot build with disabled PCH fails for Windows AArch64 + - JDK-8288130: compiler error with AP and explicit record accessor + - JDK-8288332: Tier1 validate-source fails after 8279614 + - JDK-8288415: java/awt/PopupMenu/PopupMenuLocation.java is unstable in MacOS machines + - JDK-8288854: getLocalGraphicsEnvironment() on for multi-screen setups throws exception NPE + - JDK-8289400: Improve com/sun/jdi/TestScaffold error reporting + - JDK-8289440: Remove vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded003 from ProblemList.txt + - JDK-8289508: Improve test coverage for XPath Axes: ancestor, ancestor-or-self, preceding, and preceding-sibling + - JDK-8289511: Improve test coverage for XPath Axes: child + - JDK-8289647: AssertionError during annotation processing of record related tests + - JDK-8289948: Improve test coverage for XPath functions: Node Set Functions + - JDK-8290067: Show stack dimensions in UL logging when attaching threads + - JDK-8290083: ResponseBodyBeforeError: AssertionError or SSLException: Unsupported or unrecognized SSL message + - JDK-8290197: test/jdk/java/nio/file/Files/probeContentType/Basic.java fails on some systems for the ".rar" extension + - JDK-8290322: Optimize Vector.rearrange over byte vectors for AVX512BW targets. + - JDK-8290836: Improve test coverage for XPath functions: String Functions + - JDK-8290837: Improve test coverage for XPath functions: Boolean Functions + - JDK-8290838: Improve test coverage for XPath functions: Number Functions + - JDK-8290850: C2: create_new_if_for_predicate() does not clone pinned phi input nodes resulting in a broken graph + - JDK-8290899: java/lang/String/StringRepeat.java test requests too much heap on windows x86 + - JDK-8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes" + - JDK-8291825: java/time/nontestng/java/time/zone/CustomZoneNameTest.java fails if defaultLocale and defaultFormatLocale are different + - JDK-8292033: Move jdk.X509Certificate event logic to JCA layer + - JDK-8292066: Convert TestInputArgument.sh and TestSystemLoadAvg.sh to java version + - JDK-8292159: TYPE_USE annotations on generic type arguments of record components discarded + - JDK-8292177: InitialSecurityProperty JFR event + - JDK-8292285: C2: remove unreachable block after NeverBranch-to-Goto conversion + - JDK-8292297: Fix up loading of override java.security properties file + - JDK-8292328: AccessibleActionsTest.java test instruction for show popup on JLabel did not specify shift key + - JDK-8292443: Weak CAS VarHandle/Unsafe tests should test always-failing cases + - JDK-8292602: ZGC: C2 late barrier analysis uses invalid dominator information + - JDK-8292660: C2: blocks made unreachable by NeverBranch-to-Goto conversion are removed incorrectly + - JDK-8292780: misc tests failed "assert(false) failed: graph should be schedulable" + - JDK-8292877: java/util/concurrent/atomic/Serial.java uses {Double,Long}Accumulator incorrectly + - JDK-8293000: Review running times of jshell regression tests + - JDK-8293326: jdk/sun/security/tools/jarsigner/compatibility/SignTwice.java slow on Windows + - JDK-8293466: libjsig should ignore non-modifying sigaction calls + - JDK-8293493: Signal Handlers printout should show signal block state + - JDK-8293531: C2: some vectorapi tests fail assert "Not monotonic" with flag -XX:TypeProfileLevel=222 + - JDK-8293562: KeepAliveCache Blocks Threads while Closing Connections + - JDK-8293691: converting a defined BasicType value to a string should not crash the VM + - JDK-8293767: AWT test TestSinhalaChar.java has old SCCS markings + - JDK-8293819: sun/util/logging/PlatformLoggerTest.java failed with "RuntimeException: Retrieved backing PlatformLogger level null is not the expected CONFIG" + - JDK-8293965: Code signing warnings after JDK-8293550 + - JDK-8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop + - JDK-8294160: misc crash dump improvements + - JDK-8294217: Assertion failure: parsing found no loops but there are some + - JDK-8294310: compare.sh fails on macos after JDK-8293550 + - JDK-8294378: URLPermission constructor exception when using tr locale + - JDK-8294538: missing is_unloading() check in SharedRuntime::fixup_callers_callsite() + - JDK-8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316 + - JDK-8294580: frame::interpreter_frame_print_on() crashes if free BasicObjectLock exists in frame + - JDK-8294677: chunklevel::MAX_CHUNK_WORD_SIZE too small for some applications + - JDK-8294705: Disable an assertion in test/jdk/java/util/DoubleStreamSums/CompensatedSums.java + - JDK-8294902: Undefined Behavior in C2 regalloc with null references + - JDK-8294947: Use 64bit atomics in patch_verified_entry on x86_64 + - JDK-8294958: java/net/httpclient/ConnectTimeout tests are slow + - JDK-8295000: java/util/Formatter/Basic test cleanup + - JDK-8295066: Folding of loads is broken in C2 after JDK-8242115 + - JDK-8295116: C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead + - JDK-8295211: Fix autoconf 2.71 warning "AC_CHECK_HEADERS: you should use literals" + - JDK-8295413: com/sun/jdi/EATests.java fails with compiler flag -XX:+StressReflectiveCode + - JDK-8295414: [Aarch64] C2: assert(false) failed: bad AD file + - JDK-8295530: Update Zlib Data Compression Library to Version 1.2.13 + - JDK-8295685: Update Libpng to 1.6.38 + - JDK-8295724: VirtualMachineError: Out of space in CodeCache for method handle intrinsic + - JDK-8295774: Write a test to verify List sends ItemEvent/ActionEvent + - JDK-8295777: java/net/httpclient/ConnectExceptionTest.java should not rely on system resolver + - JDK-8295788: C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node" + - JDK-8296136: Use correct register in aarch64_enc_fast_unlock() + - JDK-8296239: ISO 4217 Amendment 174 Update + - JDK-8296329: jar validator doesn't account for minor class file version + - JDK-8296389: C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors + - JDK-8296548: Improve MD5 intrinsic for x86_64 + - JDK-8296611: Problemlist several sun/security tests until JDK-8295343 is resolved + - JDK-8296619: Upgrade jQuery to 3.6.1 + - JDK-8296675: Exclude linux-aarch64 in NSS tests + - JDK-8296878: Document Filter attached to JPasswordField and setText("") is not cleared instead inserted characters replaced with unicode null characters + - JDK-8296904: Improve handling of macos xcode toolchain + - JDK-8296912: C2: CreateExNode::Identity fails with assert(i < _max) failed: oob: i=1, _max=1 + - JDK-8296924: C2: assert(is_valid_AArch64_address(dest.target())) failed: bad address + - JDK-8297088: Update LCMS to 2.14 + - JDK-8297211: Expensive fillInStackTrace operation in HttpURLConnection.getOutputStream0 when no content-length in response + - JDK-8297259: Bump update version for OpenJDK: jdk-17.0.7 + - JDK-8297264: C2: Cast node is not processed again in CCP and keeps a wrong too narrow type which is later replaced by top + - JDK-8297431: [JVMCI] HotSpotJVMCIRuntime.encodeThrowable should not throw an exception + - JDK-8297437: javadoc cannot link to old docs (with old style anchors) + - JDK-8297480: GetPrimitiveArrayCritical in imageioJPEG misses result - NULL check + - JDK-8297489: Modify TextAreaTextEventTest.java as to verify the content change of TextComponent sends TextEvent + - JDK-8297523: Various GetPrimitiveArrayCritical miss result - NULL check + - JDK-8297569: URLPermission constructor throws IllegalArgumentException: Invalid characters in hostname after JDK-8294378 + - JDK-8297642: PhaseIdealLoop::only_has_infinite_loops must detect all loops that never lead to termination + - JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication + - JDK-8297959: Provide better descriptions for some Operating System JFR events + - JDK-8297963: Partially fix string expansion issues in UTIL_DEFUN_NAMED and related macros + - JDK-8298027: Remove SCCS id's from awt jtreg tests + - JDK-8298035: Provide better descriptions for JIT compiler JFR events + - JDK-8298073: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java causes test task timeout on macosx + - JDK-8298093: improve cleanup and error handling of awt_parseColorModel in awt_parseImage.c + - JDK-8298108: Add a regression test for JDK-8297684 + - JDK-8298129: Let checkpoint event sizes grow beyond u4 limit + - JDK-8298271: java/security/SignedJar/spi-calendar-provider/TestSPISigned.java failing on Windows + - JDK-8298459: Fix msys2 linking and handling out of tree build directory for source zip creation + - JDK-8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options + - JDK-8298527: Cygwin's uname -m returns different string than before + - JDK-8298568: Fastdebug build fails after JDK-8296389 + - JDK-8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body + - JDK-8298649: JFR: RemoteRecordingStream support for checkpoint event sizes beyond u4 + - JDK-8298726: (fs) Change PollingWatchService to record last modified time as FileTime rather than milliseconds + - JDK-8298947: compiler/codecache/MHIntrinsicAllocFailureTest.java fails intermittently + - JDK-8299015: Ensure that HttpResponse.BodySubscribers.ofFile writes all bytes + - JDK-8299018: java/net/httpclient/HttpsTunnelAuthTest.java fails with java.io.IOException: HTTP/1.1 header parser received no bytes + - JDK-8299194: CustomTzIDCheckDST.java may fail at future date + - JDK-8299296: Write a test to verify the components selection sends ItemEvent + - JDK-8299388: java/util/regex/NegativeArraySize.java fails on Alpine and sometimes Windows + - JDK-8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit + - JDK-8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR + - JDK-8299470: sun/jvm/hotspot/SALauncher.java handling of negative rmiport args + - JDK-8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java + - JDK-8299497: Usage of constructors of primitive wrapper classes should be avoided in java.desktop API docs + - JDK-8299520: TestPrintXML.java output error messages in case compare fails + - JDK-8299597: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.7 + - JDK-8299657: sun/tools/jhsdb/SAGetoptTest.java fails after 8299470 + - JDK-8299671: Speed up compiler/intrinsics/string/TestStringLatin1IndexOfChar.java + - JDK-8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs + - JDK-8299957: Enhance error logging in instrument coding with additional jplis_assert_msg + - JDK-8299970: Speed up compiler/arraycopy/TestArrayCopyConjoint.java + - JDK-8300119: CgroupMetrics.getTotalMemorySize0() can report invalid results on 32 bit systems + - JDK-8300205: Swing test bug8078268 make latch timeout configurable + - JDK-8300266: Detect Virtualization on Linux aarch64 + - JDK-8300490: Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550 + - JDK-8300590: [JVMCI] BytecodeFrame.equals is broken + - JDK-8300642: [17u,11u] Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev + - JDK-8300692: GCC 12 reports some compiler warnings in bundled freetype + - JDK-8300751: [17u] Remove duplicate entry in javac.properties + - JDK-8300773: Address the inconsistency between the constant array and pool size + - JDK-8301170: perfMemory_windows.cpp add free_security_attr to early returns + - JDK-8301342: Prefer ArrayList to LinkedList in LayoutComparator + - JDK-8301397: [11u, 17u] Bump jtreg to fix issue with build JDK 11.0.18 + - JDK-8301760: Fix possible leak in SpNegoContext dispose + - JDK-8301842: JFR: increase checkpoint event size for stacktrace and string pool + - JDK-8302152: Speed up tests with infinite loops, sleep less + - JDK-8302692: [17u] Update GHA Boot JDK to 17.0.6 + - JDK-8302879: doc/building.md update link to jtreg builds + - JDK-8304871: Use default visibility for static library builds + +Notes on individual issues: +=========================== + +security-libs/java.security: + +JDK-8245654: Added Certigna(Dhimyotis) Root CA Certificate +========================================================== +The following root certificate has been added to the cacerts truststore: + +Name: Certigna (Dhimyotis) +Alias Name: certignarootca +Distinguished Name: CN=Certigna, O=Dhimyotis, C=FR + +JDK-8292177: New JFR Event: jdk.InitialSecurityProperty +======================================================= +The initial security properties loaded by the java.security.Security class +are now accessible in the new JFR event, `jdk.InitialSecurityProperty`. + +The event contains two fields: + +* key - the security property key +* value - the corresponding security property value + +The combination of this new event and the existing +`jdk.SecurityPropertyModification` event means that security +properties can now be monitored throughout their lifecycle. + +The initial security properties are now also printed to the standard +error output stream when `-Djava.security.debug=properties` is passed +to the Java virtual machine. + +JDK-8155246: Throw Error If Default java.security File Fails to Load +==================================================================== +A hardcoded set of security properties was used in previous releases +when the `java.security` file could not be loaded. This set of +properties were poorly maintained and it was not obvious to the user +that they were being utilised. This release instead throws an +`InternalError` if the `java.security` file can not be loaded. + +core-libs/java.io: + +JDK-8208077: File::listRoots Changed To Return All Available Drives On Windows +============================================================================== +The `java.io.File.listRoots()` method on Windows systems filtered out disk +drives that could not be accessed or did not have media loaded. The +use of this filtering led to observable performance issues. This release +now returns all available disk drives, unfiltered. + +New in release OpenJDK 17.0.6 (2023-01-17): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1706 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.6.html + +* CVEs + - CVE-2023-21835 + - CVE-2023-21843 +* Security fixes + - JDK-8286070: Improve UTF8 representation + - JDK-8286496: Improve Thread labels + - JDK-8287411: Enhance DTLS performance + - JDK-8288516: Enhance font creation + - JDK-8289350: Better media supports + - JDK-8293554: Enhanced DH Key Exchanges + - JDK-8293598: Enhance InetAddress address handling + - JDK-8293717: Objective view of ObjectView + - JDK-8293734: Improve BMP image handling + - JDK-8293742: Better Banking of Sounds + - JDK-8295687: Better BMP bounds +* Other changes + - JDK-6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows + - JDK-7001973: java/awt/Graphics2D/CopyAreaOOB.java fails + - JDK-7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails + - JDK-8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails + - JDK-8029633: Raw inner class constructor ref should not perform diamond inference + - JDK-8030121: java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails + - JDK-8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled + - JDK-8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails + - JDK-8159599: [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java + - JDK-8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java + - JDK-8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout + - JDK-8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails + - JDK-8210558: serviceability/sa/TestJhsdbJstackLock.java fails to find '^\s+- waiting to lock <0x[0-9a-f]+> \(a java\.lang\.Class ...' + - JDK-8222323: ChildAlwaysOnTopTest.java fails with "RuntimeException: Failed to unset alwaysOnTop" + - JDK-8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs + - JDK-8233558: [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos + - JDK-8233648: [TESTBUG] DefaultMenuBarTest.java failing on macos + - JDK-8244670: convert clhsdb "whatis" command from javascript to java + - JDK-8251466: test/java/io/File/GetXSpace.java fails on Windows with mapped network drives. + - JDK-8255439: System Tray icons get corrupted when Windows scaling changes + - JDK-8256811: Delayed/missed jdwp class unloading events + - JDK-8257722: Improve "keytool -printcert -jarfile" output + - JDK-8262721: Add Tests to verify single iteration loops are properly optimized + - JDK-8265489: Stress test times out because of long ObjectSynchronizer::monitors_iterate(...) operation + - JDK-8266082: AssertionError in Annotate.fromAnnotations with -Xdoclint + - JDK-8266519: Cleanup resolve() leftovers from BarrierSet et al + - JDK-8267138: Stray suffix when starting gtests via GTestWrapper.java + - JDK-8268033: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails with "fatal error: Not compilable at tier 3: CodeBuffer overflow" + - JDK-8268276: Base64 Decoding optimization for x86 using AVX-512 + - JDK-8268297: jdk/jfr/api/consumer/streaming/TestLatestEvent.java times out + - JDK-8268779: ZGC: runtime/InternalApi/ThreadCpuTimesDeadlock.java#id1 failed with "OutOfMemoryError: Java heap space" + - JDK-8269029: compiler/codegen/TestCharVect2.java fails for client VMs + - JDK-8269404: Base64 Encoding optimization enhancements for x86 using AVX-512 + - JDK-8269571: NMT should print total malloc bytes and invocation count + - JDK-8269743: test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/Test.java crash with small heap (-Xmx50m) + - JDK-8270086: ARM32-softfp: Do not load CONSTANT_double using the condy helper methods in the interpreter + - JDK-8270155: ARM32: Improve register dump in hs_err + - JDK-8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction + - JDK-8270848: Redundant unsafe opmask register allocation in some instruction patterns. + - JDK-8270947: AArch64: C1: use zero_words to initialize all objects + - JDK-8271015: Split cds/SharedBaseAddress.java test into smaller parts + - JDK-8271834: TestStringDeduplicationAgeThreshold intermittent failures on Shenandoah + - JDK-8271956: AArch64: C1 build failed after JDK-8270947 + - JDK-8272094: compiler/codecache/TestStressCodeBuffers.java crashes with "failed to allocate space for trampoline" + - JDK-8272123: Problem list 4 jtreg tests which regularly fail on macos-aarch64 + - JDK-8272608: java_lang_System::allow_security_manager() doesn't set its initialization flag + - JDK-8272776: NullPointerException not reported + - JDK-8272791: java -XX:BlockZeroingLowLimit=1 crashes after 8270947 + - JDK-8272809: JFR thread sampler SI_KERNEL SEGV in metaspace::VirtualSpaceList::contains + - JDK-8273043: [TEST_BUG] Automate NimbusJTreeSelTextColor.java + - JDK-8273108: RunThese24H crashes with SEGV in markWord::displaced_mark_helper() after JDK-8268276 + - JDK-8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints + - JDK-8273380: ARM32: Default to {ldrexd,strexd} in StubRoutines::atomic_{load|store}_long + - JDK-8273459: Update code segment alignment to 64 bytes + - JDK-8273497: building.md should link to both md and html + - JDK-8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368 + - JDK-8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12 + - JDK-8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction + - JDK-8273880: Zero: Print warnings when unsupported intrinsics are enabled + - JDK-8273881: Metaspace: test repeated deallocations + - JDK-8274029: Remove jtreg tag manual=yesno for java/awt/print/Dialog/DialogOrient.java + - JDK-8274032: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI + - JDK-8274160: java/awt/Window/ShapedAndTranslucentWindows/Common.java delay is too high + - JDK-8274296: Update or Problem List tests which may fail with uiScale=2 on macOS + - JDK-8274456: Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java + - JDK-8274527: Minimal VM build fails after JDK-8273459 + - JDK-8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening + - JDK-8274903: Zero: Support AsyncGetCallTrace + - JDK-8275170: Some jtreg sound tests should be marked with sound keyword + - JDK-8275234: java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java is entered twice in ProblemList + - JDK-8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked + - JDK-8275569: Add linux-aarch64 to test-make profiles + - JDK-8276108: Wrong instruction generation in aarch64 backend + - JDK-8276904: Optional.toString() is unnecessarily expensive + - JDK-8277092: TestMetaspaceAllocationMT2.java#ndebug-default fails with "RuntimeException: Committed seems high: NNNN expected at most MMMM" + - JDK-8277346: ProblemList 7 serviceability/sa tests on macosx-x64 + - JDK-8277351: ProblemList runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64 + - JDK-8277358: Accelerate CRC32-C + - JDK-8277411: C2 fast_unlock intrinsic on AArch64 has unnecessary ownership check + - JDK-8277576: ProblemList runtime/ErrorHandling/CreateCoredumpOnCrash.java on macosx-X64 + - JDK-8277577: ProblemList compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java on linux-aarch64 + - JDK-8277578: ProblemList applications/jcstress/acqrel.java on linux-aarch64 + - JDK-8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size + - JDK-8277881: Missing SessionID in TLS1.3 resumption in compatibility mode + - JDK-8277928: Fix compilation on macosx-aarch64 after 8276108 + - JDK-8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch" + - JDK-8278826: Print error if Shenandoah flags are empty (instead of crashing) + - JDK-8279066: entries.remove(entry) is useless in PKCS12KeyStore + - JDK-8279398: jdk/jfr/api/recording/time/TestTimeMultiple.java failed with "RuntimeException: getStopTime() > afterStop" + - JDK-8279536: jdk/nio/zipfs/ZipFSOutputStreamTest.java timed out + - JDK-8279662: serviceability/sa/ClhsdbScanOops.java can fail due to unexpected GC + - JDK-8279941: sun/security/pkcs11/Signature/TestDSAKeyLength.java fails when NSS version detection fails + - JDK-8280016: gc/g1/TestShrinkAuxiliaryData30 test fails on large machines + - JDK-8280124: Reduce branches decoding latin-1 chars from UTF-8 encoded bytes + - JDK-8280234: AArch64 "core" variant does not build after JDK-8270947 + - JDK-8280391: NMT: Correct NMT tag on CollectedHeap + - JDK-8280511: AArch64: Combine shift and negate to a single instruction + - JDK-8280554: resourcehogs/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java can fail if GC is triggered + - JDK-8280555: serviceability/sa/TestObjectMonitorIterate.java is failing due to ObjectMonitor referencing a null Object + - JDK-8280872: Reorder code cache segments to improve code density + - JDK-8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR + - JDK-8280948: Write a regression test for JDK-4659800 + - JDK-8281296: Create a regression test for JDK-4515999 + - JDK-8281744: x86: Use short jumps in TIG::set_vtos_entry_points + - JDK-8282049: AArch64: Use ZR for integer zero immediate volatile stores + - JDK-8282276: Problem list failing two Robot Screen Capture tests + - JDK-8282347: AARCH64: Untaken branch in has_negatives stub + - JDK-8282398: EndingDotHostname.java test fails because SSL cert expired + - JDK-8282402: Create a regression test for JDK-4666101 + - JDK-8282511: Use fixed certificate validation date in SSLExampleCert template + - JDK-8282528: AArch64: Incorrect replicate2L_zero rule + - JDK-8282600: SSLSocketImpl should not use user_canceled workaround when not necessary + - JDK-8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1 + - JDK-8282730: LdapLoginModule throw NPE from logout method after login failure + - JDK-8282777: Create a Regression test for JDK-4515031 + - JDK-8282857: Create a regression test for JDK-4702690 + - JDK-8283059: Uninitialized warning in check_code.c with GCC 11.2 + - JDK-8283199: Linux os::cpu_microcode_revision() stalls cold startup + - JDK-8283298: Make CodeCacheSegmentSize a product flag + - JDK-8283337: Posix signal handler modification warning triggering incorrectly + - JDK-8283353: compiler/c2/cr6865031/Test.java and compiler/runtime/Test6826736.java fails on x86_32 + - JDK-8283383: [macos] a11y : Screen magnifier shows extra characters (0) at the end JButton accessibility name + - JDK-8283999: Update JMH devkit to 1.35 + - JDK-8284533: Improve InterpreterCodelet data footprint + - JDK-8284681: compiler/c2/aarch64/TestFarJump.java fails with "RuntimeException: for CodeHeap < 250MB the far jump is expected to be encoded with a single branch instruction" + - JDK-8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox + - JDK-8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X + - JDK-8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation + - JDK-8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown" + - JDK-8284892: java/net/httpclient/http2/TLSConnection.java fails intermittently + - JDK-8284980: Test vmTestbase/nsk/stress/except/except010.java times out with -Xcomp -XX:+DeoptimizeALot + - JDK-8285093: Introduce UTIL_ARG_WITH + - JDK-8285305: Create an automated test for JDK-4495286 + - JDK-8285373: Create an automated test for JDK-4702233 + - JDK-8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)" + - JDK-8285612: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java + - JDK-8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java + - JDK-8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox + - JDK-8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment + - JDK-8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server" + - JDK-8286172: Create an automated test for JDK-4516019 + - JDK-8286263: compiler/c1/TestPinnedIntrinsics.java failed with "RuntimeException: testCurrentTimeMillis failed with -3" + - JDK-8286313: [macos] Voice over reads the boolean value as null in the JTable + - JDK-8286452: The array length of testSmallConstArray should be small and const + - JDK-8286460: Remove dependence on JAR filename in CDS tests + - JDK-8286551: JDK-8286460 causes tests to fail to compile in Tier2 + - JDK-8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3 + - JDK-8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray + - JDK-8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows + - JDK-8286872: Refactor add/modify notification icon (TrayIcon) + - JDK-8287011: Improve container information + - JDK-8287076: Document.normalizeDocument() produces different results + - JDK-8287349: AArch64: Merge LDR instructions to improve C1 OSR performance + - JDK-8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path + - JDK-8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative + - JDK-8287740: NSAccessibilityShowMenuAction not working for text editors + - JDK-8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile + - JDK-8288132: Update test artifacts in QuoVadis CA interop tests + - JDK-8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces + - JDK-8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable + - JDK-8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding + - JDK-8288651: CDS test HelloUnload.java should not use literal string as ClassLoader name + - JDK-8289044: ARM32: missing LIR_Assembler::cmove metadata type support + - JDK-8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output + - JDK-8289257: Some custom loader tests failed due to symbol refcount not decremented + - JDK-8289301: P11Cipher should not throw out of bounds exception during padding + - JDK-8289524: Add JFR JIT restart event + - JDK-8289559: java/awt/a11y/AccessibleJPopupMenuTest.java test fails with java.lang.NullPointerException + - JDK-8289562: Change bugs.java.com and bugreport.java.com URL's to https + - JDK-8290207: Missing notice in dom.md + - JDK-8290209: jcup.md missing additional text + - JDK-8290374: Shenandoah: Remove inaccurate comment on SBS::load_reference_barrier() + - JDK-8290451: Incorrect result when switching to C2 OSR compilation from C1 + - JDK-8290529: C2: assert(BoolTest(btest).is_canonical()) failure + - JDK-8290532: Adjust PKCS11Exception and handle more PKCS11 error codes + - JDK-8290687: serviceability/sa/TestClassDump.java could leave files owned by root on macOS + - JDK-8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI" + - JDK-8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize + - JDK-8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses + - JDK-8290839: jdk/jfr/event/compiler/TestJitRestart.java failed with "RuntimeException: No JIT restart event found: expected true, was false" + - JDK-8290908: misc tests fail: assert(!thread->owns_locks()) failed: must release all locks when leaving VM + - JDK-8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false + - JDK-8291456: com/sun/jdi/ClassUnloadEventTest.java failed with: Wrong number of class unload events: expected 10 got 4 + - JDK-8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*) + - JDK-8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127 + - JDK-8291650: Add delay to ClassUnloadEventTest before exiting to give time for JVM to send all events before VMDeath + - JDK-8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region + - JDK-8292083: Detected container memory limit may exceed physical machine memory + - JDK-8292158: AES-CTR cipher state corruption with AVX-512 + - JDK-8292385: assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out + - JDK-8292541: [Metrics] Reported memory limit may exceed physical machine memory + - JDK-8292586: simplify cleanups in NTLMAuthSequence getCredentialsHandle + - JDK-8292682: Code change of JDK-8282730 not updated to reflect CSR update + - JDK-8292695: SIGQUIT and jcmd attaching mechanism does not work with signal chaining library + - JDK-8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free + - JDK-8292816: GPL Classpath exception missing from assemblyprefix.h + - JDK-8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures + - JDK-8292879: com/sun/jdi/ClassUnloadEventTest.java failed due to classes not unloading + - JDK-8292880: Improve debuggee logging for com/sun/jdi/ClassUnloadEventTest.java + - JDK-8292888: Bump update version for OpenJDK: jdk-17.0.6 + - JDK-8292899: CustomTzIDCheckDST.java testcase failed on AIX platform + - JDK-8292903: enhance round_up_power_of_2 assertion output + - JDK-8293010: JDI ObjectReference/referringObjects/referringObjects001 fails: assert(env->is_enabled(JVMTI_EVENT_OBJECT_FREE)) failed: checking + - JDK-8293044: C1: Missing access check on non-accessible class + - JDK-8293232: Fix race condition in pkcs11 SessionManager + - JDK-8293319: [C2 cleanup] Remove unused other_path arg in Parse::adjust_map_after_if + - JDK-8293472: Incorrect container resource limit detection if manual cgroup fs mounts present + - JDK-8293489: Accept CAs with BasicConstraints without pathLenConstraint + - JDK-8293535: jdk/javadoc/doclet/testJavaFX/TestJavaFxMode.java fail with jfx + - JDK-8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts + - JDK-8293550: Optionally add get-task-allow entitlement to macos binaries + - JDK-8293578: Duplicate ldc generated by javac + - JDK-8293657: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake" + - JDK-8293659: Improve UnsatisfiedLinkError error message to include dlopen error details + - JDK-8293672: Update freetype md file + - JDK-8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present + - JDK-8293808: mscapi destroyKeyContainer enhance KeyStoreException: Access is denied exception + - JDK-8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation + - JDK-8293816: CI: ciBytecodeStream::get_klass() is not consistent + - JDK-8293826: Closed test fails after JDK-8276108 on aarch64 + - JDK-8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening + - JDK-8293834: Update CLDR data following tzdata 2022c update + - JDK-8293891: gc/g1/mixedgc/TestOldGenCollectionUsage.java (still) assumes that GCs take 1ms minimum + - JDK-8293965: Code signing warnings after JDK-8293550 + - JDK-8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC + - JDK-8294307: ISO 4217 Amendment 173 Update + - JDK-8294310: compare.sh fails on macos after JDK-8293550 + - JDK-8294357: (tz) Update Timezone Data to 2022d + - JDK-8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode + - JDK-8294740: Add cgroups keyword to TestDockerBasic.java + - JDK-8294837: unify Windows 2019 version check in os_windows and java_props_md + - JDK-8294840: langtools OptionalDependencyTest.java use File.pathSeparator + - JDK-8295173: (tz) Update Timezone Data to 2022e + - JDK-8295288: Some vm_flags tests associate with a wrong BugID + - JDK-8295405: Add cause in a couple of IllegalArgumentException and InvalidParameterException shown by sun/security/pkcs11 tests + - JDK-8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp + - JDK-8295419: JFR: Change name of jdk.JitRestart + - JDK-8295429: Update harfbuzz md file + - JDK-8295469: S390X: Optimized builds are broken + - JDK-8295554: Move the "sizecalc.h" to the correct location + - JDK-8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev + - JDK-8295714: GHA ::set-output is deprecated and will be removed + - JDK-8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error + - JDK-8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor + - JDK-8295952: Problemlist existing compiler/rtm tests also on x86 + - JDK-8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM + - JDK-8296108: (tz) Update Timezone Data to 2022f + - JDK-8296239: ISO 4217 Amendment 174 Update + - JDK-8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing + - JDK-8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException + - JDK-8296496, JDK-8292652: Overzealous check in sizecalc.h prevents large memory allocation + - JDK-8296632: Write a test to verify the content change of TextArea sends TextEvent + - JDK-8296715: CLDR v42 update for tzdata 2022f + - JDK-8296733: JFR: File Read event for RandomAccessFile::write(byte[]) is incorrect + - JDK-8296945: PublicMethodsTest is slow due to dependency verification with debug builds + - JDK-8296956: [JVMCI] HotSpotResolvedJavaFieldImpl.getIndex returns wrong value + - JDK-8296957: One more cast in SAFE_SIZE_NEW_ARRAY2 + - JDK-8296958: [JVMCI] add API for retrieving ConstantValue attributes + - JDK-8296960: [JVMCI] list HotSpotConstantPool.loadReferencedType to ConstantPool + - JDK-8296961: [JVMCI] Access to j.l.r.Method/Constructor/Field for ResolvedJavaMethod/ResolvedJavaField + - JDK-8296967: [JVMCI] rationalize relationship between getCodeSize and getCode in ResolvedJavaMethod + - JDK-8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used + - JDK-8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again + - JDK-8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java + - JDK-8297309: Memory leak in ShenandoahFullGC + - JDK-8297481: Create a regression test for JDK-4424517 + - JDK-8297530: java.lang.IllegalArgumentException: Negative length on strings concatenation + - JDK-8297590: [TESTBUG] HotSpotResolvedJavaFieldTest does not run + - JDK-8297656: AArch64: Enable AES/GCM Intrinsics + - JDK-8297804: (tz) Update Timezone Data to 2022g + - JDK-8299392: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.6 + - JDK-8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR + - JDK-8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java + +Notes on individual issues: +=========================== + +client-libs/javax.imageio: + +JDK-8295687: Better BMP bounds +============================== +Loading a linked ICC profile within a BMP image is now disabled by +default. To re-enable it, set the new system property +`sun.imageio.bmp.enabledLinkedProfiles` to `true`. This new property +replaces the old property, +`sun.imageio.plugins.bmp.disableLinkedProfiles`. + +client-libs/javax.sound: + +JDK-8293742: Better Banking of Sounds +===================================== +Previously, the SoundbankReader implementation, +`com.sun.media.sound.JARSoundbankReader`, would download a JAR +soundbank from a URL. This behaviour is now disabled by default. To +re-enable it, set the new system property `jdk.sound.jarsoundbank` to +`true`. + +security-libs/java.security: + +JDK-8282730: New Implementation Note for LoginModule on Removing Null from a Principals or Credentials Set +========================================================================================================== +Back in OpenJDK 9, JDK-8015081 changed the Set implementation used to +hold principals and credentials so that it rejected null +values. Attempts to call add(null), contains(null) or remove(null) +were changed to throw a NullPointerException. + +However, the logout() methods in the LoginModule implementations +within the JDK were not updated to check for null values, which may +occur in the event of a failed login. As a result, a logout() call may +throw a NullPointerException. + +The LoginModule implementations have now been updated with such checks +and an implementation note added to the specification to suggest that +the same change is made in third party modules. Developers of third +party modules are advised to verify that their logout() method does not +throw a NullPointerException. + +security-libs/javax.net.ssl: + +JDK-8287411: Enhance DTLS performance +===================================== +The JDK now exchanges DTLS cookies for all handshakes, new and +resumed. The previous behaviour can be re-enabled by setting the new +system property `jdk.tls.enableDtlsResumeCookie` to `false`. + +New in release OpenJDK 17.0.5 (2022-10-18): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1705 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.5.html + +* Security fixes + - JDK-8282252: Improve BigInteger/Decimal validation + - JDK-8285662: Better permission resolution + - JDK-8286077, CVE-2022-21618: Wider MultiByte conversions + - JDK-8286511: Improve macro allocation + - JDK-8286519: Better memory handling + - JDK-8286526, CVE-2022-21619: Improve NTLM support + - JDK-8286910, CVE-2022-21624: Improve JNDI lookups + - JDK-8286918, CVE-2022-21628: Better HttpServer service + - JDK-8287446: Enhance icon presentations + - JDK-8288508: Enhance ECDSA usage + - JDK-8289366, CVE-2022-39399: Improve HTTP/2 client usage + - JDK-8289853: Update HarfBuzz to 4.4.1 + - JDK-8290334: Update FreeType to 2.12.1 +* Other changes + - JDK-6782021: It is not possible to read local computer certificates with the SunMSCAPI provider + - JDK-6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7 + - JDK-7131823: bug in GIFImageReader + - JDK-8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac + - JDK-8028265: Add legacy tz tests to OpenJDK + - JDK-8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed + - JDK-8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails + - JDK-8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java + - JDK-8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes! + - JDK-8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad" + - JDK-8178969: [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test. + - JDK-8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values + - JDK-8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch + - JDK-8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues + - JDK-8225122: Test AncestorResized.java fails when Windows desktop is scaled. + - JDK-8227651: Tests fail with SSLProtocolException: Input record too big + - JDK-8240903: Add test to check that jmod hashes are reproducible + - JDK-8254318: Remove .hgtags + - JDK-8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline + - JDK-8256844: Make NMT late-initializable + - JDK-8257534: misc tests failed with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom" + - JDK-8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class + - JDK-8264792: The NumberFormat for locale sq_XK formats price incorrectly. + - JDK-8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled" + - JDK-8269039: Disable SHA-1 Signed JARs + - JDK-8269556: sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr + - JDK-8270090: C2: LCM may prioritize CheckCastPP nodes over projections + - JDK-8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java + - JDK-8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest + - JDK-8271344: Windows product version issue + - JDK-8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8 + - JDK-8272417: ZGC: fastdebug build crashes when printing ClassLoaderData + - JDK-8272736: [JVMCI] Add API for reading and writing JVMCI thread locals + - JDK-8272815: jpackage --type rpm produces an error: Invalid or unsupported type: [null] + - JDK-8273040: Turning off JpAllowDowngrades (or Upgrades) + - JDK-8273115: CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts + - JDK-8273506: java Robot API did the 'm' keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12 + - JDK-8274434: move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms + - JDK-8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false] + - JDK-8274597: Some of the dnd tests time out and fail intermittently + - JDK-8274856: Failing jpackage tests with fastdebug/release build + - JDK-8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test + - JDK-8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled + - JDK-8276546: [IR Framework] Whitelist and ignore CompileThreshold + - JDK-8276837: [macos]: Error when signing the additional launcher + - JDK-8277429: Conflicting jpackage static library name + - JDK-8277493: [REDO] Quarantined jpackage apps are labeled as "damaged" + - JDK-8278067: Make HttpURLConnection default keep alive timeout configurable + - JDK-8278233: [macos] tools/jpackage tests timeout due to /usr/bin/osascript + - JDK-8278311: Debian packaging doesn't work + - JDK-8278609: [macos] accessibility frame is misplaced on a secondary monitor on macOS + - JDK-8278612: [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS + - JDK-8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4 + - JDK-8279370: jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0 + - JDK-8279622: C2: miscompilation of map pattern as a vector reduction + - JDK-8280233: Temporarily disable Unix domain sockets in Windows PipeImpl + - JDK-8280550: SplittableRandom#nextDouble(double,double) can return result >= bound + - JDK-8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed + - JDK-8280863: Update build README to reflect that MSYS2 is supported + - JDK-8280913: Create a regression test for JRootPane.setDefaultButton() method + - JDK-8280944: Enable Unix domain sockets in Windows Selector notification mechanism + - JDK-8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix + - JDK-8281181: Do not use CPU Shares to compute active processor count + - JDK-8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950 + - JDK-8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted) + - JDK-8281535: Create a regression test for JDK-4670051 + - JDK-8281569: Create tests for Frame.setMinimumSize() method + - JDK-8281628: KeyAgreement : generateSecret intermittently not resetting + - JDK-8281738: Create a regression test for checking the 'Space' key activation of focused Button + - JDK-8281745: Create a regression test for JDK-4514331 + - JDK-8281988: Create a regression test for JDK-4618767 + - JDK-8282007: Assorted enhancements to jpackage testing framework + - JDK-8282046: Create a regression test for JDK-8000326 + - JDK-8282214: Upgrade JQuery to version 3.6.0 + - JDK-8282234: Create a regression test for JDK-4532513 + - JDK-8282280: Update Xerces to Version 2.12.2 + - JDK-8282306: os::is_first_C_frame(frame*) crashes on invalid link access + - JDK-8282343: Create a regression test for JDK-4518432 + - JDK-8282351: jpackage does not work if class file has `$$` in the name on windows + - JDK-8282407: Missing ')' in MacResources.properties + - JDK-8282467: add extra diagnostics for JDK-8268184 + - JDK-8282477: [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler + - JDK-8282538: PKCS11 tests fail on CentOS Stream 9 + - JDK-8282548: Create a regression test for JDK-4330998 + - JDK-8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc + - JDK-8282640: Create a test for JDK-4740761 + - JDK-8282778: Create a regression test for JDK-4699544 + - JDK-8282789: Create a regression test for the JTree usecase of JDK-4618767 + - JDK-8282860: Write a regression test for JDK-4164779 + - JDK-8282933: Create a test for JDK-4529616 + - JDK-8282936: Write a regression test for JDK-4615365 + - JDK-8282937: Write a regression test for JDK-4820080 + - JDK-8282947: JFR: Dump on shutdown live-locks in some conditions + - JDK-8283015: Create a test for JDK-4715496 + - JDK-8283087: Create a test or JDK-4715503 + - JDK-8283245: Create a test for JDK-4670319 + - JDK-8283277: ISO 4217 Amendment 171 Update + - JDK-8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int) + - JDK-8283457: [macos] libpng build failures with Xcode13.3 + - JDK-8283493: Create an automated regression test for RFE 4231298 + - JDK-8283507: Create a regression test for RFE 4287690 + - JDK-8283562: JDK-8282306 breaks gtests on zero + - JDK-8283597: [REDO] Invalid generic signature for redefined classes + - JDK-8283621: Write a regression test for CCC4400728 + - JDK-8283623: Create an automated regression test for JDK-4525475 + - JDK-8283624: Create an automated regression test for RFE-4390885 + - JDK-8283712: Create a manual test framework class + - JDK-8283723: Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows + - JDK-8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test + - JDK-8283849: AsyncGetCallTrace may crash JVM on guarantee + - JDK-8283903: GetContainerCpuLoad does not return the correct result in share mode + - JDK-8283911: DEFAULT_PROMOTED_VERSION_PRE not reset to 'ea' for jdk-17.0.4 + - JDK-8284014: Menu items with submenus in JPopupMenu are not spoken on macOS + - JDK-8284067: jpackage'd launcher reports non-zero exit codes with error prompt + - JDK-8284077: Create an automated test for JDK-4170173 + - JDK-8284294: Create an automated regression test for RFE 4138746 + - JDK-8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph + - JDK-8284367: JQuery UI upgrade from 1.12.1 to 1.13.1 + - JDK-8284521: Write an automated regression test for RFE 4371575 + - JDK-8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception + - JDK-8284675: "jpackage.exe" creates application launcher without Windows Application Manfiest + - JDK-8284680: sun.font.FontConfigManager.getFontConfig() leaks charset + - JDK-8284686: Interval of < 1 ms disables ExecutionSample events + - JDK-8284694: Avoid evaluating SSLAlgorithmConstraints twice + - JDK-8284883: JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512 + - JDK-8284898: Enhance PassFailJFrame + - JDK-8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization + - JDK-8284950: CgroupV1 detection code should consider memory.swappiness + - JDK-8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment + - JDK-8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist + - JDK-8285081: Improve XPath operators count accuracy + - JDK-8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java + - JDK-8285301: C2: assert(!requires_atomic_access) failed: can't ensure atomicity + - JDK-8285380: Fix typos in security + - JDK-8285398: Cache the results of constraint checks + - JDK-8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test + - JDK-8285693: Create an automated test for JDK-4702199 + - JDK-8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null + - JDK-8285730: unify _WIN32_WINNT settings + - JDK-8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090 + - JDK-8285923: [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities + - JDK-8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java + - JDK-8286122: [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe + - JDK-8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure + - JDK-8286211: Update PCSC-Lite for Suse Linux to 1.9.5 + - JDK-8286266: [macos] Voice over moving JTable column to be the first column JVM crashes + - JDK-8286277: CDS VerifyError when calling clone() on object array + - JDK-8286314: Trampoline not created for far runtime targets outside small CodeCache + - JDK-8286429: jpackageapplauncher build fails intermittently in Tier[45] + - JDK-8286573: Remove the unnecessary method Attr#attribTopLevel and its usage + - JDK-8286582: Build fails on macos aarch64 when using --with-zlib=bundled + - JDK-8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect + - JDK-8286638: C2: CmpU needs to do more precise over/underflow analysis + - JDK-8286869: unify os::dir_is_empty across posix platforms + - JDK-8286870: Memory leak with RepeatCompilation + - JDK-8287016: Bump update version for OpenJDK: jdk-17.0.5 + - JDK-8287073: NPE from CgroupV2Subsystem.getInstance() + - JDK-8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn + - JDK-8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller + - JDK-8287113: JFR: Periodic task thread uses period for method sampling events + - JDK-8287125: [macos] Multiple jpackage tests fail/timeout on same host + - JDK-8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event + - JDK-8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver + - JDK-8287366: Improve test failure reporting in GHA + - JDK-8287396: LIR_Opr::vreg_number() and data() can return negative number + - JDK-8287432: C2: assert(tn->in(0) != __null) failed: must have live top node + - JDK-8287463: JFR: Disable TestDevNull.java on Windows + - JDK-8287663: Add a regression test for JDK-8287073 + - JDK-8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run + - JDK-8287724: Fix various issues with msys2 + - JDK-8287735: Provide separate event category for dll operations + - JDK-8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete + - JDK-8287824: The MTPerLineTransformValidation tests has a typo in the @run tag + - JDK-8287895: Some langtools tests fail on msys2 + - JDK-8287896: PropertiesTest.sh fail on msys2 + - JDK-8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows + - JDK-8287906: Rewrite of GitHub Actions (GHA) sanity tests + - JDK-8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier + - JDK-8288000: compiler/loopopts/TestOverUnrolling2.java fails with release VMs + - JDK-8288003: log events for os::dll_unload + - JDK-8288303: C1: Miscompilation due to broken Class.getModifiers intrinsic + - JDK-8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes + - JDK-8288399: MacOS debug symbol files not always deterministic in reproducible builds + - JDK-8288467: remove memory_operand assert for spilled instructions + - JDK-8288499: Restore cancel-in-progress in GHA + - JDK-8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ... + - JDK-8288754: GCC 12 fails to build zReferenceProcessor.cpp + - JDK-8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small + - JDK-8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305 + - JDK-8288992: AArch64: CMN should be handled the same way as CMP + - JDK-8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible + - JDK-8289147: unify os::infinite_sleep on posix platforms + - JDK-8289197: [17u] Push of backport of 8286177 did not remove assertion + - JDK-8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java + - JDK-8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc + - JDK-8289486: Improve XSLT XPath operators count efficiency + - JDK-8289549: ISO 4217 Amendment 172 Update + - JDK-8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl + - JDK-8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun + - JDK-8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad + - JDK-8289799: Build warning in methodData.cpp memset zero-length parameter + - JDK-8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060 + - JDK-8289910: unify os::message_box across posix platforms + - JDK-8290000: Bump macOS GitHub actions to macOS 11 + - JDK-8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC + - JDK-8290020: Deadlock in leakprofiler::emit_events during shutdown + - JDK-8290082: [PPC64] ZGC C2 load barrier stub needs to preserve vector registers + - JDK-8290246: test fails "assert(init != __null) failed: initialization not found" + - JDK-8290417: CDS cannot archive lamda proxy with useImplMethodHandle + - JDK-8290456: remove os::print_statistics() + - JDK-8291595: [17u] Delete files missed in backport of 8269039 + - JDK-8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr + - JDK-8292579: (tz) Update Timezone Data to 2022c + - JDK-8295056: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5 + +Notes on individual issues: +=========================== + +core-libs/java.net: + +JDK-8278067: Make HttpURLConnection Default Keep Alive Timeout Configurable +=========================================================================== +Two system properties have been added which control the keep alive +behavior of HttpURLConnection in the case where the server does not +specify a keep alive time. Two properties are defined for controlling +connections to servers and proxies separately. They are: + +* `http.keepAlive.time.server` +* `http.keepAlive.time.proxy` + +respectively. More information about them can be found on the +Networking Properties page: +https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html. + +security-libs/javax.crypto: + +JDK-6782021: Windows KeyStore Updated to Include Access to the Local Machine Location +===================================================================================== +The Windows KeyStore support in the SunMSCAPI provider has been +expanded to include access to the local machine location. The new +keystore types are: + +* "Windows-MY-LOCALMACHINE" +* "Windows-ROOT-LOCALMACHINE" + +The following keystore types were also added, allowing developers to +make it clear they map to the current user: + +* "Windows-MY-CURRENTUSER" (same as "Windows-MY") +* "Windows-ROOT-CURRENTUSER" (same as "Windows-ROOT") + +JDK-8286918: Better HttpServer service +====================================== +The HttpServer can be optionally configured with a maximum connection +limit by setting the jdk.httpserver.maxConnections system property. A +value of 0 or a negative integer is ignored and considered to +represent no connection limit. In the case of a positive integer +value, any newly accepted connections will be first checked against +the current count of established connections and, if the configured +limit has been reached, then the newly accepted connection will be +closed immediately. + +hotspot/runtime: + +JDK-8281181: CPU Shares Ignored When Computing Active Processor Count +===================================================================== +Previous JDK releases used an incorrect interpretation of the Linux +cgroups parameter "cpu.shares". This might cause the JVM to use fewer +CPUs than available, leading to an under utilization of CPU resources +when the JVM is used inside a container. + +Starting from this JDK release, by default, the JVM no longer +considers "cpu.shares" when deciding the number of threads to be used +by the various thread pools. The `-XX:+UseContainerCpuShares` +command-line option can be used to revert to the previous +behavior. This option is deprecated and may be removed in a future JDK +release. + +security-libs/java.security: + +JDK-8269039: Disabled SHA-1 Signed JARs +======================================= +JARs signed with SHA-1 algorithms are now restricted by default and +treated as if they were unsigned. This applies to the algorithms used +to digest, sign, and optionally timestamp the JAR. It also applies to +the signature and digest algorithms of the certificates in the +certificate chain of the code signer and the Timestamp Authority, and +any CRLs or OCSP responses that are used to verify if those +certificates have been revoked. These restrictions also apply to +signed JCE providers. + +To reduce the compatibility risk for JARs that have been previously +timestamped, there is one exception to this policy: + +- Any JAR signed with SHA-1 algorithms and timestamped prior to + January 01, 2019 will not be restricted. + +This exception may be removed in a future JDK release. To determine if +your signed JARs are affected by this change, run: + +$ jarsigner -verify -verbose -certs` + +on the signed JAR, and look for instances of "SHA1" or "SHA-1" and +"disabled" and a warning that the JAR will be treated as unsigned in +the output. + +For example: + + Signed by "CN="Signer"" + Digest algorithm: SHA-1 (disabled) + Signature algorithm: SHA1withRSA (disabled), 2048-bit key + + WARNING: The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled by the security property: + + jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024, SHA1 denyAfter 2019-01-01 + +JARs affected by these new restrictions should be replaced or +re-signed with stronger algorithms. + +Users can, *at their own risk*, remove these restrictions by modifying +the `java.security` configuration file (or override it by using the +`java.security.properties` system property) and removing "SHA1 usage +SignedJAR & denyAfter 2019-01-01" from the +`jdk.certpath.disabledAlgorithms` security property and "SHA1 +denyAfter 2019-01-01" from the `jdk.jar.disabledAlgorithms` security +property. + +New in release OpenJDK 17.0.4.1 (2022-08-16): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17041 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.1.txt + +* Other changes + - JDK-8292258: Bump update version for OpenJDK: jdk-17.0.4.1 + - JDK-8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large + +Notes on individual issues: +=========================== + +hotspot/compiler: + +JDK-8292396: C2 Compilation Errors Unpredictably Crashes JVM +============================================================ +Fixes a regression in the C2 JIT compiler which caused the Java +Runtime to crash unpredictably. + +New in release OpenJDK 17.0.4 (2022-07-19): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1704 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.txt + +* Security fixes + - JDK-8272243: Improve DER parsing + - JDK-8272249: Better properties of loaded Properties + - JDK-8273056, JDK-8283875, CVE-2022-21549: java.util.random does not correctly sample exponential or Gaussian distributions + - JDK-8277608: Address IP Addressing + - JDK-8281859, CVE-2022-21540: Improve class compilation + - JDK-8281866, CVE-2022-21541: Enhance MethodHandle invocations + - JDK-8283190: Improve MIDI processing + - JDK-8284370: Improve zlib usage + - JDK-8285407, CVE-2022-34169: Improve Xalan supports +* Other changes + - JDK-8139173: [macosx] JInternalFrame shadow is not properly drawn + - JDK-8181571: printing to CUPS fails on mac sandbox app + - JDK-8193682: Infinite loop in ZipOutputStream.close() + - JDK-8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use + - JDK-8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test + - JDK-8214733: runtime/8176717/TestInheritFD.java timed out + - JDK-8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel + - JDK-8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled + - JDK-8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode + - JDK-8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR + - JDK-8255266: Update Public Suffix List to 3c213aa + - JDK-8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers + - JDK-8258814: Compilation logging crashes for thread suspension / debugging tests + - JDK-8263461: jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java uses wrong mechanism to cause evacuation failure + - JDK-8263538: SharedArchiveConsistency.java should test -Xshare:auto as well + - JDK-8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL" + - JDK-8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted + - JDK-8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL + - JDK-8267163: Rename anonymous loader tests to hidden loader tests + - JDK-8268231: Aarch64: Use Ldp in intrinsics for String.compareTo + - JDK-8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped + - JDK-8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout + - JDK-8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN) + - JDK-8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum + - JDK-8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest + - JDK-8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs + - JDK-8269135: TestDifferentProtectionDomains runs into timeout in client VM + - JDK-8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform + - JDK-8269753: Misplaced caret in PatternSyntaxException's detail message + - JDK-8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support + - JDK-8270021: Incorrect log decorators in gc/g1/plab/TestPLABEvacuationFailure.java + - JDK-8270336: [TESTBUG] Fix initialization in NonbranchyTree + - JDK-8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output + - JDK-8270468: TestRangeCheckEliminated fails because methods are not compiled + - JDK-8270797: ShortECDSA.java test is not complete + - JDK-8270837: fix typos in test TestSigParse.java + - JDK-8271008: appcds/*/MethodHandlesAsCollectorTest.java tests time out because of excessive GC (CodeCache GC Threshold) in loom + - JDK-8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack + - JDK-8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code + - JDK-8271302: Regex Test Refresh + - JDK-8272146: Disable Fibonacci test on memory constrained systems + - JDK-8272168: some hotspot runtime/logging tests don't check exit code + - JDK-8272169: runtime/logging/LoaderConstraintsTest.java doesn't build test.Empty + - JDK-8272358: Some tests may fail when executed with other locales than the US + - JDK-8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2 + - JDK-8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security + - JDK-8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted + - JDK-8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME" + - JDK-8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency + - JDK-8273142: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/http/ tests + - JDK-8273169: java/util/regex/NegativeArraySize.java failed after JDK-8271302 + - JDK-8273804: Platform.isTieredSupported should handle the no-compiler case + - JDK-8274172: Convert JavadocTester to use NIO + - JDK-8274233: Minor cleanup for ToolBox + - JDK-8274244: ReportOnImportedModuleAnnotation.java fails on rerun + - JDK-8274561: sun/net/ftp/TestFtpTimeValue.java timed out on slow machines + - JDK-8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend + - JDK-8274735: javax.imageio.IIOException: Unsupported Image Type while processing a valid JPEG image + - JDK-8274751: Drag And Drop hangs on Windows + - JDK-8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed + - JDK-8274939: Incorrect size of the pixel storage is used by the robot on macOS + - JDK-8274983: C1 optimizes the invocation of private interface methods + - JDK-8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows + - JDK-8275337: C1: assert(false) failed: live_in set of first block must be empty + - JDK-8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert + - JDK-8275745: Reproducible copyright headers + - JDK-8275830: C2: Receiver downcast is missing when inlining through method handle linkers + - JDK-8275854: C2: assert(stride_con != 0) failed: missed some peephole opt + - JDK-8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win) + - JDK-8276657: XSLT compiler tries to define a class with empty name + - JDK-8276796: gc/TestSystemGC.java large pages subtest fails with ZGC + - JDK-8276825: hotspot/runtime/SelectionResolution test errors + - JDK-8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java + - JDK-8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary + - JDK-8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations + - JDK-8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics + - JDK-8277072: ObjectStreamClass caches keep ClassLoaders alive + - JDK-8277087: ZipException: zip END header not found at ZipFile#Source.findEND + - JDK-8277123: jdeps does not report some exceptions correctly + - JDK-8277165: jdeps --multi-release --print-module-deps fails if module-info.class in different versioned directories + - JDK-8277166: Data race in jdeps VersionHelper + - JDK-8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread + - JDK-8277422: tools/jar/JarEntryTime.java fails with modified time mismatch + - JDK-8277893: Arraycopy stress tests + - JDK-8277906: Incorrect type for IV phi of long counted loops after CCP + - JDK-8277922: Unable to click JCheckBox in JTable through Java Access Bridge + - JDK-8278014: [vectorapi] Remove test run script + - JDK-8278065: Refactor subclassAudits to use ClassValue + - JDK-8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method + - JDK-8278472: Invalid value set to CANDIDATEFORM structure + - JDK-8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null" + - JDK-8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15 + - JDK-8278766: Enable OpenJDK build support for reproducible jars and jmods using --date + - JDK-8278794: Infinite loop in DeflaterOutputStream.finish() + - JDK-8278796: Incorrect behavior of FloatVector.withLane on X86 + - JDK-8278851: Correct signer logic for jars signed with multiple digestalgs + - JDK-8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler + - JDK-8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638 + - JDK-8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC + - JDK-8279219: [REDO] C2 crash when allocating array of size too large + - JDK-8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display + - JDK-8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist! + - JDK-8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM + - JDK-8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked + - JDK-8279520: SPNEGO has not passed channel binding info into the underlying mechanism + - JDK-8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64 + - JDK-8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java + - JDK-8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment + - JDK-8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking + - JDK-8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores + - JDK-8279668: x86: AVX2 versions of vpxor should be asserted + - JDK-8279822: CI: Constant pool entries in error state are not supported + - JDK-8279834: Alpine Linux fails to build when --with-source-date enabled + - JDK-8279837: C2: assert(is_Loop()) failed: invalid node class: Region + - JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos + - JDK-8279958: Provide configure hints for Alpine/apk package managers + - JDK-8280004: DCmdArgument::parse_value() should handle NULL input + - JDK-8280041: Retry loop issues in java.io.ClassCache + - JDK-8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN + - JDK-8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized + - JDK-8280476: [macOS] : hotspot arm64 bug exposed by latest clang + - JDK-8280543: Update the "java" and "jcmd" tool specification for CDS + - JDK-8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor + - JDK-8280600: C2: assert(!had_error) failed: bad dominance + - JDK-8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device. + - JDK-8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination + - JDK-8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs + - JDK-8280901: MethodHandle::linkToNative stub is missing w/ -Xint + - JDK-8280940: gtest os.release_multi_mappings_vm is racy + - JDK-8280941: os::print_memory_mappings() prints segment preceeding the inclusion range + - JDK-8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y + - JDK-8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly + - JDK-8281043: Intrinsify recursive ObjectMonitor locking for PPC64 + - JDK-8281168: Micro-optimize VarForm.getMemberName for interpreter + - JDK-8281262: Windows builds in different directories are not fully reproducible + - JDK-8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly + - JDK-8281274: deal with ActiveProcessorCount in os::Linux::print_container_info + - JDK-8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths + - JDK-8281318: Improve jfr/event/allocation tests reliability + - JDK-8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working + - JDK-8281450: Remove unnecessary operator new and delete from ObjectMonitor + - JDK-8281522: Rename ADLC classes which have the same name as hotspot variants + - JDK-8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/ + - JDK-8281615: Deadlock caused by jdwp agent + - JDK-8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions + - JDK-8281771: Crash in java_lang_invoke_MethodType::print_signature + - JDK-8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799 + - JDK-8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling + - JDK-8282008: Incorrect handling of quoted arguments in ProcessBuilder + - JDK-8282045: When loop strip mining fails, safepoints are removed from loop anyway + - JDK-8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1 + - JDK-8282170: JVMTI SetBreakpoint metaspace allocation test + - JDK-8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads + - JDK-8282225: GHA: Allow one concurrent run per PR only + - JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers + - JDK-8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive + - JDK-8282295: SymbolPropertyEntry::set_method_type fails with assert + - JDK-8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86 + - JDK-8282345: handle latest VS2022 in abstract_vm_version + - JDK-8282382: Report glibc malloc tunables in error reports + - JDK-8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale + - JDK-8282444: Module finder incorrectly assumes default file system path-separator character + - JDK-8282499: Bump update version for OpenJDK: jdk-17.0.4 + - JDK-8282509: [exploded image] ResolvedClassTest fails with similar output + - JDK-8282551: Properly initialize L32X64MixRandom state + - JDK-8282583: Update BCEL md to include the copyright notice + - JDK-8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes + - JDK-8282592: C2: assert(false) failed: graph should be schedulable + - JDK-8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig() + - JDK-8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap + - JDK-8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows + - JDK-8282929: Localized monetary symbols are not reflected in `toLocalizedPattern` return value + - JDK-8283017: GHA: Workflows break with update release versions + - JDK-8283187: C2: loop candidate for superword not always unrolled fully if superword fails + - JDK-8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c + - JDK-8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing + - JDK-8283279: [Testbug] Improve TestGetSwapSpaceSize + - JDK-8283315: jrt-fs.jar not always deterministically built + - JDK-8283323: libharfbuzz optimization level results in extreme build times + - JDK-8283347: [macos] Bad JNI lookup accessibilityHitTest is shown when Screen magnifier is enabled + - JDK-8283350: (tz) Update Timezone Data to 2022a + - JDK-8283408: Fix a C2 crash when filling arrays with unsafe + - JDK-8283422: Create a new test for JDK-8254790 + - JDK-8283451: C2: assert(_base == Long) failed: Not a Long + - JDK-8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak + - JDK-8283497: [windows] print TMP and TEMP in hs_err and VM.info + - JDK-8283641: Large value for CompileThresholdScaling causes assert + - JDK-8283725: Launching java with "-Xlog:gc*=trace,safepoint*=trace,class*=trace" crashes the JVM + - JDK-8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate + - JDK-8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo + - JDK-8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c + - JDK-8284094: Memory leak in invoker_completeInvokeRequest() + - JDK-8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4 + - JDK-8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer + - JDK-8284437: Building from different users/workspace is not always deterministic + - JDK-8284458: CodeHeapState::aggregate() leaks blob_name + - JDK-8284507: GHA: Only check test results if testing was not skipped + - JDK-8284532: Memory leak in BitSet::BitMapFragmentTable in JFR leak profiler + - JDK-8284549: JFR: FieldTable leaks FieldInfoTable member + - JDK-8284603: [17u] Update Boot JDK used in GHA to 17.0.2 + - JDK-8284620: CodeBuffer may leak _overflow_arena + - JDK-8284622: Update versions of some Github Actions used in JDK workflow + - JDK-8284661: Reproducible assembly builds without relative linking + - JDK-8284754: print more interesting env variables in hs_err and VM.info + - JDK-8284758: [linux] improve print_container_info + - JDK-8284848: C2: Compiler blackhole arguments should be treated as globally escaping + - JDK-8284866: Add test to JDK-8273056 + - JDK-8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java + - JDK-8284992: Fix misleading Vector API doc for LSHR operator + - JDK-8285342: Zero build failure with clang due to values not handled in switch + - JDK-8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id() + - JDK-8285397: JNI exception pending in CUPSfuncs.c:250 + - JDK-8285445: cannot open file "NUL:" + - JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4 + - JDK-8285523: Improve test java/io/FileOutputStream/OpenNUL.java + - JDK-8285686: Update FreeType to 2.12.0 + - JDK-8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head + - JDK-8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head + - JDK-8285728: Alpine Linux build fails with busybox tar + - JDK-8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols + - JDK-8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine + - JDK-8285956: (fs) Excessive default poll interval in PollingWatchService + - JDK-8286013: Incorrect test configurations for compiler/stable/TestStableShort.java + - JDK-8286029: Add classpath exemption to globals_vectorApiSupport_***.S.inc + - JDK-8286198: [linux] Fix process-memory information + - JDK-8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources + - JDK-8286444: javac errors after JDK-8251329 are not helpful enough to find root cause + - JDK-8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups + - JDK-8286601: Mac Aarch: Excessive warnings to be ignored for build jdk + - JDK-8286855: javac error on invalid jar should only print filename + - JDK-8287109: Distrust.java failed with CertificateExpiredException + - JDK-8287119: Add Distrust.java to ProblemList + - JDK-8287162: (zipfs) Performance regression related to support for POSIX file permissions + - JDK-8287336: GHA: Workflows break on patch versions + - JDK-8287362: FieldAccessWatch testcase failed on AIX platform + - JDK-8287378: GHA: Update cygwin to fix issues in langtools tests on Windows + +Notes on individual issues: +=========================== + +core-libs/java.net: + +JDK-8285240: HTTPS Channel Binding support for Java GSS/Kerberos +================================================================ +Support has been added for TLS channel binding tokens for +Negotiate/Kerberos authentication over HTTPS through +javax.net.HttpsURLConnection. + +Channel binding tokens are increasingly required as an enhanced form +of security which can mitigate certain kinds of socially engineered, +man in the middle (MITM) attacks. They work by communicating from a +client to a server the client's understanding of the binding between +connection security (as represented by a TLS server cert) and higher +level authentication credentials (such as a username and +password). The server can then detect if the client has been fooled by +a MITM and shutdown the session/connection. + +The feature is controlled through a new system property +`jdk.https.negotiate.cbt` which is described fully at the following +page: + +https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html#jdk.https.negotiate.cbt + +core-libs/java.lang: + +JDK-8283137: Incorrect handling of quoted arguments in ProcessBuilder +===================================================================== +ProcessBuilder on Windows is restored to address a regression caused +by JDK-8250568. Previously, an argument to ProcessBuilder that +started with a double-quote and ended with a backslash followed by a +double-quote was passed to a command incorrectly and may cause the +command to fail. For example the argument `"C:\\Program Files\"`, +would be seen by the command with extra double-quotes. This update +restores the long standing behavior that does not treat the backslash +before the final double-quote specially. + + +core-libs/java.util.jar: + +JDK-8278386: Default JDK compressor will be closed when IOException is encountered +================================================================================== +`DeflaterOutputStream.close()` and `GZIPOutputStream.finish()` methods +have been modified to close out the associated default JDK compressor +before propagating a Throwable up the +stack. `ZIPOutputStream.closeEntry()` method has been modified to +close out the associated default JDK compressor before propagating an +IOException, not of type ZipException, up the stack. + +core-libs/java.io: + +JDK-8285660: New System Property to Disable Windows Alternate Data Stream Support in java.io.File +================================================================================================= +The Windows implementation of `java.io.File` allows access to NTFS +Alternate Data Streams (ADS) by default. Such streams have a structure +like “filename:streamname”. A system property `jdk.io.File.enableADS` +has been added to control this behavior. To disable ADS support in +`java.io.File`, the system property `jdk.io.File.enableADS` should be +set to `false` (case ignored). Stricter path checking however prevents +the use of special devices such as `NUL:` + +New in release OpenJDK 17.0.3 (2022-04-19): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1703 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.3.txt + +* Security fixes + - JDK-8269938: Enhance XML processing passes redux + - JDK-8270504, CVE-2022-21426: Better XPath expression handling + - JDK-8272255: Completely handle MIDI files + - JDK-8272261: Improve JFR recording file processing + - JDK-8272588: Enhanced recording parsing + - JDK-8272594: Better record of recordings + - JDK-8274221: More definite BER encodings + - JDK-8275082, JDK-8278008, CVE-2022-21476: Update XML Security for Java to 2.3.0 + - JDK-8275151, CVE-2022-21443: Improved Object Identification + - JDK-8277227: Better identification of OIDs + - JDK-8277233, CVE-2022-21449: Improve ECDSA signature support + - JDK-8277672, CVE-2022-21434: Better invocation handler handling + - JDK-8278356: Improve file creation + - JDK-8278449: Improve keychain support + - JDK-8278798: Improve supported intrinsic + - JDK-8278805: Enhance BMP image loading + - JDK-8278972, CVE-2022-21496: Improve URL supports + - JDK-8281388: Change wrapping of EncryptedPrivateKeyInfo +* Other changes + - JDK-8177814: jdk/editpad is not in jdk TEST.groups + - JDK-8186670: Implement _onSpinWait() intrinsic for AArch64 + - JDK-8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently + - JDK-8225559: assertion error at TransTypes.visitApply + - JDK-8236505: Mark jdk/editpad/EditPadTest.java as @headful + - JDK-8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails + - JDK-8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test + - JDK-8247980: Exclusive execution of java/util/stream tests slows down tier1 + - JDK-8251216: Implement MD5 intrinsics on AArch64 + - JDK-8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost" + - JDK-8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt" + - JDK-8263567: gtests don't terminate the VM safely + - JDK-8265150: AsyncGetCallTrace crashes on ResourceMark + - JDK-8266490: Extend the OSContainer API to support the pids controller of cgroups + - JDK-8269032: Stringdedup tests are failing if the ergonomically select GC does not support it + - JDK-8269037: jsig/Testjsig.java doesn't have to be restricted to linux only + - JDK-8269087: CheckSegmentedCodeCache test fails in an emulated-client VM + - JDK-8269175: [macosx-aarch64] wrong CPU speed in hs_err file + - JDK-8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java + - JDK-8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long' + - JDK-8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error + - JDK-8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects" + - JDK-8270117: Broken jtreg link in "Building the JDK" page + - JDK-8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor + - JDK-8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity + - JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key + - JDK-8271202: C1: assert(false) failed: live_in set of first block must be empty + - JDK-8271506: Add ResourceHashtable support for deleting selected entries + - JDK-8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests + - JDK-8272167: AbsPathsInImage.java should skip *.dSYM directories + - JDK-8272327: Shenandoah: Avoid enqueuing duplicate string candidates + - JDK-8272398: Update DockerTestUtils.buildJdkDockerImage() + - JDK-8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication + - JDK-8272553: several hotspot runtime/CommandLine tests don't check exit code + - JDK-8272600: (test) Use native "sleep" in Basic.java + - JDK-8272866: java.util.random package summary contains incorrect mixing function in table + - JDK-8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled + - JDK-8273162: AbstractSplittableWithBrineGenerator does not create a random salt + - JDK-8273277: C2: Move conditional negation into rc_predicate + - JDK-8273341: Update Siphash to version 1.0 + - JDK-8273351: bad tag in jdk.random module-info.java + - JDK-8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12 + - JDK-8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm + - JDK-8273387: remove some unreferenced gtk-related functions + - JDK-8273433: Enable parallelism in vmTestbase_nsk_sysdict tests + - JDK-8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests + - JDK-8273526: Extend the OSContainer API pids controller with pids.current + - JDK-8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java + - JDK-8273655: content-types.properties files are missing some common types + - JDK-8273682: Upgrade Jline to 3.20.0 + - JDK-8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time + - JDK-8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3 + - JDK-8273933: [TESTBUG] Test must run without preallocated exceptions + - JDK-8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12 + - JDK-8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform) + - JDK-8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes + - JDK-8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches + - JDK-8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures + - JDK-8274471: Add support for RSASSA-PSS in OCSP Response + - JDK-8274506: TestPids.java and TestPidsLimit.java fail with podman run as root + - JDK-8274524: SSLSocket.close() hangs if it is called during the ssl handshake + - JDK-8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS + - JDK-8274658: ISO 4217 Amendment 170 Update + - JDK-8274714: Incorrect verifier protected access error message + - JDK-8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976 + - JDK-8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes + - JDK-8274795: AArch64: avoid spilling and restoring r18 in macro assembler + - JDK-8274935: dumptime_table has stale entry + - JDK-8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info + - JDK-8275326: C2: assert(no_dead_loop) failed: dead loop detected + - JDK-8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions + - JDK-8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime + - JDK-8275586: Zero: Simplify interpreter initialization + - JDK-8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow + - JDK-8275610: C2: Object field load floats above its null check resulting in a segfault + - JDK-8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg + - JDK-8275645: [JVMCI] avoid unaligned volatile reads on AArch64 + - JDK-8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 + - JDK-8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException + - JDK-8275800: Redefinition leaks MethodData::_extra_data_lock + - JDK-8275847: Scheduling fails with "too many D-U pinch points" on small method + - JDK-8275874: [JVMCI] only support aligned reads in c2v_readFieldValue + - JDK-8276057: Update JMH devkit to 1.33 + - JDK-8276141: XPathFactory set/getProperty method + - JDK-8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here" + - JDK-8276314: [JVMCI] check alignment of call displacement during code installation + - JDK-8276623: JDK-8275650 accidentally pushed "out" file + - JDK-8276654: element-list order is non deterministic + - JDK-8276662: Scalability bottleneck in SymbolTable::lookup_common() + - JDK-8276764: Enable deterministic file content ordering for Jar and Jmod + - JDK-8276766: Enable jar and jmod to produce deterministic timestamped content + - JDK-8276841: Add support for Visual Studio 2022 + - JDK-8277069: [REDO] JDK-8276743 Make openjdk build Zip Archive generation "reproducible" + - JDK-8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1 + - JDK-8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64 + - JDK-8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits + - JDK-8277328: jdk/jshell/CommandCompletionTest.java failures on Windows + - JDK-8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for + - JDK-8277383: VM.metaspace optionally show chunk freelist details + - JDK-8277385: Zero: Enable CompactStrings support + - JDK-8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last + - JDK-8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop + - JDK-8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs + - JDK-8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022 + - JDK-8277497: Last column cell in the JTable row is read as empty cell + - JDK-8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found." + - JDK-8277762: Allow configuration of HOTSPOT_BUILD_USER + - JDK-8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad + - JDK-8277795: ldap connection timeout not honoured under contention + - JDK-8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64 + - JDK-8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording + - JDK-8277992: Add fast jdk_svc subtests to jdk:tier3 + - JDK-8278016: Add compiler tests to tier{2,3} + - JDK-8278020: ~13% variation in Renaissance-Scrabble + - JDK-8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation + - JDK-8278099: two sun/security/pkcs11/Signature tests failed with AssertionError + - JDK-8278104: C1 should support the compiler directive 'BreakAtExecute' + - JDK-8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx + - JDK-8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx + - JDK-8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup + - JDK-8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux + - JDK-8278185: Custom JRE cannot find non-ASCII named module inside + - JDK-8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d + - JDK-8278241: Implement JVM SpinPause on linux-aarch64 + - JDK-8278309: [windows] use of uninitialized OSThread::_state + - JDK-8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output + - JDK-8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine + - JDK-8278381: [GCC 11] Address::make_raw() does not initialize rspec + - JDK-8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT + - JDK-8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic + - JDK-8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column + - JDK-8278604: SwingSet2 table demo does not have accessible description set for images + - JDK-8278627: Shenandoah: TestHeapDump test failed + - JDK-8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134 + - JDK-8278822: Bump update version for OpenJDK: jdk-17.0.3 + - JDK-8278824: Uneven work distribution when scanning heap roots in G1 + - JDK-8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob + - JDK-8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10 + - JDK-8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__ + - JDK-8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t + - JDK-8279076: C2: Bad AD file when matching SqrtF with UseSSE=0 + - JDK-8279124: VM does not handle SIGQUIT during initialization + - JDK-8279225: [arm32] C1 longs comparison operation destroys argument registers + - JDK-8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest + - JDK-8279379: GHA: Print tests that are in error + - JDK-8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344 + - JDK-8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it + - JDK-8279445: Update JMH devkit to 1.34 + - JDK-8279453: Disable tools/jar/ReproducibleJar.java on 32-bit platforms + - JDK-8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT + - JDK-8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition + - JDK-8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also + - JDK-8279702: [macosx] ignore xcodebuild warnings on M1 + - JDK-8279833: Loop optimization issue in String.encodeUTF8_UTF16 + - JDK-8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks + - JDK-8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id" + - JDK-8280002: jmap -histo may leak stream + - JDK-8280155: [PPC64, s390] frame size checks are not yet correct + - JDK-8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492 + - JDK-8280414: Memory leak in DefaultProxySelector + - JDK-8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1} + - JDK-8281061: [s390] JFR runs into assertions while validating interpreter frames + - JDK-8281460: Let ObjectMonitor have its own NMT category + - JDK-8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX + - JDK-8282300: Throws NamingException instead of InvalidNameException after JDK-8278972 + - JDK-8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character + - JDK-8282761: XPathFactoryImpl remove setProperty and getProperty methods + - JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException + - JDK-8284920: Incorrect Token type causes XPath expression to return empty result + +Notes on individual issues: +=========================== + +security-libs/java.security: + +JDK-8274791: Support for RSASSA-PSS in OCSP Response +==================================================== +An OCSP response signed with the RSASSA-PSS algorithm is now supported. + +New in release OpenJDK 17.0.2 (2022-01-18): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1702 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.2.txt + +* Security fixes + - JDK-8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside + - JDK-8264934, CVE-2022-21248: Enhance cross VM serialization + - JDK-8268488: More valuable DerValues + - JDK-8268494: Better inlining of inlined interfaces + - JDK-8268512: More content for ContentInfo + - JDK-8268813, CVE-2022-21283: Better String matching + - JDK-8269151: Better construction of EncryptedPrivateKeyInfo + - JDK-8269944: Better HTTP transport redux + - JDK-8270386, CVE-2022-21291: Better verification of scan methods + - JDK-8270392, CVE-2022-21293: Improve String constructions + - JDK-8270416, CVE-2022-21294: Enhance construction of Identity maps + - JDK-8270492, CVE-2022-21282: Better resolution of URIs + - JDK-8270498, CVE-2022-21296: Improve SAX Parser configuration management + - JDK-8270646, CVE-2022-21299: Improved scanning of XML entities + - JDK-8270952, CVE-2022-21277: Improve TIFF file handling + - JDK-8271962: Better TrueType font loading + - JDK-8271968: Better canonical naming + - JDK-8271987: Manifest improved manifest entries + - JDK-8272014, CVE-2022-21305: Better array indexing + - JDK-8272026, CVE-2022-21340: Verify Jar Verification + - JDK-8272236, CVE-2022-21341: Improve serial forms for transport + - JDK-8272272: Enhance jcmd communication + - JDK-8272462: Enhance image handling + - JDK-8273290: Enhance sound handling + - JDK-8273756, CVE-2022-21360: Enhance BMP image support + - JDK-8273838, CVE-2022-21365: Enhanced BMP processing + - JDK-8274096, CVE-2022-21366: Improve decoding of image files +* Other changes + - JDK-4819544: SwingSet2 JTable Demo throws NullPointerException + - JDK-8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing + - JDK-8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap + - JDK-8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently + - JDK-8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream + - JDK-8214761: Bug in parallel Kahan summation implementation + - JDK-8223923: C2: Missing interference with mismatched unsafe accesses + - JDK-8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir(). + - JDK-8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name + - JDK-8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines())) + - JDK-8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled + - JDK-8261579: AArch64: Support for weaker memory ordering in Atomic + - JDK-8262031: Create implementation for NSAccessibilityNavigableStaticText protocol + - JDK-8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null + - JDK-8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert + - JDK-8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream + - JDK-8263375: Support stack watermarks in Zero VM + - JDK-8263773: Reenable German localization for builds at Oracle + - JDK-8264286: Create implementation for NSAccessibilityColumn protocol peer + - JDK-8264287: Create implementation for NSAccessibilityComboBox protocol peer + - JDK-8264291: Create implementation for NSAccessibilityCell protocol peer + - JDK-8264292: Create implementation for NSAccessibilityList protocol peer + - JDK-8264293: Create implementation for NSAccessibilityMenu protocol peer + - JDK-8264294: Create implementation for NSAccessibilityMenuBar protocol peer + - JDK-8264295: Create implementation for NSAccessibilityMenuItem protocol peer + - JDK-8264296: Create implementation for NSAccessibilityPopUpButton protocol peer + - JDK-8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer + - JDK-8264298: Create implementation for NSAccessibilityRow protocol peer + - JDK-8264303: Create implementation for NSAccessibilityTabGroup protocol peer + - JDK-8266239: Some duplicated javac command-line options have repeated effect + - JDK-8266510: Nimbus JTree default tree cell renderer does not use selected text color + - JDK-8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true + - JDK-8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl + - JDK-8267385: Create NSAccessibilityElement implementation for JavaComponentAccessibility + - JDK-8267387: Create implementation for NSAccessibilityOutline protocol + - JDK-8267388: Create implementation for NSAccessibilityTable protocol + - JDK-8268284: javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button" + - JDK-8268294: Reusing HttpClient in a WebSocket.Listener hangs. + - JDK-8268361: Fix the infinite loop in next_line + - JDK-8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML + - JDK-8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests + - JDK-8268626: Remove native pre-jdk9 support for jtreg failure handler + - JDK-8268860: Windows-Aarch64 build is failing in GitHub actions + - JDK-8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc + - JDK-8268885: duplicate checkcast when destination type is not first type of intersection type + - JDK-8268893: jcmd to trim the glibc heap + - JDK-8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition + - JDK-8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)" + - JDK-8269031: linux x86_64 check for binutils 2.25 or higher after 8265783 + - JDK-8269113: Javac throws when compiling switch (null) + - JDK-8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java + - JDK-8269269: [macos11] SystemIconTest fails with ClassCastException + - JDK-8269280: (bf) Replace StringBuffer in *Buffer.toString() + - JDK-8269481: SctpMultiChannel never releases own file descriptor + - JDK-8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows + - JDK-8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles + - JDK-8269687: pauth_aarch64.hpp include name is incorrect + - JDK-8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0 + - JDK-8269924: Shenandoah: Introduce weak/strong marking asserts + - JDK-8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked + - JDK-8270110: Shenandoah: Add test for JDK-8269661 + - JDK-8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS + - JDK-8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests + - JDK-8270290: NTLM authentication fails if HEAD request is used + - JDK-8270317: Large Allocation in CipherSuite + - JDK-8270320: JDK-8270110 committed invalid copyright headers + - JDK-8270517: Add Zero support for LoongArch + - JDK-8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS + - JDK-8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling + - JDK-8270893: IndexOutOfBoundsException while reading large TIFF file + - JDK-8270901: Typo PHASE_CPP in CompilerPhaseType + - JDK-8270946: X509CertImpl.getFingerprint should not return the empty String + - JDK-8271071: accessibility of a table on macOS lacks cell navigation + - JDK-8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug + - JDK-8271142: package help is not displayed for missing X11/extensions/Xrandr.h + - JDK-8271170: Add unit test for what jpackage app launcher puts in the environment + - JDK-8271215: Fix data races in G1PeriodicGCTask + - JDK-8271254: javac generates unreachable code when using empty semicolon statement + - JDK-8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected" + - JDK-8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call + - JDK-8271315: Redo: Nimbus JTree renderer properties persist across L&F changes + - JDK-8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1 + - JDK-8271340: Crash PhaseIdealLoop::clone_outer_loop + - JDK-8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java + - JDK-8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity + - JDK-8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos. + - JDK-8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling + - JDK-8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine" + - JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions + - JDK-8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop + - JDK-8271605: Update JMH devkit to 1.32 + - JDK-8271718: Crash when during color transformation the color profile is replaced + - JDK-8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers + - JDK-8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest + - JDK-8271862: C2 intrinsic for Reference.refersTo() is often not used + - JDK-8271868: Warn user when using mac-sign option with unsigned app-image. + - JDK-8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18 + - JDK-8271954: C2: assert(false) failed: Bad graph detected in build_loop_late + - JDK-8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112 + - JDK-8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64 + - JDK-8272114: Unused _last_state in osThread_windows + - JDK-8272170: Missing memory barrier when checking active state for regions + - JDK-8272305: several hotspot runtime/modules don't check exit codes + - JDK-8272318: Improve performance of HeapDumpAllTest + - JDK-8272328: java.library.path is not set properly by Windows jpackage app launcher + - JDK-8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes + - JDK-8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions + - JDK-8272345: macos doesn't check `os::set_boot_path()` result + - JDK-8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0" + - JDK-8272391: Undeleted debug information + - JDK-8272413: Incorrect num of element count calculation for vector cast + - JDK-8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong + - JDK-8272562: C2: assert(false) failed: Bad graph detected in build_loop_late + - JDK-8272570: C2: crash in PhaseCFG::global_code_motion + - JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late + - JDK-8272639: jpackaged applications using microphone on mac + - JDK-8272703: StressSeed should be set via FLAG_SET_ERGO + - JDK-8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit + - JDK-8272783: Epsilon: Refactor tests to improve performance + - JDK-8272836: Limit run time for java/lang/invoke/LFCaching tests + - JDK-8272838: Move CriticalJNI tests out of tier1 + - JDK-8272846: Move some runtime/Metaspace/elastic/ tests out of tier1 + - JDK-8272850: Drop zapping values in the Zap* option descriptions + - JDK-8272854: split runtime/CommandLine/PrintTouchedMethods.java test + - JDK-8272856: DoubleFlagWithIntegerValue uses G1GC-only flag + - JDK-8272859: Javadoc external links should only have feature version number in URL + - JDK-8272914: Create hotspot:tier2 and hotspot:tier3 test groups + - JDK-8272970: Parallelize runtime/InvocationTests/ + - JDK-8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop + - JDK-8273021: C2: Improve Add and Xor ideal optimizations + - JDK-8273026: Slow LoginContext.login() on multi threading application + - JDK-8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7 + - JDK-8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert + - JDK-8273176: handle latest VS2019 in abstract_vm_version + - JDK-8273229: Update OS detection code to recognize Windows Server 2022 + - JDK-8273234: extended 'for' with expression of type tvar causes the compiler to crash + - JDK-8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit + - JDK-8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT + - JDK-8273308: PatternMatchTest.java fails on CI + - JDK-8273314: Add tier4 test groups + - JDK-8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test + - JDK-8273318: Some containers/docker/TestJFREvents.java configs are running out of memory + - JDK-8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods + - JDK-8273335: compiler/blackhole tests should not run with interpreter-only VMs + - JDK-8273342: Null pointer dereference in classFileParser.cpp:2817 + - JDK-8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size + - JDK-8273361: InfoOptsTest is failing in tier1 + - JDK-8273373: Zero: Cannot invoke JVM in primordial threads on Zero + - JDK-8273375: Remove redundant 'new String' calls after concatenation in java.desktop + - JDK-8273376: Zero: Disable vtable/itableStub gtests + - JDK-8273378: Shenandoah: Remove the remaining uses of os::is_MP + - JDK-8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record + - JDK-8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1} + - JDK-8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java + - JDK-8273450: Fix the copyright header of SVML files + - JDK-8273451: Remove unreachable return in mutexLocker::wait + - JDK-8273483: Zero: Clear pending JNI exception check in native method handler + - JDK-8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option + - JDK-8273487: Zero: Handle "zero" variant in runtime tests + - JDK-8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths + - JDK-8273498: compiler/c2/Test7179138_1.java timed out + - JDK-8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes + - JDK-8273514: java/util/DoubleStreamSums/CompensatedSums.java failure + - JDK-8273575: memory leak in appendBootClassPath(), paths must be deallocated + - JDK-8273592: Backout JDK-8271868 + - JDK-8273593: [REDO] Warn user when using mac-sign option with unsigned app-image. + - JDK-8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian + - JDK-8273606: Zero: SPARC64 build fails with si_band type mismatch + - JDK-8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests + - JDK-8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F + - JDK-8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher + - JDK-8273678: TableAccessibility and TableRowAccessibility miss autorelease + - JDK-8273695: Safepoint deadlock on VMOperation_lock + - JDK-8273790: Potential cyclic dependencies between Gregorian and CalendarSystem + - JDK-8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly + - JDK-8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java + - JDK-8273808: Cleanup AddFontsToX11FontPath + - JDK-8273826: Correct Manifest file name and NPE checks + - JDK-8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out + - JDK-8273894: ConcurrentModificationException raised every time ReferralsCache drops referral + - JDK-8273902: Memory leak in OopStorage due to bug in OopHandle::release() + - JDK-8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add() + - JDK-8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported + - JDK-8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds + - JDK-8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character + - JDK-8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled + - JDK-8273968: JCK javax_xml tests fail in CI + - JDK-8274056: JavaAccessibilityUtilities leaks JNI objects + - JDK-8274074: SIGFPE with C2 compiled code with -XX:+StressGCM + - JDK-8274083: Update testing docs to mention tiered testing + - JDK-8274087: Windows DLL path not set correctly. + - JDK-8274145: C2: condition incorrectly made redundant with dominating main loop exit condition + - JDK-8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC + - JDK-8274215: Remove globalsignr2ca root from 17.0.2 + - JDK-8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86 + - JDK-8274265: Suspicious string concatenation in logTestUtils.inline.hpp + - JDK-8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated + - JDK-8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160 + - JDK-8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m + - JDK-8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern + - JDK-8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror" + - JDK-8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile + - JDK-8274349: ForkJoinPool.commonPool() does not work with 1 CPU + - JDK-8274381: missing CAccessibility definitions in JNI code + - JDK-8274383: JNI call of getAccessibleSelection on a wrong thread + - JDK-8274401: C2: GraphKit::load_array_element bypasses Access API + - JDK-8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough" + - JDK-8274407: (tz) Update Timezone Data to 2021c + - JDK-8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl + - JDK-8274467: TestZoneInfo310.java fails with tzdata2021b + - JDK-8274468: TimeZoneTest.java fails with tzdata2021b + - JDK-8274501: c2i entry barriers read int as long on AArch64 + - JDK-8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected + - JDK-8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah + - JDK-8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah + - JDK-8274550: c2i entry barriers read int as long on PPC + - JDK-8274560: JFR: Add test for OldObjectSample event when using Shenandoah + - JDK-8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test + - JDK-8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287 + - JDK-8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume. + - JDK-8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily + - JDK-8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers + - JDK-8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform + - JDK-8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST + - JDK-8274840: Update OS detection code to recognize Windows 11 + - JDK-8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior + - JDK-8274851: [ppc64] Port zgc to linux on ppc64le + - JDK-8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155) + - JDK-8275008: gtest build failure due to stringop-overflow warning with gcc11 + - JDK-8275049: [ZGC] missing null check in ZNMethod::log_register + - JDK-8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag + - JDK-8275071: [macos] A11y cursor gets stuck when combobox is closed + - JDK-8275104: IR framework does not handle client VM builds correctly + - JDK-8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos. + - JDK-8275131: Exceptions after a touchpad gesture on macOS + - JDK-8275141: recover corrupted line endings for the version-numbers.conf + - JDK-8275145: file.encoding system property has an incorrect value on Windows + - JDK-8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges + - JDK-8275302: unexpected compiler error: cast, intersection types and sealed + - JDK-8275426: PretouchTask num_chunks calculation can overflow + - JDK-8275604: Zero: Reformat opclabels_data + - JDK-8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless + - JDK-8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem + - JDK-8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak + - JDK-8275766: (tz) Update Timezone Data to 2021e + - JDK-8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:] + - JDK-8275811: Incorrect instance to dispose + - JDK-8275819: [TableRowAccessibility accessibilityChildren] method is ineffective + - JDK-8275849: TestZoneInfo310.java fails with tzdata2021e + - JDK-8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings + - JDK-8275872: Sync J2DBench run and analyze Makefile targets with build.xml + - JDK-8276025: Hotspot's libsvml.so may conflict with user dependency + - JDK-8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance + - JDK-8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3 + - JDK-8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly + - JDK-8276112: Inconsistent scalar replacement debug info at safepoints + - JDK-8276122: Change openjdk project in jcheck to jdk-updates + - JDK-8276130: Fix Github Actions of JDK17u to account for update version scheme + - JDK-8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test + - JDK-8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32 + - JDK-8276201: Shenandoah: Race results degenerated GC to enter wrong entry point + - JDK-8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration + - JDK-8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition + - JDK-8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766 + - JDK-8276550: Use SHA256 hash in build.tools.depend.Depend + - JDK-8276572: Fake libsyslookup.so library causes tooling issues + - JDK-8276774: Cookie stored in CookieHandler not sent if user headers contain cookie + - JDK-8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah + - JDK-8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager + - JDK-8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32 + - JDK-8276846: JDK-8273416 is incomplete for UseSSE=1 + - JDK-8276854: Windows GHA builds fail due to broken Cygwin + - JDK-8276864: Update boot JDKs to 17.0.1 in GHA + - JDK-8276905: Use appropriate macosx_version_minimum value while compiling metal shaders + - JDK-8276927: [ppc64] Port shenandoahgc to linux on ppc64le + - JDK-8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes + - JDK-8277093: Vector should throw ClassNotFoundException for a missing class of an element + - JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points + - JDK-8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest] + - JDK-8277212: GC accidentally cleans valid megamorphic vtable inline caches + - JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE + - JDK-8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint + - JDK-8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup + +Notes on individual issues: +=========================== + +core-libs/java.io:serialization: + +JDK-8277157: Vector should throw ClassNotFoundException for a missing class of an element +========================================================================================= +`java.util.Vector` is updated to correctly report +`ClassNotFoundException that occurs during deserialization using +`java.io.ObjectInputStream.GetField.get(name, object)` when the class +of an element of the Vector is not found. Without this fix, a +`StreamCorruptedException` is thrown that does not provide information +about the missing class. + +security-libs/java.security: + +JDK-8272535: Removed Google's GlobalSign Root Certificate +========================================================= +The following root certificate from Google has been removed from the +`cacerts` keystore: + +Alias Name: globalsignr2ca [jdk] +Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2 + +core-libs/java.io: + +JDK-8275343: file.encoding System Property Has an Incorrect Value on Windows +============================================================================ +The initialization of the `file.encoding` system property on non macOS +platforms has been reverted to align with the behavior on or before +JDK 11. This has been an issue especially on Windows where the system +and user's locales are not the same. + +hotspot/gc: + +JDK-8277533: ZGC: Fixed long Process Non-Strong References times +================================================================ +A bug has been fixed that could cause long "Concurrent Process +Non-Strong References" times with ZGC. The bug blocked the GC from +making significant progress, and caused both latency and throughput +issues for the Java application. + +The long times could be seen in the GC logs when running with `-Xlog:gc*` e.g. + +[17606.140s][info][gc,phases ] GC(719) Concurrent Process Non-Strong References 25781.928ms + +core-libs/java.time: + +JDK-8274857: Update Timezone Data to 2021c +=========================================== +IANA Time Zone Database, on which JDK's Date/Time libraries are based, +has been updated to version 2021c +(https://mm.icann.org/pipermail/tz-announce/2021-October/000067.html). Note +that with this update, some of the time zone rules prior to the year +1970 have been modified according to the changes which were introduced +with 2021b. For more detail, refer to the announcement of 2021b +(https://mm.icann.org/pipermail/tz-announce/2021-September/000066.html) + +New in release OpenJDK 17.0.1 (2021-10-19): +=========================================== +Live versions of these release notes can be found at: + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.1.txt + +* Security fixes + - JDK-8263314: Enhance XML Dsig modes + - JDK-8265167, CVE-2021-35556: Richer Text Editors + - JDK-8265574: Improve handling of sheets + - JDK-8265580, CVE-2021-35559: Enhanced style for RTF kit + - JDK-8265776: Improve Stream handling for SSL + - JDK-8266097, CVE-2021-35561: Better hashing support + - JDK-8266103: Better specified spec values + - JDK-8266109: More Resilient Classloading + - JDK-8266115: More Manifest Jar Loading + - JDK-8266137, CVE-2021-35564: Improve Keystore integrity + - JDK-8266689, CVE-2021-35567: More Constrained Delegation + - JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic + - JDK-8267712: Better LDAP reference processing + - JDK-8267729, CVE-2021-35578: Improve TLS client handshaking + - JDK-8267735, CVE-2021-35586: Better BMP support + - JDK-8268193: Improve requests of certificates + - JDK-8268199: Correct certificate requests + - JDK-8268205: Enhance DTLS client handshake + - JDK-8268500: Better specified ParameterSpecs + - JDK-8268506: More Manifest Digests + - JDK-8269618, CVE-2021-35603: Better session identification + - JDK-8269624: Enhance method selection support + - JDK-8270398: Enhance canonicalization + - JDK-8270404: Better canonicalization +* Other changes + - JDK-8225082: Remove IdenTrust certificate that is expiring in September 2021 + - JDK-8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails + - JDK-8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked + - JDK-8261088: Repeatable annotations without @Target cannot have containers that target module declarations + - JDK-8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print" + - JDK-8263531: Remove unused buffer int + - JDK-8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java + - JDK-8267625: AARCH64: typo in LIR_Assembler::emit_profile_type + - JDK-8267666: Add option to jcmd GC.heap_dump to use existing file + - JDK-8268019: C2: assert(no_dead_loop) failed: dead loop detected + - JDK-8268261: C2: assert(n != __null) failed: Bad immediate dominator info. + - JDK-8268427: Improve AlgorithmConstraints:checkAlgorithm performance + - JDK-8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms + - JDK-8269297: Bump version numbers for JDK 17.0.1 + - JDK-8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient + - JDK-8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events + - JDK-8269763: The JEditorPane is blank after JDK-8265167 + - JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers + - JDK-8269882: stack-use-after-scope in NewObjectA + - JDK-8269897: Shenandoah: Resolve UNKNOWN access strength, where possible + - JDK-8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status + - JDK-8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags + - JDK-8270094: Shenandoah: Provide human-readable labels for test configurations + - JDK-8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode + - JDK-8270098: ZGC: ZBarrierSetC2::clone_at_expansion fails with "Guard against surprises" assert + - JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup + - JDK-8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java OCSP response error + - JDK-8270344: Session resumption errors + - JDK-8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added + - JDK-8271276: C2: Wrong JVM state used for receiver null check + - JDK-8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4 + - JDK-8271589: fatal error with variable shift count integer rotate operation. + - JDK-8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java + - JDK-8271730: Client authentication using RSASSA-PSS fails after correct certificate requests + - JDK-8271925: ZGC: Arraycopy stub passes invalid oop to load barrier + - JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon + - JDK-8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj + - JDK-8272326: java/util/Random/RandomTestMoments.java had two Gaussian fails + - JDK-8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790 + - JDK-8272472: StackGuardPages test doesn't build with glibc 2.34 + - JDK-8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182 + - JDK-8272602: [macos] not all KEY_PRESSED events sent when control modifier is used + - JDK-8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848 + - JDK-8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled + - JDK-8272806: [macOS] "Apple AWT Internal Exception" when input method is changed + - JDK-8273358: macOS Monterey does not have the font Times needed by Serif + +Notes on individual issues: +=========================== + +security-libs/java.security: + +JDK-8271434: Removed IdenTrust Root Certificate +=============================================== +The following root certificate from IdenTrust has been removed from +the `cacerts` keystore: + +Alias Name: identrustdstx3 [jdk] +Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co. + +New in release OpenJDK 17.0.0 (2021-09-14): +=========================================== +The full list of changes in the interim releases from 11u to 17u can be found at: + * https://builds.shipilev.net/backports-monitor/release-notes-12.txt + * https://builds.shipilev.net/backports-monitor/release-notes-13.txt + * https://builds.shipilev.net/backports-monitor/release-notes-14.txt + * https://builds.shipilev.net/backports-monitor/release-notes-15.txt + * https://builds.shipilev.net/backports-monitor/release-notes-16.txt + * https://builds.shipilev.net/backports-monitor/release-notes-17.txt + +Major changes are listed below. Some changes may have been backported +to earlier releases following their first appearance in OpenJDK 12 +through to 17. + +NEW FEATURES +============ + +Language Features +================= + +Switch Expressions +================== +https://openjdk.java.net/jeps/325 +https://openjdk.java.net/jeps/354 +https://openjdk.java.net/jeps/361 + +Extend the `switch` statement so that it can be used as either a +statement or an expression, and that both forms can use either a +"traditional" or "simplified" scoping and control flow behavior. Both +forms can use either traditional `case ... :` labels (with fall +through) or new `case ... ->` labels (with no fall through), with a +further new statement for yielding a value from a `switch` +expression. These changes will simplify everyday coding, and also +prepare the way for the use of pattern matching in `switch`. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 12 & 13 and became final in OpenJDK 14. + +Text Blocks +=========== +https://openjdk.java.net/jeps/355 +https://openjdk.java.net/jeps/368 +https://openjdk.java.net/jeps/378 + +Add text blocks to the Java language. A text block is a multi-line +string literal that avoids the need for most escape sequences, +automatically formats the string in a predictable way, and gives the +developer control over format when desired. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 13 & 14 and became final in OpenJDK 15. + +Pattern Matching for instanceof +=============================== +https://openjdk.java.net/jeps/305 +https://openjdk.java.net/jeps/375 +https://openjdk.java.net/jeps/394 +http://cr.openjdk.java.net/~briangoetz/amber/pattern-match.html + +Enhance the Java programming language with pattern matching for the +`instanceof` operator. Pattern matching allows common logic in a +program, namely the conditional extraction of components from objects, +to be expressed more concisely and safely. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 14 & 15 and became final in OpenJDK 16. + +Records +======= +https://openjdk.java.net/jeps/359 +https://openjdk.java.net/jeps/384 +https://openjdk.java.net/jeps/395 + +Enhance the Java programming language with records. Records provide a +compact syntax for declaring classes which are transparent holders for +shallowly immutable data. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 14 & 15 and became final in OpenJDK 16. + +Sealed Classes +============== +https://openjdk.java.net/jeps/360 +https://openjdk.java.net/jeps/397 +https://openjdk.java.net/jeps/409 +https://cr.openjdk.java.net/~briangoetz/amber/datum.html + +Enhance the Java programming language with sealed classes and +interfaces. Sealed classes and interfaces restrict which other classes +or interfaces may extend or implement them. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 15 & 16 and became final in OpenJDK 17. + +Restore Always-Strict Floating-Point Semantics +============================================== +https://openjdk.java.net/jeps/306 + +Make floating-point operations consistently strict, rather than have +both strict floating-point semantics (`strictfp`) and subtly different +default floating-point semantics. This will restore the original +floating-point semantics to the language and VM, matching the +semantics before the introduction of strict and default floating-point +modes in Java SE 1.2. + +Pattern Matching for switch +=========================== +https://openjdk.java.net/jeps/406 + +Enhance the Java programming language with pattern matching for +`switch` expressions and statements, along with extensions to the +language of patterns. Extending pattern matching to `switch` allows an +expression to be tested against a number of patterns, each with a +specific action, so that complex data-oriented queries can be +expressed concisely and safely. + +This is a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK +17. + +Library Features +================ + +JVM Constants API +================= +https://openjdk.java.net/jeps/334 + +Introduce an API to model nominal descriptions of key class-file and +run-time artifacts, in particular constants that are loadable from the +constant pool. + +Reimplement the Legacy Socket API +================================= +https://openjdk.java.net/jeps/353 + +Replace the underlying implementation used by the `java.net.Socket` +and `java.net.ServerSocket` APIs with a simpler and more modern +implementation that is easy to maintain and debug. The new +implementation will be easy to adapt to work with user-mode threads, +a.k.a. fibers, currently being explored in Project Loom +(https://openjdk.java.net/projects/loom). + +JFR Event Streaming +=================== +https://openjdk.java.net/jeps/349 + +Expose JDK Flight Recorder data for continuous monitoring. + +Non-Volatile Mapped Byte Buffers +================================ +https://openjdk.java.net/jeps/352 + +Add new JDK-specific file mapping modes so that the `FileChannel` API +can be used to create `MappedByteBuffer` instances that refer to +non-volatile memory. + +Helpful NullPointerExceptions +============================= +https://openjdk.java.net/jeps/358 + +Improve the usability of `NullPointerException`s generated by the JVM +by describing precisely which variable was `null`. + +Foreign-Memory Access API +========================= +https://openjdk.java.net/jeps/370 +https://openjdk.java.net/jeps/383 +https://openjdk.java.net/jeps/393 + +Introduce an API to allow Java programs to safely and efficiently +access foreign memory outside of the Java heap. + +This was a incubation feature (https://openjdk.java.net/jeps/11) in +OpenJDK 14, 15 & 16, now superseded by the Foreign Function & Memory +API in OpenJDK 17 (see below). + +Edwards-Curve Digital Signature Algorithm (EdDSA) +================================================= +https://openjdk.java.net/jeps/339 + +Implement cryptographic signatures using the Edwards-Curve Digital +Signature Algorithm (EdDSA) as described by RFC 8032 +(https://tools.ietf.org/html/rfc8032). + +Hidden Classes +============== +https://openjdk.java.net/jeps/371 + +Introduce hidden classes, which are classes that cannot be used +directly by the bytecode of other classes. Hidden classes are intended +for use by frameworks that generate classes at run time and use them +indirectly, via reflection. A hidden class may be defined as a member +of an access control nest (https://openjdk.java.net/jeps/181), and may +be unloaded independently of other classes. + +Reimplement the Legacy DatagramSocket API +========================================= +https://openjdk.java.net/jeps/373 + +Replace the underlying implementations of the +`java.net.DatagramSocket` and `java.net.MulticastSocket` APIs with +simpler and more modern implementations that are easy to maintain and +debug. The new implementations will be easy to adapt to work with +virtual threads, currently being explored in Project Loom +(https://openjdk.java.net/projects/loom). This is a follow-on to JEP +353 (see above), which already reimplemented the legacy Socket API. + +Vector API +========== +https://openjdk.java.net/jeps/338 +https://openjdk.java.net/jeps/414 + +Provide an initial iteration of an incubator module, +`jdk.incubator.vector`, to express vector computations that reliably +compile at runtime to optimal vector hardware instructions on +supported CPU architectures and thus achieve superior performance to +equivalent scalar computations. + +This is an incubation feature (https://openjdk.java.net/jeps/11) +introduced in OpenJDK 16. + +Unix-Domain Socket Channels +=========================== +https://openjdk.java.net/jeps/380 + +Add Unix-domain (`AF_UNIX`) socket support to the socket channel and +server-socket channel APIs in the `java.nio.channels` package. Extend +the inherited channel mechanism to support Unix-domain socket channels +and server socket channels. + +Foreign Linker API (Incubator) +============================== +https://openjdk.java.net/jeps/389 + +Introduce an API that offers statically-typed, pure-Java access to +native code. This API, together with the Foreign-Memory API (see +above), will considerably simplify the otherwise error-prone process +of binding to a native library. + +This was an incubation feature (https://openjdk.java.net/jeps/11) +introduced in OpenJDK 16, now superseded by the Foreign Function & +Memory API in OpenJDK 17 (see below). + +Strongly Encapsulate JDK Internals by Default +============================================= +https://openjdk.java.net/jeps/396 +https://openjdk.java.net/jeps/403 + +Strongly encapsulate all internal elements of the JDK by default, +except for critical internal APIs such as `sun.misc.Unsafe`. It will +no longer be possible to relax the strong encapsulation of internal +elements via a single command-line option, as was possible in OpenJDK +9 through 16. + +Enhanced Pseudo-Random Number Generators +======================================== +https://openjdk.java.net/jeps/356 + +Provide new interface types and implementations for pseudo-random +number generators (PRNGs), including jumpable PRNGs and an additional +class of splittable PRNG algorithms (LXM). + +Foreign Function & Memory API +============================= +https://openjdk.java.net/jeps/412 + +Introduce an API by which Java programs can interoperate with code and +data outside of the Java runtime. By efficiently invoking foreign +functions (i.e., code outside the JVM), and by safely accessing +foreign memory (i.e., memory not managed by the JVM), the API enables +Java programs to call native libraries and process native data without +the brittleness and danger of JNI. + +This API is an incubation feature (https://openjdk.java.net/jeps/11) +introduced in OpenJDK 17, and is an evolution of the Foreign Memory +Access API (OpenJDK 14 through 16) and Foreign Linker API (OpenJDK +16) (see above). + +Context-Specific Deserialization Filters +======================================== +https://openjdk.java.net/jeps/415 + +Allow applications to configure context-specific and +dynamically-selected deserialization filters via a JVM-wide filter +factory that is invoked to select a filter for each individual +deserialization operation. + +Tools +===== + +Packaging Tool +============== +https://openjdk.java.net/jeps/343 +https://openjdk.java.net/jeps/392 + +Provide the `jpackage` tool, for packaging self-contained Java +applications. + +JVM Features +============ + +Shenandoah: A Low-Pause-Time Garbage Collector +============================================== +https://openjdk.java.net/jeps/189 +https://openjdk.java.net/jeps/379 + +Add a new garbage collection (GC) algorithm named Shenandoah which +reduces GC pause times by doing evacuation work concurrently with the +running Java threads. Pause times with Shenandoah are independent of +heap size, meaning you will have the same consistent pause times +whether your heap is 200 MB or 200 GB. + +Shenandoah has been provided in Red Hat builds of OpenJDK 8 since +8u131 in April 2017 and in all 11u builds. + +Upstream, it was introduced in OpenJDK 12 as an experimental feature +and became a production feature in OpenJDK 15. It was backported to +OpenJDK 11 with the 11.0.9 release in October 2020. + +Abortable Mixed Collections for G1 +================================== +https://openjdk.java.net/jeps/344 + +Make G1 mixed collections abortable if they might exceed the pause +target. + +Promptly Return Unused Committed Memory from G1 +=============================================== +https://openjdk.java.net/jeps/346 + +Enhance the G1 garbage collector to automatically return Java heap +memory to the operating system when idle. + +Dynamic CDS Archives +==================== +https://openjdk.java.net/jeps/310 +https://openjdk.java.net/jeps/350 + +Extend application class-data sharing to allow the dynamic archiving +of classes at the end of Java application execution. The archived +classes will include all loaded application classes and library +classes that are not present in the default, base-layer CDS archive. + +ZGC: Uncommit Unused Memory (Experimental) +========================================== +https://openjdk.java.net/jeps/351 + +Enhance ZGC to return unused heap memory to the operating system. + +NUMA-Aware Memory Allocation for G1 +=================================== +https://openjdk.java.net/jeps/345 + +Improve G1 performance on large machines by implementing NUMA-aware +memory allocation. + +ZGC on macOS (Experimental) +=========================== +https://openjdk.java.net/jeps/364 + +Port the ZGC garbage collector to macOS. + +ZGC on Windows (Experimental) +============================= +https://openjdk.java.net/jeps/365 + +Port the ZGC garbage collector to Windows. + +ZGC: A Scalable Low-Latency Garbage Collector (Production) +========================================================== +https://openjdk.java.net/jeps/377 + +Change the Z Garbage Collector from an experimental feature into a +product feature. + +ZGC: Concurrent Thread-Stack Processing +======================================= +https://openjdk.java.net/jeps/376 + +Move ZGC thread-stack processing from safepoints to a concurrent +phase. + +Elastic Metaspace +================= +https://openjdk.java.net/jeps/387 + +Return unused HotSpot class-metadata (i.e., metaspace) memory to the +operating system more promptly, reduce metaspace footprint, and +simplify the metaspace code in order to reduce maintenance costs. + +Ports +===== + +Alpine Linux Port +================= +https://openjdk.java.net/jeps/386 + +Port the JDK to Alpine Linux, and to other Linux distributions that +use musl as their primary C library, on both the x64 and AArch64 +architectures, + +Windows/AArch64 Port +==================== +https://openjdk.java.net/jeps/388 + +Port the JDK to Windows/AArch64. + +New macOS Rendering Pipeline +============================ +https://openjdk.java.net/jeps/382 + +Implement a Java 2D internal rendering pipeline for macOS using the +Apple Metal API as alternative to the existing pipeline, which uses +the deprecated Apple OpenGL API. + +macOS/AArch64 Port +================== +https://openjdk.java.net/jeps/391 + +Port the JDK to macOS/AArch64. + +DEPRECATIONS +============ + +Deprecate the ParallelScavenge + SerialOld GC Combination +========================================================= +https://openjdk.java.net/jeps/366 + +Deprecate the combination of the Parallel Scavenge and Serial Old +garbage collection algorithms. + +Deprecate and Disable Biased Locking +==================================== +https://openjdk.java.net/jeps/374 + +Disable biased locking by default, and deprecate all related +command-line options. + +Warnings for Value-Based Classes +================================ +https://openjdk.java.net/jeps/390 + +Designate the primitive wrapper classes as value-based and deprecate +their constructors for removal, prompting new deprecation +warnings. Provide warnings about improper attempts to synchronize on +instances of any value-based classes in the Java Platform. + +Deprecate the Applet API for Removal +==================================== +https://openjdk.java.net/jeps/398 + +Deprecate the Applet API for removal. It is essentially irrelevant +since all web-browser vendors have either removed support for Java +browser plug-ins or announced plans to do so. + +Deprecate the Security Manager for Removal +========================================== +https://openjdk.java.net/jeps/411 + +Deprecate the Security Manager for removal in a future release. The +Security Manager dates from Java 1.0. It has not been the primary +means of securing client-side Java code for many years, and it has +rarely been used to secure server-side code. To move Java forward, we +intend to deprecate the Security Manager for removal in concert with +the legacy Applet API (see above). . + +REMOVALS +======== + +Remove the Concurrent Mark Sweep (CMS) Garbage Collector +======================================================== +https://openjdk.java.net/jeps/363 + +Remove the Concurrent Mark Sweep (CMS) garbage collector. + +Remove the Pack200 Tools and API +================================ +https://openjdk.java.net/jeps/336 +https://openjdk.java.net/jeps/367 + +Remove the `pack200` and `unpack200` tools, and the `Pack200` API in +the `java.util.jar` package. These tools and API were deprecated for +removal in OpenJDK 11 with the express intent to remove them in a +future release. + +Remove the Nashorn JavaScript Engine +==================================== +https://openjdk.java.net/jeps/372 + +Remove the Nashorn JavaScript script engine and APIs, and the `jjs` +tool. The engine, the APIs, and the tool were deprecated for removal +in OpenJDK 11 with the express intent to remove them in a future +release. + +Remove the Solaris and SPARC Ports +================================== +https://openjdk.java.net/jeps/362 +https://openjdk.java.net/jeps/381 + +Remove the source code and build support for the Solaris/SPARC, +Solaris/x64, and Linux/SPARC ports. These ports were deprecated for +removal in OpenJDK 14 (JEP 362) and removed in OpenJDK 15 (JEP 381). + +Remove RMI Activation +===================== +https://openjdk.java.net/jeps/385 +https://openjdk.java.net/jeps/407 +https://docs.oracle.com/en/java/javase/14/docs/specs/rmi/activation.html + +Remove the Remote Method Invocation (RMI) Activation mechanism, while +preserving the rest of RMI. RMI Activation is an obsolete part of RMI +that has been optional since OpenJDK 8 and was deprecated in OpenJDK +15. + +Remove the Experimental AOT and JIT Compiler +============================================ +https://openjdk.java.net/jeps/410 + +Remove the experimental Java-based ahead-of-time (AOT) and +just-in-time (JIT) compiler. This compiler has seen little use since +its introduction and the effort required to maintain it is +significant. Retain the experimental Java-level JVM compiler +interface (JVMCI) so that developers can continue to use +externally-built versions of the compiler for JIT compilation. \ No newline at end of file diff --git a/SOURCES/java-17-openjdk-portable.specfile b/SOURCES/java-17-openjdk-portable.specfile index 944f9e7..b260828 100644 --- a/SOURCES/java-17-openjdk-portable.specfile +++ b/SOURCES/java-17-openjdk-portable.specfile @@ -1253,8 +1253,8 @@ function packagejdk() { miscarchive=${packagesdir}/%{miscportablearchive} # Rename directories for packaging - mv %{jdkimage} ${jdkname} - mv %{jreimage} ${jrename} + cp -r %{jdkimage} ${jdkname} + cp -r %{jreimage} ${jrename} # Release images have external debug symbols if [ "x$suffix" = "x" ] ; then @@ -1307,8 +1307,8 @@ function packagejdk() { # Revert directory renaming so testing will run # TODO: testing should run on the packaged JDK - mv ${jdkname} %{jdkimage} - mv ${jrename} %{jreimage} + rm -rf ${jdkname} %{jdkimage} + rm -rf ${jrename} %{jreimage} popd #images diff --git a/SPECS/java-17-openjdk.spec b/SPECS/java-17-openjdk.spec deleted file mode 100644 index 4cd0839..0000000 --- a/SPECS/java-17-openjdk.spec +++ /dev/null @@ -1,3475 +0,0 @@ -# RPM conditionals so as to be able to dynamically produce -# slowdebug/release builds. See: -# http://rpm.org/user_doc/conditional_builds.html -# -# Examples: -# -# Produce release, fastdebug *and* slowdebug builds on x86_64 (default): -# $ rpmbuild -ba java-17-openjdk.spec -# -# Produce only release builds (no debug builds) on x86_64: -# $ rpmbuild -ba java-17-openjdk.spec --without slowdebug --without fastdebug -# -# 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. -%bcond_without slowdebug -# Enable release builds by default on relevant arches. -%bcond_without release -# Enable static library builds by default. -%bcond_without staticlibs -# Build a fresh libjvm.so for use in a copy of the bootstrap JDK -%bcond_without fresh_libjvm -# Build with system libraries -%bcond_with system_libs - -# Workaround for stripping of debug symbols from static libraries -%if %{with staticlibs} -%define __brp_strip_static_archive %{nil} -%global include_staticlibs 1 -%else -%global include_staticlibs 0 -%endif - -# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so -%if %{with fresh_libjvm} -%global build_hotspot_first 1 -%else -%global build_hotspot_first 0 -%endif - -%if %{with system_libs} -%global system_libs 1 -%global link_type system -%global freetype_lib %{nil} -%else -%global system_libs 0 -%global link_type bundled -%global freetype_lib |libfreetype[.]so.* -%endif - -# The -g flag says to use strip -g instead of full strip on DSOs or EXEs. -# This fixes detailed NMT and other tools which need minimal debug info. -# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879 -%global _find_debuginfo_opts -g - -# With LTO flags enabled, debuginfo checks fail for some reason. Disable -# LTO for a passing build. This really needs to be looked at. -%define _lto_cflags %{nil} - -# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros -# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch -# see the difference between global and define: -# See https://github.com/rpm-software-management/rpm/issues/127 to comments at "pmatilai commented on Aug 18, 2017" -# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192) -%global debug_suffix_unquoted -slowdebug -%global fastdebug_suffix_unquoted -fastdebug -# quoted one for shell operations -%global debug_suffix "%{debug_suffix_unquoted}" -%global fastdebug_suffix "%{fastdebug_suffix_unquoted}" -%global normal_suffix "" - -%global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP. -%global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP. -%global debug_on unoptimised with full debugging on -%global fastdebug_on optimised with full debugging on -%global for_fastdebug for packages with debugging on and optimisation -%global for_debug for packages with debugging on and no optimisation - -%if %{with release} -%global include_normal_build 1 -%else -%global include_normal_build 0 -%endif - -%if %{include_normal_build} -%global normal_build %{normal_suffix} -%else -%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 -%global ppc64be ppc64 ppc64p7 -# Set of architectures which support multiple ABIs -%global multilib_arches %{power64} sparc64 x86_64 -# Set of architectures for which we build slowdebug builds -%global debug_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x -# Set of architectures for which we build fastdebug builds -%global fastdebug_arches x86_64 ppc64le aarch64 -# Set of architectures with a Just-In-Time (JIT) compiler -%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64 -# Set of architectures which use the Zero assembler port (!jit_arches) -%global zero_arches ppc s390 -# Set of architectures which run a full bootstrap cycle -%global bootstrap_arches %{jit_arches} -# Set of architectures which support SystemTap tapsets -%global systemtap_arches %{jit_arches} -# Set of architectures with a Ahead-Of-Time (AOT) compiler -%global aot_arches x86_64 %{aarch64} -# Set of architectures which support the serviceability agent -%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm} -# Set of architectures which support class data sharing -# See https://bugzilla.redhat.com/show_bug.cgi?id=513605 -# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT -%global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x -# Set of architectures for which we build the Shenandoah garbage collector -%global shenandoah_arches x86_64 %{aarch64} -# Set of architectures for which we build the Z garbage collector -%global zgc_arches x86_64 -# Set of architectures for which alt-java has SSB mitigation -%global ssbd_arches x86_64 -# Set of architectures for which java has short vector math library (libjsvml.so) -%global svml_arches x86_64 -# Set of architectures where we verify backtraces with gdb -%global gdb_arches %{jit_arches} %{zero_arches} - -# By default, we build a debug build during main build on JIT architectures -%if %{with slowdebug} -%ifarch %{debug_arches} -%global include_debug_build 1 -%else -%global include_debug_build 0 -%endif -%else -%global include_debug_build 0 -%endif - -# On certain architectures, we compile the Shenandoah GC -%ifarch %{shenandoah_arches} -%global use_shenandoah_hotspot 1 -%else -%global use_shenandoah_hotspot 0 -%endif - -# By default, we build a fastdebug build during main build only on fastdebug architectures -%if %{with fastdebug} -%ifarch %{fastdebug_arches} -%global include_fastdebug_build 1 -%else -%global include_fastdebug_build 0 -%endif -%else -%global include_fastdebug_build 0 -%endif - -%if %{include_debug_build} -%global slowdebug_build %{debug_suffix} -%else -%global slowdebug_build %{nil} -%endif - -%if %{include_fastdebug_build} -%global fastdebug_build %{fastdebug_suffix} -%else -%global fastdebug_build %{nil} -%endif - -# If you disable all builds, then the build fails -# Build and test slowdebug first as it provides the best diagnostics -%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build} - -%if 0%{?flatpak} -%global bootstrap_build false -%else -%ifarch %{bootstrap_arches} -%global bootstrap_build true -%else -%global bootstrap_build false -%endif -%endif - -%if %{include_staticlibs} -# Extra target for producing the static-libraries. Separate from -# other targets since this target is configured to use in-tree -# AWT dependencies: lcms, libjpeg, libpng, libharfbuzz, giflib -# and possibly others -%global static_libs_target static-libs-image -%else -%global static_libs_target %{nil} -%endif - -# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM -%global debug_symbols internal - -# unlike portables,the rpms have to use static_libs_target very dynamically -%global bootstrap_targets images -%global release_targets images docs-zip -# No docs nor bootcycle for debug builds -%global debug_targets images -# Target to use to just build HotSpot -%global hotspot_target hotspot - -# JDK to use for bootstrapping -%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk - -# debugedit tool for rewriting ELF file paths -%global debugedit %{_rpmconfigdir}/debugedit - -# 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) -# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings -# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++ -%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||') -%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||') -%global ourldflags %{__global_ldflags} - -# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path -# the initialization must be here. Later the pkg-config have buggy behavior -# looks like openjdk RPM specific bug -# Always set this so the nss.cfg file is not broken -%global NSS_LIBDIR %(pkg-config --variable=libdir nss) - -# In some cases, the arch used by the JDK does -# not match _arch. -# Also, in some cases, the machine name used by SystemTap -# does not match that given by _target_cpu -%ifarch x86_64 -%global archinstall amd64 -%global stapinstall x86_64 -%endif -%ifarch ppc -%global archinstall ppc -%global stapinstall powerpc -%endif -%ifarch %{ppc64be} -%global archinstall ppc64 -%global stapinstall powerpc -%endif -%ifarch %{ppc64le} -%global archinstall ppc64le -%global stapinstall powerpc -%endif -%ifarch %{ix86} -%global archinstall i686 -%global stapinstall i386 -%endif -%ifarch ia64 -%global archinstall ia64 -%global stapinstall ia64 -%endif -%ifarch s390 -%global archinstall s390 -%global stapinstall s390 -%endif -%ifarch s390x -%global archinstall s390x -%global stapinstall s390 -%endif -%ifarch %{arm} -%global archinstall arm -%global stapinstall arm -%endif -%ifarch %{aarch64} -%global archinstall aarch64 -%global stapinstall arm64 -%endif -# 32 bit sparc, optimized for v9 -%ifarch sparcv9 -%global archinstall sparc -%global stapinstall %{_target_cpu} -%endif -# 64 bit sparc -%ifarch sparc64 -%global archinstall sparcv9 -%global stapinstall %{_target_cpu} -%endif -# Need to support noarch for srpm build -%ifarch noarch -%global archinstall %{nil} -%global stapinstall %{nil} -%endif - -%ifarch %{systemtap_arches} -%global with_systemtap 1 -%else -%global with_systemtap 0 -%endif - -# New Version-String scheme-style defines -%global featurever 17 -%global interimver 0 -%global updatever 7 -%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 17 -# 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} - %global lts_designator "LTS" - %global lts_designator_zip -%{lts_designator} -%else - %global lts_designator "" - %global lts_designator_zip "" -%endif - -# 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 -# 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=%{name}&version=epel%{epel} -%else -%if 0%{?fedora} -# Does not work for rawhide, keeps the version field empty -%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora} -%else -%if 0%{?rhel} -%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name} -%else -%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi -%endif -%endif -%endif -%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 bf363eecce3 - -# Standard JPackage naming and versioning defines -%global origin openjdk -%global origin_nice OpenJDK -%global top_level_dir_name %{origin} -%global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 7 -%global rpmrelease 3 -# Settings used by the portable build -%global portablerelease 2 -%global portablesuffix el8 -%global portablebuilddir /builddir/build/BUILD - -# 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 -%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}} - -# 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 "" -%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 -# output dir stub -%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:%{fullversion}.%{_arch}%{?1}} -# main id and dir of this jdk -%define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}} - -################################################################# -# 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 - - -%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 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 - -%global family %{name}.%{_arch} -%global family_noarch %{name} - -%if %{with_systemtap} -# Where to install systemtap tapset (links) -# We would like these to be in a package specific sub-dir, -# but currently systemtap doesn't support that, so we have to -# use the root tapset dir for now. To distinguish between 64 -# and 32 bit architectures we place the tapsets under the arch -# specific dir (note that systemtap will only pickup the tapset -# for the primary arch for now). Systemtap uses the machine name -# aka target_cpu as architecture specific directory name. -%global tapsetroot /usr/share/systemtap -%global tapsetdirttapset %{tapsetroot}/tapset/ -%global tapsetdir %{tapsetdirttapset}/%{stapinstall} -%endif - -# not-duplicated scriptlets for normal/debug packages -%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - -%define save_alternatives() %{expand: - # warning! alternatives are localised! - # LANG=cs_CZ.UTF-8 alternatives --display java | head - # LANG=en_US.UTF-8 alternatives --display java | head - function nonLocalisedAlternativesDisplayOfMaster() { - LANG=en_US.UTF-8 alternatives --display "$MASTER" - } - function headOfAbove() { - nonLocalisedAlternativesDisplayOfMaster | head -n $1 - } - MASTER="%{?1}" - LOCAL_LINK="%{?2}" - FAMILY="%{?3}" - rm -f %{_localstatedir}/lib/rpm-state/"$MASTER"_$FAMILY > /dev/null - if nonLocalisedAlternativesDisplayOfMaster > /dev/null ; then - if headOfAbove 1 | grep -q manual ; then - if headOfAbove 2 | tail -n 1 | grep -q %{compatiblename} ; then - headOfAbove 2 > %{_localstatedir}/lib/rpm-state/"$MASTER"_"$FAMILY" - fi - fi - fi -} - -%define save_and_remove_alternatives() %{expand: - if [ "x$debug" == "xtrue" ] ; then - set -x - fi - upgrade1_uninstal0=%{?3} - if [ "0$upgrade1_uninstal0" -gt 0 ] ; then # removal of this condition will cause persistence between uninstall - %{save_alternatives %{?1} %{?2} %{?4}} - fi - alternatives --remove "%{?1}" "%{?2}" -} - -%define set_if_needed_alternatives() %{expand: - MASTER="%{?1}" - FAMILY="%{?2}" - ALTERNATIVES_FILE="%{_localstatedir}/lib/rpm-state/$MASTER"_"$FAMILY" - if [ -e "$ALTERNATIVES_FILE" ] ; then - rm "$ALTERNATIVES_FILE" - alternatives --set $MASTER $FAMILY - fi -} - - -%define post_script() %{expand: -update-desktop-database %{_datadir}/applications &> /dev/null || : -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : -exit 0 -} - -%define alternatives_java_install() %{expand: -if [ "x$debug" == "xtrue" ] ; then - set -x -fi -PRIORITY=%{priority} -if [ "%{?1}" == %{debug_suffix} ]; then - let PRIORITY=PRIORITY-1 -fi - -ext=.gz -key=java -alternatives \\ - --install %{_bindir}/java $key %{jrebindir -- %{?1}}/java $PRIORITY --family %{family} \\ - --slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\ - --slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\ - --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\ - --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\ - --slave %{_mandir}/man1/java.1$ext java.1$ext \\ - %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \\ - %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\ - %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\ - %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext - -%{set_if_needed_alternatives $key %{family}} - -for X in %{origin} %{javaver} ; do - key=jre_"$X" - alternatives --install %{_jvmdir}/jre-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family} - %{set_if_needed_alternatives $key %{family}} -done - -key=jre_%{javaver}_%{origin} -alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} $key %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY --family %{family} -%{set_if_needed_alternatives $key %{family}} -} - -%define post_headless() %{expand: -%ifarch %{share_arches} -%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null -%endif - -update-desktop-database %{_datadir}/applications &> /dev/null || : -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -# see pretrans where this file is declared -# also see that pretrans is only for non-debug -if [ ! "%{?1}" == %{debug_suffix} ]; then - if [ -f %{_libexecdir}/copy_jdk_configs_fixFiles.sh ] ; then - sh %{_libexecdir}/copy_jdk_configs_fixFiles.sh %{rpm_state_dir}/%{name}.%{_arch} %{_jvmdir}/%{sdkdir -- %{?1}} - fi -fi - -exit 0 -} - -%define postun_script() %{expand: -update-desktop-database %{_datadir}/applications &> /dev/null || : -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - %{update_desktop_icons} -fi -exit 0 -} - - -%define postun_headless() %{expand: - if [ "x$debug" == "xtrue" ] ; then - set -x - fi - post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax - %{save_and_remove_alternatives java %{jrebindir -- %{?1}}/java $post_state %{family}} - %{save_and_remove_alternatives jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}} - %{save_and_remove_alternatives jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}} - %{save_and_remove_alternatives jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $post_state %{family}} -} - -%define posttrans_script() %{expand: -%{update_desktop_icons} -} - - -%define alternatives_javac_install() %{expand: -if [ "x$debug" == "xtrue" ] ; then - set -x -fi -PRIORITY=%{priority} -if [ "%{?1}" == %{debug_suffix} ]; then - let PRIORITY=PRIORITY-1 -fi - -ext=.gz -key=javac -alternatives \\ - --install %{_bindir}/javac $key %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{family} \\ - --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 \\ - --slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\ - --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\ - --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\ - --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\ - --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\ - --slave %{_bindir}/jdeprscan jdeprscan %{sdkbindir -- %{?1}}/jdeprscan \\ - --slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\ - --slave %{_bindir}/jimage jimage %{sdkbindir -- %{?1}}/jimage \\ - --slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\ - --slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\ - --slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\ - --slave %{_bindir}/jpackage jpackage %{sdkbindir -- %{?1}}/jpackage \\ - --slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\ - --slave %{_bindir}/jshell jshell %{sdkbindir -- %{?1}}/jshell \\ - --slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\ - --slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\ - --slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\ - --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\ - --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\ - %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\ - %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\ - %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\ - %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\ - %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\ - %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\ - %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\ - %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\ - %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\ - %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\ - %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\ - %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jpackage.1$ext jpackage.1$ext \\ - %{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\ - %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\ - %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\ - %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\ - %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\ - --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\ - %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext - -%{set_if_needed_alternatives $key %{family}} - -for X in %{origin} %{javaver} ; do - key=java_sdk_"$X" - alternatives --install %{_jvmdir}/java-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family} - %{set_if_needed_alternatives $key %{family}} -done - -key=java_sdk_%{javaver}_%{origin} -alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family} -%{set_if_needed_alternatives $key %{family}} -} - -%define post_devel() %{expand: -update-desktop-database %{_datadir}/applications &> /dev/null || : -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -exit 0 -} - -%define postun_devel() %{expand: - if [ "x$debug" == "xtrue" ] ; then - set -x - fi - post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax - %{save_and_remove_alternatives javac %{sdkbindir -- %{?1}}/javac $post_state %{family}} - %{save_and_remove_alternatives java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}} - %{save_and_remove_alternatives java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}} - %{save_and_remove_alternatives java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}} - -update-desktop-database %{_datadir}/applications &> /dev/null || : - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - %{update_desktop_icons} -fi -exit 0 -} - -%define posttrans_devel() %{expand: -%{alternatives_javac_install -- %{?1}} -%{update_desktop_icons} -} - -%define alternatives_javadoc_install() %{expand: -if [ "x$debug" == "xtrue" ] ; then - set -x -fi -PRIORITY=%{priority} -if [ "%{?1}" == %{debug_suffix} ]; then - let PRIORITY=PRIORITY-1 -fi - -key=javadocdir -alternatives --install %{_javadocdir}/java $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY --family %{family_noarch} -%{set_if_needed_alternatives $key %{family_noarch}} -exit 0 -} - -%define postun_javadoc() %{expand: -if [ "x$debug" == "xtrue" ] ; then - set -x -fi - post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax - %{save_and_remove_alternatives javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}} -exit 0 -} - -%define alternatives_javadoczip_install() %{expand: -if [ "x$debug" == "xtrue" ] ; then - set -x -fi -PRIORITY=%{priority} -if [ "%{?1}" == %{debug_suffix} ]; then - let PRIORITY=PRIORITY-1 -fi -key=javadoczip -alternatives --install %{_javadocdir}/java-zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY --family %{family_noarch} -%{set_if_needed_alternatives $key %{family_noarch}} -exit 0 -} - -%define postun_javadoc_zip() %{expand: - if [ "x$debug" == "xtrue" ] ; then - set -x - fi - post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax - %{save_and_remove_alternatives javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}} -exit 0 -} - -%define files_jre() %{expand: -%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsplashscreen.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_xawt.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjawt.so -} - - -%define files_jre_headless() %{expand: -%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal -%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS -%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/README.md -%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/java-%{featurever}-openjdk-portable.specfile -%dir %{_sysconfdir}/.java/.systemPrefs -%dir %{_sysconfdir}/.java -%dir %{_jvmdir}/%{sdkdir -- %{?1}} -%{_jvmdir}/%{sdkdir -- %{?1}}/release -%{_jvmdir}/%{jrelnk -- %{?1}} -%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name} -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry -%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib -%ifarch %{jit_arches} -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist -%endif -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jspawnhelper -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jrt-fs.jar -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/modules -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfont.properties.ja -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfontj2d.properties -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjli.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jvm.cfg -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libattach.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so -%if ! %{system_libs} -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfreetype.so -%endif -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjavajpeg.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjdwp.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsound.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/liblcms.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_agent.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_ext.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmlib_image.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so -# Some architectures don't have the serviceability agent -%ifarch %{sa_arches} -%ifnarch %{zero_arches} -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so -%endif -%endif -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsystemconf.so -%ifarch %{svml_arches} -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsvml.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 -%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1* -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/ -%ifarch %{share_arches} -%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa -%endif -%dir %{etcjavasubdir} -%dir %{etcjavadir -- %{?1}} -%dir %{etcjavadir -- %{?1}}/lib -%dir %{etcjavadir -- %{?1}}/lib/security -%{etcjavadir -- %{?1}}/lib/security/cacerts -%dir %{etcjavadir -- %{?1}}/conf -%dir %{etcjavadir -- %{?1}}/conf/sdp -%dir %{etcjavadir -- %{?1}}/conf/management -%dir %{etcjavadir -- %{?1}}/conf/security -%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 -%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy -%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_US_export.policy -%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/logging.properties -%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg -%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.fips.cfg -%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access -# This is a config template, thus not config-noreplace -%config %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template -%config %{etcjavadir -- %{?1}}/conf/sdp/sdp.conf.template -%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties -%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties -%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties -%{_jvmdir}/%{sdkdir -- %{?1}}/conf -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/security -%if %is_system_jdk -%if %{is_release_build -- %{?1}} -%ghost %{_bindir}/java -%ghost %{_bindir}/%{alt_java_name} -%ghost %{_jvmdir}/jre -%ghost %{_bindir}/keytool -%ghost %{_bindir}/pack200 -%ghost %{_bindir}/rmid -%ghost %{_bindir}/rmiregistry -%ghost %{_bindir}/unpack200 -%ghost %{_jvmdir}/jre-%{origin} -%ghost %{_jvmdir}/jre-%{javaver} -%ghost %{_jvmdir}/jre-%{javaver}-%{origin} -%endif -%endif -# https://bugzilla.redhat.com/show_bug.cgi?id=1820172 -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/ -%ghost %{_jvmdir}/%{sdkdir -- %{?1}}/conf.rpmmoved -%ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/security.rpmmoved -} - -%define files_devel() %{expand: -%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage -# Some architectures don't have the serviceability agent -%ifarch %{sa_arches} -%ifnarch %{zero_arches} -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb -%{_mandir}/man1/jhsdb-%{uniquesuffix -- %{?1}}.1* -%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/jps -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jpackage -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jshell -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd -%{_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 -%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jdeprscan-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jlink-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jmod-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jshell-%{uniquesuffix -- %{?1}}.1* -%{_mandir}/man1/jfr-%{uniquesuffix -- %{?1}}.1* - -%if %{with_systemtap} -%dir %{tapsetroot} -%dir %{tapsetdirttapset} -%dir %{tapsetdir} -%{tapsetdir}/*%{_arch}%{?1}.stp -%endif -%if %is_system_jdk -%if %{is_release_build -- %{?1}} -%ghost %{_bindir}/javac -%ghost %{_jvmdir}/java -%ghost %{_jvmdir}/%{alt_java_name} -%ghost %{_bindir}/jlink -%ghost %{_bindir}/jmod -%ghost %{_bindir}/jhsdb -%ghost %{_bindir}/jar -%ghost %{_bindir}/jarsigner -%ghost %{_bindir}/javadoc -%ghost %{_bindir}/javap -%ghost %{_bindir}/jcmd -%ghost %{_bindir}/jconsole -%ghost %{_bindir}/jdb -%ghost %{_bindir}/jdeps -%ghost %{_bindir}/jdeprscan -%ghost %{_bindir}/jimage -%ghost %{_bindir}/jinfo -%ghost %{_bindir}/jmap -%ghost %{_bindir}/jps -%ghost %{_bindir}/jrunscript -%ghost %{_bindir}/jshell -%ghost %{_bindir}/jstack -%ghost %{_bindir}/jstat -%ghost %{_bindir}/jstatd -%ghost %{_bindir}/serialver -%ghost %{_jvmdir}/java-%{origin} -%ghost %{_jvmdir}/java-%{javaver} -%ghost %{_jvmdir}/java-%{javaver}-%{origin} -%endif -%endif -} - -%define files_jmods() %{expand: -%{_jvmdir}/%{sdkdir -- %{?1}}/jmods -} - -%define files_demo() %{expand: -%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal -%{_jvmdir}/%{sdkdir -- %{?1}}/demo -%{_jvmdir}/%{sdkdir -- %{?1}}/sample -} - -%define files_src() %{expand: -%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/src.zip -} - -%define files_static_libs() %{expand: -%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static -%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall} -%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc/lib*.a -} - -%define files_javadoc() %{expand: -%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}} -%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal -%if %is_system_jdk -%if %{is_release_build -- %{?1}} -%ghost %{_javadocdir}/java -%endif -%endif -} - -%define files_javadoc_zip() %{expand: -%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip -%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal -%if %is_system_jdk -%if %{is_release_build -- %{?1}} -%ghost %{_javadocdir}/java-zip -%endif -%endif -} - -# x86 is not supported by OpenJDK 17 -ExcludeArch: %{ix86} - -# not-duplicated requires/provides/obsoletes for normal/debug packages -%define java_rpo() %{expand: -Requires: fontconfig%{?_isa} -Requires: xorg-x11-fonts-Type1 -# Require libXcomposite explicitly since it's only dynamically loaded -# at runtime. Fixes screenshot issues. See JDK-8150954. -Requires: libXcomposite%{?_isa} -# Requires rest of java -Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} -OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} -# for java-X-openjdk package's desktop binding -# Where recommendations are available, recommend Gtk+ for the Swing look and feel -%if 0%{?rhel} >= 8 || 0%{?fedora} > 0 -Recommends: gtk3%{?_isa} -%endif - -Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release} - -# Standard JPackage base provides -Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release} -Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release} -%if %is_system_jdk -Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release} -Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release} -Provides: java%{?1} = %{epoch}:%{version}-%{release} -Provides: jre%{?1} = %{epoch}:%{version}-%{release} -%endif -} - -%define java_headless_rpo() %{expand: -# Require /etc/pki/java/cacerts -Requires: ca-certificates -# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros -Requires: javapackages-filesystem -# Require zone-info data provided by tzdata-java sub-package -# 2022g required as of JDK-8297804 -Requires: tzdata-java >= 2022g -# for support of kernel stream control -# libsctp.so.1 is being `dlopen`ed on demand -Requires: lksctp-tools%{?_isa} -%if ! 0%{?flatpak} -# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it, -# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be -# considered as regression -Requires: copy-jdk-configs >= 3.3 -OrderWithRequires: copy-jdk-configs -%endif -# for printing support -Requires: cups-libs -# for system security properties -Requires: crypto-policies -# for FIPS PKCS11 provider -Requires: nss -# Post requires alternatives to install tool alternatives -Requires(post): %{alternatives_requires} -# Postun requires alternatives to uninstall tool alternatives -Requires(postun): %{alternatives_requires} -# Where suggestions are available, recommend the sctp and pcsc libraries -# for optional support of kernel stream control and card reader -%if 0%{?rhel} >= 8 || 0%{?fedora} > 0 -Suggests: lksctp-tools%{?_isa}, pcsc-lite-libs%{?_isa} -%endif - -# Standard JPackage base provides -Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release} -Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release} -%if %is_system_jdk -Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release} -Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release} -Provides: jre-headless%{?1} = %{epoch}:%{version}-%{release} -Provides: java-headless%{?1} = %{epoch}:%{version}-%{release} -%endif -} - -%define java_devel_rpo() %{expand: -# Requires base package -Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release} -OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} -# Post requires alternatives to install tool alternatives -Requires(post): %{alternatives_requires} -# Postun requires alternatives to uninstall tool alternatives -Requires(postun): %{alternatives_requires} - -# Standard JPackage devel provides -Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release} -Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}-%{release} -%if %is_system_jdk -Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}-%{release} -Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release} -Provides: java-devel%{?1} = %{epoch}:%{version}-%{release} -Provides: java-sdk%{?1} = %{epoch}:%{version}-%{release} -%endif -} - -%define java_static_libs_rpo() %{expand: -Requires: %{name}-devel%{?1}%{?_isa} = %{epoch}:%{version}-%{release} -OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} -} - -%define java_jmods_rpo() %{expand: -# Requires devel package -# as jmods are bytecode, they should be OK without any _isa -Requires: %{name}-devel%{?1} = %{epoch}:%{version}-%{release} -OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release} - -Provides: java-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release} -%if %is_system_jdk -Provides: java-jmods%{?1} = %{epoch}:%{version}-%{release} -%endif -} - -%define java_demo_rpo() %{expand: -Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release} -OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} - -Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release} -%if %is_system_jdk -Provides: java-demo%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release} -%endif -} - -%define java_javadoc_rpo() %{expand: -OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} -# Post requires alternatives to install javadoc alternative -Requires(post): %{alternatives_requires} -# Postun requires alternatives to uninstall javadoc alternative -Requires(postun): %{alternatives_requires} - -# Standard JPackage javadoc provides -Provides: java-%{javaver}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}-%{origin}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release} -%if %is_system_jdk -Provides: java-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release} -%endif -} - -%define java_src_rpo() %{expand: -Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} - -# Standard JPackage sources provides -Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release} -%if %is_system_jdk -Provides: java-src%{?1} = %{epoch}:%{version}-%{release} -Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release} -%endif -} - -# Prevent brp-java-repack-jars from being run -%global __jar_repack 0 - -Name: java-%{javaver}-%{origin} -Version: %{newjavaver}.%{buildver} -Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist} -# 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 -# 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 -License: 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 -URL: http://openjdk.java.net/ - - -# The source tarball, generated using generate_source_tarball.sh -Source0: openjdk-jdk%{featurever}u-%{vcstag}.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. -Source8: tapsets-icedtea-%{icedteaver}.tar.xz - -# Desktop files. Adapted from IcedTea -Source9: jconsole.desktop.in - -# nss configuration file -Source11: nss.cfg.in - -# Removed libraries that we link instead -Source12: remove-intree-libraries.sh - -# Ensure we aren't using the limited crypto policy -Source13: TestCryptoLevel.java - -# Ensure ECDSA is working -Source14: TestECDSA.java - -# Verify system crypto (policy) can be disabled via a property -Source15: TestSecurityProperties.java - -# Ensure vendor settings are correct -Source16: CheckVendor.java - -# Ensure translations are available for new timezones -Source18: TestTranslations.java - -# Include portable spec and instructions on how to rebuild -Source19: README.md -Source20: java-%{featurever}-openjdk-portable.specfile - -# Setup variables to reference correct sources -%global releasezip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.unstripped.jdk.%{_arch}.tar.xz -%global staticlibzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.static-libs.%{_arch}.tar.xz -%global docszip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.docs.%{_arch}.tar.xz -%global misczip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.misc.%{_arch}.tar.xz -%global slowdebugzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.slowdebug.jdk.%{_arch}.tar.xz -%global slowdebugstaticlibzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.slowdebug.static-libs.%{_arch}.tar.xz -%global fastdebugzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.fastdebug.jdk.%{_arch}.tar.xz -%global fastdebugstaticlibzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.fastdebug.static-libs.%{_arch}.tar.xz - -############################################ -# -# RPM/distribution specific patches -# -############################################ - -# NSS via SunPKCS11 Provider (disabled comment -# due to memory leak). -Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch -# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639) -Patch600: rh1750419-redhat_alt_java.patch - -# Ignore AWTError when assistive technologies are loaded -Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch -# Restrict access to java-atk-wrapper classes -Patch2: rh1648644-java_access_bridge_privileged_security.patch -Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch -# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo -Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch - -# Crypto policy and FIPS support patches -# Patch is generated from the fips-17u tree at https://github.com/rh-openjdk/jdk/tree/fips-17u -# as follows: git diff %%{vcstag} src make test > fips-17u-$(git show -s --format=%h HEAD).patch -# Diff is limited to src and make subdirectories to exclude .github changes -# Fixes currently included: -# PR3183, RH1340845: Follow system wide crypto policy -# PR3695: Allow use of system crypto policy to be disabled by the user -# RH1655466: Support RHEL FIPS mode using SunPKCS11 provider -# RH1818909: No ciphersuites availale for SSLSocket in FIPS mode -# RH1860986: Disable TLSv1.3 with the NSS-FIPS provider until PKCS#11 v3.0 support is available -# RH1915071: Always initialise JavaSecuritySystemConfiguratorAccess -# RH1929465: Improve system FIPS detection -# RH1995150: Disable non-FIPS crypto in SUN and SunEC security providers -# RH1996182: Login to the NSS software token in FIPS mode -# RH1991003: Allow plain key import unless com.redhat.fips.plainKeySupport is set to false -# RH2021263: Resolve outstanding FIPS issues -# RH2052819: Fix FIPS reliance on crypto policies -# RH2052829: Detect NSS at Runtime for FIPS detection -# RH2052070: Enable AlgorithmParameters and AlgorithmParameterGenerator services in FIPS mode -# RH2023467: Enable FIPS keys export -# RH2094027: SunEC runtime permission for FIPS -# RH2036462: sun.security.pkcs11.wrapper.PKCS11.getInstance breakage -# RH2090378: Revert to disabling system security properties and FIPS mode support together -# RH2104724: Avoid import/export of DH private keys -# RH2092507: P11Key.getEncoded does not work for DH keys in FIPS mode -# Build the systemconf library on all platforms -# RH2048582: Support PKCS#12 keystores -# RH2020290: Support TLS 1.3 in FIPS mode -# Add nss.fips.cfg support to OpenJDK tree -# RH2117972: Extend the support for NSS DBs (PKCS11) in FIPS mode -# Remove forgotten dead code from RH2020290 and RH2104724 -# OJ1357: Fix issue on FIPS with a SecurityManager in place -# RH2134669: Add missing attributes when registering services in FIPS mode. -# test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class -# RH1940064: Enable XML Signature provider in FIPS mode -# RH2173781: Avoid calling C_GetInfo() too early, before cryptoki is initialized -Patch1001: fips-17u-%{fipsver}.patch - -############################################# -# -# OpenJDK patches in need of upstreaming -# -############################################# - -############################################# -# -# OpenJDK patches appearing in 17.0.8 -# -############################################# -# JDK-8274864: Remove Amman/Cairo hacks in ZoneInfoFile -Patch2001: jdk8274864-remove_amman_cairo_hacks.patch -# JDK-8305113: (tz) Update Timezone Data to 2023c -Patch2002: jdk8305113-tzdata2023c.patch - -############################################# -# -# Portable build specific patches -# -############################################# - -############################################# -# -# OpenJDK patches targetted for 17.0.6 -# -############################################# - -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: alsa-lib-devel -BuildRequires: binutils -BuildRequires: cups-devel -BuildRequires: desktop-file-utils -# elfutils only are OK for build without AOT -BuildRequires: elfutils-devel -BuildRequires: fontconfig-devel -BuildRequires: gcc-c++ -BuildRequires: gdb -BuildRequires: libxslt -BuildRequires: libX11-devel -BuildRequires: libXi-devel -BuildRequires: libXinerama-devel -BuildRequires: libXrandr-devel -BuildRequires: libXrender-devel -BuildRequires: libXt-devel -BuildRequires: libXtst-devel -# Requirement for setting up nss.cfg and nss.fips.cfg -BuildRequires: nss-devel -# Requirement for system security property test -BuildRequires: crypto-policies -BuildRequires: pkgconfig -BuildRequires: xorg-x11-proto-devel -BuildRequires: zip -BuildRequires: javapackages-filesystem -%if %{include_normal_build} -BuildRequires: java-%{featurever}-openjdk-portable-unstripped = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} -BuildRequires: java-%{featurever}-openjdk-portable-static-libs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} -%endif -%if %{include_fastdebug_build} -BuildRequires: java-%{featurever}-openjdk-portable-devel-fastdebug = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} -BuildRequires: java-%{featurever}-openjdk-portable-static-libs-fastdebug = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} -%endif -%if %{include_debug_build} -BuildRequires: java-%{featurever}-openjdk-portable-devel-slowdebug = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} -BuildRequires: java-%{featurever}-openjdk-portable-static-libs-slowdebug = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} -%endif -BuildRequires: java-%{featurever}-openjdk-portable-docs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} -BuildRequires: java-%{featurever}-openjdk-portable-misc = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} -# Zero-assembler build requirement -%ifarch %{zero_arches} -BuildRequires: libffi-devel -%endif -# 2023c required as of JDK-8305113 -BuildRequires: tzdata-java >= 2023c -# Earlier versions have a bug in tree vectorization on PPC -BuildRequires: gcc >= 4.8.3-8 - -%if %{with_systemtap} -BuildRequires: systemtap-sdt-devel -%endif -BuildRequires: make - -%if %{system_libs} -BuildRequires: freetype-devel -BuildRequires: giflib-devel -BuildRequires: harfbuzz-devel -BuildRequires: lcms2-devel -BuildRequires: libjpeg-devel -BuildRequires: libpng-devel -%else -# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h -Provides: bundled(freetype) = 2.12.1 -# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h -Provides: bundled(giflib) = 5.2.1 -# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h -Provides: bundled(harfbuzz) = 4.4.1 -# Version in src/java.desktop/share/native/liblcms/lcms2.h -Provides: bundled(lcms2) = 2.12.0 -# 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.37 -%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} %{featurever} runtime environment. - -%if %{include_debug_build} -%package slowdebug -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} %{featurever} runtime environment. -%{debug_warning} -%endif - -%if %{include_fastdebug_build} -%package fastdebug -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} %{featurever} runtime environment. -%{fastdebug_warning} -%endif - -%if %{include_normal_build} -%package headless -Summary: %{origin_nice} %{featurever} Headless Runtime Environment -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_headless_rpo %{nil}} - -%description headless -The %{origin_nice} %{featurever} runtime environment without audio and video support. -%endif - -%if %{include_debug_build} -%package headless-slowdebug -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_headless_rpo -- %{debug_suffix_unquoted}} - -%description headless-slowdebug -The %{origin_nice} %{featurever} runtime environment without audio and video support. -%{debug_warning} -%endif - -%if %{include_fastdebug_build} -%package headless-fastdebug -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_headless_rpo -- %{fastdebug_suffix_unquoted}} - -%description headless-fastdebug -The %{origin_nice} %{featurever} runtime environment without audio and video support. -%{fastdebug_warning} -%endif - -%if %{include_normal_build} -%package devel -Summary: %{origin_nice} %{featurever} Development Environment -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_devel_rpo %{nil}} - -%description devel -The %{origin_nice} %{featurever} development tools. -%endif - -%if %{include_debug_build} -%package devel-slowdebug -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 - -%{java_devel_rpo -- %{debug_suffix_unquoted}} - -%description devel-slowdebug -The %{origin_nice} %{featurever} development tools. -%{debug_warning} -%endif - -%if %{include_fastdebug_build} -%package devel-fastdebug -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 - -%{java_devel_rpo -- %{fastdebug_suffix_unquoted}} - -%description devel-fastdebug -The %{origin_nice} %{featurever} development tools . -%{fastdebug_warning} -%endif - -%if %{include_staticlibs} - -%if %{include_normal_build} -%package static-libs -Summary: %{origin_nice} %{featurever} libraries for static linking - -%{java_static_libs_rpo %{nil}} - -%description static-libs -The %{origin_nice} %{featurever} libraries for static linking. -%endif - -%if %{include_debug_build} -%package static-libs-slowdebug -Summary: %{origin_nice} %{featurever} libraries for static linking %{debug_on} - -%{java_static_libs_rpo -- %{debug_suffix_unquoted}} - -%description static-libs-slowdebug -The %{origin_nice} %{featurever} libraries for static linking. -%{debug_warning} -%endif - -%if %{include_fastdebug_build} -%package static-libs-fastdebug -Summary: %{origin_nice} %{featurever} libraries for static linking %{fastdebug_on} - -%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}} - -%description static-libs-fastdebug -The %{origin_nice} %{featurever} libraries for static linking. -%{fastdebug_warning} -%endif - -# staticlibs -%endif - -%if %{include_normal_build} -%package jmods -Summary: JMods for %{origin_nice} %{featurever} -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_jmods_rpo %{nil}} - -%description jmods -The JMods for %{origin_nice} %{featurever}. -%endif - -%if %{include_debug_build} -%package jmods-slowdebug -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 - -%{java_jmods_rpo -- %{debug_suffix_unquoted}} - -%description jmods-slowdebug -The JMods for %{origin_nice} %{featurever}. -%{debug_warning} -%endif - -%if %{include_fastdebug_build} -%package jmods-fastdebug -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 - -%{java_jmods_rpo -- %{fastdebug_suffix_unquoted}} - -%description jmods-fastdebug -The JMods for %{origin_nice} %{featurever}. -%{fastdebug_warning} -%endif - -%if %{include_normal_build} -%package demo -Summary: %{origin_nice} %{featurever} Demos -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_demo_rpo %{nil}} - -%description demo -The %{origin_nice} %{featurever} demos. -%endif - -%if %{include_debug_build} -%package demo-slowdebug -Summary: %{origin_nice} %{featurever} Demos %{debug_on} -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_demo_rpo -- %{debug_suffix_unquoted}} - -%description demo-slowdebug -The %{origin_nice} %{featurever} demos. -%{debug_warning} -%endif - -%if %{include_fastdebug_build} -%package demo-fastdebug -Summary: %{origin_nice} %{featurever} Demos %{fastdebug_on} -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_demo_rpo -- %{fastdebug_suffix_unquoted}} - -%description demo-fastdebug -The %{origin_nice} %{featurever} demos. -%{fastdebug_warning} -%endif - -%if %{include_normal_build} -%package src -Summary: %{origin_nice} %{featurever} Source Bundle -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_src_rpo %{nil}} - -%description src -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} %{featurever} Source Bundle %{for_debug} -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_src_rpo -- %{debug_suffix_unquoted}} - -%description src-slowdebug -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} %{featurever} Source Bundle %{for_fastdebug} -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Development/Languages -%endif - -%{java_src_rpo -- %{fastdebug_suffix_unquoted}} - -%description src-fastdebug -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} %{featurever} API documentation -%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30) -Group: Documentation -%endif -Requires: javapackages-filesystem -Obsoletes: javadoc-slowdebug < 1:13.0.0.33-1.rolling - -%{java_javadoc_rpo -- %{nil} %{nil}} - -%description javadoc -The %{origin_nice} %{featurever} API documentation. -%endif - -%if %{include_normal_build} -%package javadoc-zip -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 -Requires: javapackages-filesystem -Obsoletes: javadoc-zip-slowdebug < 1:13.0.0.33-1.rolling - -%{java_javadoc_rpo -- %{nil} -zip} -%{java_javadoc_rpo -- %{nil} %{nil}} - -%description javadoc-zip -The %{origin_nice} %{featurever} API documentation compressed in a single archive. -%endif - -%prep - -echo "Preparing %{oj_vendor_version}" - -# Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-( -%if 0%{?stapinstall:1} - echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}" -%else - %{error:Unrecognised architecture %{_target_cpu}} -%endif - -if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then - echo "include_normal_build is %{include_normal_build}" -else - echo "include_normal_build is %{include_normal_build}, that is invalid. Use 1 for yes or 0 for no" - exit 11 -fi -if [ %{include_debug_build} -eq 0 -o %{include_debug_build} -eq 1 ] ; then - echo "include_debug_build is %{include_debug_build}" -else - echo "include_debug_build is %{include_debug_build}, that is invalid. Use 1 for yes or 0 for no" - exit 12 -fi -if [ %{include_fastdebug_build} -eq 0 -o %{include_fastdebug_build} -eq 1 ] ; then - echo "include_fastdebug_build is %{include_fastdebug_build}" -else - echo "include_fastdebug_build is %{include_fastdebug_build}, that is invalid. Use 1 for yes or 0 for no" - exit 13 -fi -if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{include_fastdebug_build} -eq 0 ] ; then - echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go." - exit 14 -fi -%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 -pushd %{top_level_dir_name} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch6 -p1 -# Add crypto policy and FIPS support -%patch1001 -p1 -# nss.cfg PKCS11 support; must come last as it also alters java.security -%patch1000 -p1 -# tzdata update -%patch2001 -p1 -%patch2002 -p1 -popd # openjdk - -%patch600 - -# The OpenJDK version file includes the current -# upstream version information. For some reason, -# configure does not automatically use the -# default pre-version supplied there (despite -# what the file claims), so we pass it manually -# to configure -VERSION_FILE=$(pwd)/%{top_level_dir_name}/make/conf/version-numbers.conf -if [ -f ${VERSION_FILE} ] ; then - UPSTREAM_EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2) -else - echo "Could not find OpenJDK version file."; - exit 16 -fi -if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then - echo "WARNING: Designator mismatch"; - echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'" - echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'"; - exit 17 -fi - -# Extract systemtap tapsets -%if %{with_systemtap} -tar --strip-components=1 -x -I xz -f %{SOURCE8} -%if %{include_debug_build} -cp -r tapset tapset%{debug_suffix} -%endif -%if %{include_fastdebug_build} -cp -r tapset tapset%{fastdebug_suffix} -%endif - -for suffix in %{build_loop} ; do - for file in "tapset"$suffix/*.in; do - OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"` - sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1 - sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2 -# TODO find out which architectures other than i686 have a client vm -%ifarch %{ix86} - sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE -%else - sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE -%endif - sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE - sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE - sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE - done -done -# systemtap tapsets ends -%endif - -# Prepare desktop files -# The _X_ syntax indicates variables that are replaced by make upstream -# The @X@ syntax indicates variables that are replaced by configure upstream -for suffix in %{build_loop} ; do -for file in %{SOURCE9}; do - FILE=`basename $file | sed -e s:\.in$::g` - EXT="${FILE##*.}" - NAME="${FILE%.*}" - OUTPUT_FILE=$NAME$suffix.$EXT - sed -e "s:_SDKBINDIR_:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE - sed -i -e "s:@target_cpu@:%{_arch}:g" $OUTPUT_FILE - sed -i -e "s:@OPENJDK_VER@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE - sed -i -e "s:@JAVA_VER@:%{javaver}:g" $OUTPUT_FILE - sed -i -e "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE -done -done - -# Setup nss.cfg -sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg - -%build - -function customisejdk() { - local imagepath=${1} - - if [ -d ${imagepath} ] ; then - # Turn on system security properties - sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \ - ${imagepath}/conf/security/java.security - - # Use system-wide tzdata - rm ${imagepath}/lib/tzdb.dat - ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat - fi -} - -for suffix in %{build_loop} ; do - - if [ "x$suffix" = "x" ] ; then - jdkzip=%{releasezip} - staticlibzip=%{staticlibzip} - elif [ "x$suffix" = "x%{fastdebug_suffix_unquoted}" ] ; then - jdkzip=%{fastdebugzip} - staticlibzip=%{fastdebugstaticlibzip} - else # slowdebug - jdkzip=%{slowdebugzip} - staticlibzip=%{slowdebugstaticlibzip} - fi - - installdir=%{installoutputdir -- ${suffix}} - - # TODO: should verify checksums when using packages from buildroot - tar -xJf ${jdkzip} - tar -xJf ${staticlibzip} - mkdir -p $(dirname ${installdir}) - mv java-%{featurever}-openjdk* ${installdir} - - # Fix build paths in ELF files so it looks like we built them - portablenvr="%{name}-%{VERSION}-%{portablerelease}.%{portablesuffix}.%{_arch}" - for file in $(find ${installdir} -type f) ; do - if file ${file} | grep -q 'ELF'; then - %{debugedit} -b %{portablebuilddir}/${portablenvr} -d $(pwd) -n ${file} - fi - done - - # Final setup on the main image - customisejdk ${installdir} - - # Print release information - cat ${installdir}/release - -# build cycles -done # end of release / debug cycle loop - -docdir=%{installoutputdir -- "-docs"} -tar -xJf %{docszip} -mv java-%{featurever}-openjdk*.docs.* ${docdir} - -miscdir=%{installoutputdir -- "-misc"} -tar -xJf %{misczip} -mv java-%{featurever}-openjdk*.misc.* ${miscdir} - -%check - -# We test debug first as it will give better diagnostics on a crash -for suffix in %{build_loop} ; do - -export JAVA_HOME=$(pwd)/%{installoutputdir -- ${suffix}} - -# Pre-test setup - -# Check Shenandoah is enabled -%if %{use_shenandoah_hotspot} -$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version -%endif - -# Check unlimited policy has been used -$JAVA_HOME/bin/javac -d . %{SOURCE13} -$JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLevel - -# Check ECC is working -$JAVA_HOME/bin/javac -d . %{SOURCE14} -$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||") - -# Check system crypto (policy) is active and can be disabled -# Test takes a single argument - true or false - to state whether system -# security properties are enabled or not. -$JAVA_HOME/bin/javac -d . %{SOURCE15} -export PROG=$(echo $(basename %{SOURCE15})|sed "s|\.java||") -export SEC_DEBUG="-Djava.security.debug=properties" -$JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} true -$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false - -# Check java launcher has no SSB mitigation -if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi - -# Check alt-java launcher has SSB mitigation on supported architectures -%ifarch %{ssbd_arches} -nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation -%else -if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi -%endif - -%if ! 0%{?flatpak} -# Check translations are available for new timezones (during flatpak builds, the -# tzdb.dat used by this test is not where the test expects it, so this is -# disabled for flatpak builds) -$JAVA_HOME/bin/javac -d . %{SOURCE18} -$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE -$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR -%endif - -%if %{include_staticlibs} -# Check debug symbols in static libraries (smoke test) -export STATIC_LIBS_HOME=${JAVA_HOME}/lib/static/linux-%{archinstall}/glibc -readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c -readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c -%endif - -so_suffix="so" -# Check debug symbols are present and can identify code -find "$JAVA_HOME" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib -do - if [ -f "$lib" ] ; then - echo "Testing $lib for debug symbols" - # All these tests rely on RPM failing the build if the exit code of any set - # of piped commands is non-zero. - - # Test for .debug_* sections in the shared object. This is the main test - # Stripped objects will not contain these - eu-readelf -S "$lib" | grep "] .debug_" - test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2 - - # Test FILE symbols. These will most likely be removed by anything that - # manipulates symbol tables because it's generally useless. So a nice test - # that nothing has messed with symbols - old_IFS="$IFS" - IFS=$'\n' - for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT") - do - # We expect to see .cpp files, except for architectures like aarch64 and - # s390 where we expect .o and .oS files - echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$" - done - IFS="$old_IFS" - - # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking - if [ "`basename $lib`" = "libjvm.so" ]; then - eu-readelf -s "$lib" | \ - grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$" - fi - - # Test that there are no .gnu_debuglink sections pointing to another - # debuginfo file. There shouldn't be any debuginfo files, so the link makes - # no sense either - eu-readelf -S "$lib" | grep 'gnu' - if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then - echo "bad .gnu_debuglink section." - eu-readelf -x .gnu_debuglink "$lib" - false - fi - fi -done - -# Make sure gdb can do a backtrace based on line numbers on libjvm.so -# javaCalls.cpp:58 should map to: -# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/share/vm/runtime/javaCalls.cpp#l58 -# Using line number 1 might cause build problems. See: -# https://bugzilla.redhat.com/show_bug.cgi?id=1539664 -# https://bugzilla.redhat.com/show_bug.cgi?id=1538767 -gdb -q "$JAVA_HOME/bin/java" < --- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue --- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre --- if copy-jdk-configs is in transaction, it installs in pretrans to temp --- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in transaction and so is --- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends --- whether copy-jdk-configs is installed or not. If so, then configs are copied --- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all -local posix = require "posix" - -if (os.getenv("debug") == "true") then - debug = true; - print("cjc: in spec debug is on") -else - debug = false; -end - -SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua" -SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua" - -local stat1 = posix.stat(SOURCE1, "type"); -local stat2 = posix.stat(SOURCE2, "type"); - - if (stat1 ~= nil) then - if (debug) then - print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.") - end; - package.path = package.path .. ";" .. SOURCE1 -else - if (stat2 ~= nil) then - if (debug) then - print(SOURCE2 .." exists - copy-jdk-configs already installed and NOT in transaction. Using.") - end; - package.path = package.path .. ";" .. SOURCE2 - else - if (debug) then - print(SOURCE1 .." does NOT exists") - print(SOURCE2 .." does NOT exists") - print("No config files will be copied") - end - return - end -end --- run content of included file with fake args -arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"} -require "copy_jdk_configs.lua" - -%post -%{post_script %{nil}} - -%post headless -%{post_headless %{nil}} - -%postun -%{postun_script %{nil}} - -%postun headless -%{postun_headless %{nil}} - -%posttrans -%{posttrans_script %{nil}} - -%posttrans headless -%{alternatives_java_install %{nil}} - -%post devel -%{post_devel %{nil}} - -%postun devel -%{postun_devel %{nil}} - -%posttrans devel -%{posttrans_devel %{nil}} - -%posttrans javadoc -%{alternatives_javadoc_install %{nil}} - -%postun javadoc -%{postun_javadoc %{nil}} - -%posttrans javadoc-zip -%{alternatives_javadoczip_install %{nil}} - -%postun javadoc-zip -%{postun_javadoc_zip %{nil}} -%endif - -%if %{include_debug_build} -%post slowdebug -%{post_script -- %{debug_suffix_unquoted}} - -%post headless-slowdebug -%{post_headless -- %{debug_suffix_unquoted}} - -%posttrans headless-slowdebug -%{alternatives_java_install -- %{debug_suffix_unquoted}} - -%postun slowdebug -%{postun_script -- %{debug_suffix_unquoted}} - -%postun headless-slowdebug -%{postun_headless -- %{debug_suffix_unquoted}} - -%posttrans slowdebug -%{posttrans_script -- %{debug_suffix_unquoted}} - -%post devel-slowdebug -%{post_devel -- %{debug_suffix_unquoted}} - -%postun devel-slowdebug -%{postun_devel -- %{debug_suffix_unquoted}} - -%posttrans devel-slowdebug -%{posttrans_devel -- %{debug_suffix_unquoted}} -%endif - -%if %{include_fastdebug_build} -%post fastdebug -%{post_script -- %{fastdebug_suffix_unquoted}} - -%post headless-fastdebug -%{post_headless -- %{fastdebug_suffix_unquoted}} - -%postun fastdebug -%{postun_script -- %{fastdebug_suffix_unquoted}} - -%postun headless-fastdebug -%{postun_headless -- %{fastdebug_suffix_unquoted}} - -%posttrans fastdebug -%{posttrans_script -- %{fastdebug_suffix_unquoted}} - -%posttrans headless-fastdebug -%{alternatives_java_install -- %{fastdebug_suffix_unquoted}} - -%post devel-fastdebug -%{post_devel -- %{fastdebug_suffix_unquoted}} - -%postun devel-fastdebug -%{postun_devel -- %{fastdebug_suffix_unquoted}} - -%posttrans devel-fastdebug -%{posttrans_devel -- %{fastdebug_suffix_unquoted}} - -%endif - -%if %{include_normal_build} -%files -# main package builds always -%{files_jre %{nil}} -%else -%files -# placeholder -%endif - - -%if %{include_normal_build} -%files headless -# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue -# all config/noreplace files (and more) have to be declared in pretrans. See pretrans -%{files_jre_headless %{nil}} - -%files devel -%{files_devel %{nil}} - -%if %{include_staticlibs} -%files static-libs -%{files_static_libs %{nil}} -%endif - -%files jmods -%{files_jmods %{nil}} - -%files demo -%{files_demo %{nil}} - -%files src -%{files_src %{nil}} - -%files javadoc -%{files_javadoc %{nil}} - -# This puts a huge documentation file in /usr/share -# It is now architecture-dependent, as eg. AOT and Graal are now x86_64 only -# same for debug variant -%files javadoc-zip -%{files_javadoc_zip %{nil}} -%endif - -%if %{include_debug_build} -%files slowdebug -%{files_jre -- %{debug_suffix_unquoted}} - -%files headless-slowdebug -%{files_jre_headless -- %{debug_suffix_unquoted}} - -%files devel-slowdebug -%{files_devel -- %{debug_suffix_unquoted}} - -%if %{include_staticlibs} -%files static-libs-slowdebug -%{files_static_libs -- %{debug_suffix_unquoted}} -%endif - -%files jmods-slowdebug -%{files_jmods -- %{debug_suffix_unquoted}} - -%files demo-slowdebug -%{files_demo -- %{debug_suffix_unquoted}} - -%files src-slowdebug -%{files_src -- %{debug_suffix_unquoted}} -%endif - -%if %{include_fastdebug_build} -%files fastdebug -%{files_jre -- %{fastdebug_suffix_unquoted}} - -%files headless-fastdebug -%{files_jre_headless -- %{fastdebug_suffix_unquoted}} - -%files devel-fastdebug -%{files_devel -- %{fastdebug_suffix_unquoted}} - -%if %{include_staticlibs} -%files static-libs-fastdebug -%{files_static_libs -- %{fastdebug_suffix_unquoted}} -%endif - -%files jmods-fastdebug -%{files_jmods -- %{fastdebug_suffix_unquoted}} - -%files demo-fastdebug -%{files_demo -- %{fastdebug_suffix_unquoted}} - -%files src-fastdebug -%{files_src -- %{fastdebug_suffix_unquoted}} - -%endif - -%changelog -* Wed Apr 26 2023 Andrew Hughes - 1:17.0.7.0.7-3 -- Sync portable spec file with current version -- Related: rhbz#2189330 - -* Wed Apr 26 2023 Andrew Hughes - 1:17.0.7.0.7-2 -- Update to jdk-17.0.7.0+7 -- Update release notes to 17.0.7.0+7 -- Require tzdata 2023c due to local inclusion of JDK-8274864 & JDK-8305113 -- Update generate_tarball.sh to add support for passing a boot JDK to the configure run -- Add POSIX-friendly error codes to generate_tarball.sh and fix whitespace -- Remove .jcheck and GitHub support when generating tarballs, as done in upstream release tarballs -- Update FIPS support against 17.0.7+6 and bring in latest changes: -- * RH2134669: Add missing attributes when registering services in FIPS mode. -- * test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class -- * RH1940064: Enable XML Signature provider in FIPS mode -- * RH2173781: Avoid calling C_GetInfo() too early, before cryptoki is initialized -- Fix trailing '.' in tarball name -- Use portablerelease in vendor version to avoid inclusion of dist tag -- ** This tarball is embargoed until 2023-04-18 @ 1pm PT. ** -- Resolves: rhbz#2185182 -- Resolves: rhbz#2186834 -- Resolves: rhbz#2186826 -- Resolves: rhbz#2186830 - -* Wed Apr 26 2023 Andrew Hughes - 1:17.0.6.0.10-6 -- Include the java-17-openjdk-portable.spec file with instructions on how to rebuild. -- Related: rhbz#2189330 - -* Tue Apr 25 2023 Andrew Hughes - 1:17.0.6.0.10-5 -- Replace local copies of JDK portable binaries with build dependencies -- Resolves: rhbz#2189330 - -* Wed Feb 15 2023 Andrew Hughes - 1:17.0.6.0.10-4 -- Replace build section with extraction of existing builds from portables -- Rewrite ELF files so the source file path is correct and debugsources can be assembled -- Resolves: rhbz#2150205 - -* Fri Jan 20 2023 Andrew Hughes - 1:17.0.6.0.10-3 -- Update to jdk-17.0.6.0+10 -- Update release notes to 17.0.6.0+10 -- Switch to GA mode for release -- Resolves: rhbz#2160111 - -* Fri Jan 13 2023 Andrew Hughes - 1:17.0.6.0.9-0.4.ea -- Update FIPS support to bring in latest changes -- * OJ1357: Fix issue on FIPS with a SecurityManager in place -- Related: rhbz#2117972 - -* Fri Jan 13 2023 Stephan Bergmann - 1:17.0.6.0.9-0.4.ea -- Fix flatpak builds by disabling TestTranslations test due to missing tzdb.dat -- Related: rhbz#2150195 - -* Wed Jan 04 2023 Andrew Hughes - 1:17.0.6.0.9-0.3.ea -- Update to jdk-17.0.6+9 -- Update release notes to 17.0.6+9 -- Drop local copy of JDK-8293834 now this is upstream -- Require tzdata 2022g due to inclusion of JDK-8296108, JDK-8296715 & JDK-8297804 -- Update TestTranslations.java to test the new America/Ciudad_Juarez zone -- Resolves: rhbz#2150195 - -* Sat Dec 03 2022 Andrew Hughes - 1:17.0.6.0.1-0.3.ea -- Update to jdk-17.0.6+1 -- Update release notes to 17.0.6+1 -- Switch to EA mode for 17.0.6 pre-release builds. -- Re-enable EA upstream status check now it is being actively maintained. -- Drop JDK-8294357 (tzdata2022d) & JDK-8295173 (tzdata2022e) local patches which are now upstream -- Drop JDK-8275535 local patch now this has been accepted and backported upstream -- Bump tzdata requirement to 2022e now the package is available in RHEL -- Related: rhbz#2150195 - -* Wed Nov 23 2022 Andrew Hughes - 1:17.0.5.0.8-5 -- Update FIPS support to bring in latest changes -- * Add nss.fips.cfg support to OpenJDK tree -- * RH2117972: Extend the support for NSS DBs (PKCS11) in FIPS mode -- * Remove forgotten dead code from RH2020290 and RH2104724 -- Drop local nss.fips.cfg.in handling now this is handled in the patched OpenJDK build -- Resolves: rhbz#2117972 - -* Wed Oct 26 2022 Andrew Hughes - 1:17.0.5.0.8-2 -- Update to jdk-17.0.5+8 (GA) -- Update release notes to 17.0.5+8 (GA) -- Switch to GA mode for final release. -- Update in-tree tzdata to 2022e with JDK-8294357 & JDK-8295173 -- Update CLDR data with Europe/Kyiv (JDK-8293834) -- Drop JDK-8292223 patch which we found to be unnecessary -- Update TestTranslations.java to use public API based on TimeZoneNamesTest upstream -- The stdc++lib, zlib & freetype options should always be set from the global, so they are not altered for staticlibs builds -- Remove freetype sources along with zlib sources -- Resolves: rhbz#2133695 - -* Tue Oct 04 2022 Andrew Hughes - 1:17.0.5.0.7-0.2.ea -- Update to jdk-17.0.5+7 -- Update release notes to 17.0.5+7 -- Drop JDK-8288985 patch that is now upstream -- Resolves: rhbz#2130617 - -* Mon Oct 03 2022 Andrew Hughes - 1:17.0.5.0.1-0.2.ea -- Update to jdk-17.0.5+1 -- Update release notes to 17.0.5+1 -- Switch to EA mode for 17.0.5 pre-release builds. -- Bump HarfBuzz bundled version to 4.4.1 following JDK-8289853 -- Bump FreeType bundled version to 2.12.1 following JDK-8290334 -- Related: rhbz#2130617 - -* Tue Aug 30 2022 Andrew Hughes - 1:17.0.4.1.1-6 -- Backport JDK-8288985 to enable use of ChaCha20-Poly1305 with the PKCS11 provider -- Upstream backport in progress: https://github.com/openjdk/jdk17u-dev/pull/650 -- Resolves: rhbz#2006351 - -* Tue Aug 30 2022 Andrew Hughes - 1:17.0.4.1.1-5 -- Switch to static builds, reducing system dependencies and making build more portable -- Resolves: rhbz#2121263 - -* Mon Aug 29 2022 Stephan Bergmann - 1:17.0.4.1.1-4 -- Fix flatpak builds (catering for their uncompressed manual pages) -- Fix flatpak builds by exempting them from bootstrap -- Resolves: rhbz#2102734 - -* Mon Aug 29 2022 Andrew Hughes - 1:17.0.4.1.1-3 -- Update FIPS support to bring in latest changes -- * RH2104724: Avoid import/export of DH private keys -- * RH2092507: P11Key.getEncoded does not work for DH keys in FIPS mode -- * Build the systemconf library on all platforms -- * RH2048582: Support PKCS#12 keystores -- * RH2020290: Support TLS 1.3 in FIPS mode -- Resolves: rhbz#2104724 -- Resolves: rhbz#2092507 -- Resolves: rhbz#2048582 -- Resolves: rhbz#2020290 - -* Sun Aug 21 2022 Andrew Hughes - 1:17.0.4.1.1-2 -- Update to jdk-17.0.4.1+1 -- Update release notes to 17.0.4.1+1 -- Add patch to provide translations for Europe/Kyiv added in tzdata2022b -- Add test to ensure timezones can be translated -- Resolves: rhbz#2119531 - -* Fri Jul 22 2022 Andrew Hughes - 1:17.0.4.0.8-3 -- Update to jdk-17.0.4.0+8 -- Update release notes to 17.0.4.0+8 -- Switch to GA mode for release -- Resolves: rhbz#2106522 - -* Wed Jul 20 2022 Andrew Hughes - 1:17.0.4.0.7-0.2.ea -- Revert the following changes until copy-java-configs has adapted to relative symlinks: -- * Move cacerts replacement to install section and retain original of this and tzdb.dat -- * Run tests on the installed image, rather than the build image -- * Introduce variables to refer to the static library installation directories -- * Use relative symlinks so they work within the image -- * Run debug symbols check during build stage, before the install strips them -- The move of turning on system security properties is retained so we don't ship with them off -- Related: rhbz#2100674 - -* Wed Jul 20 2022 Jiri Vanek - 1:17.0.4.0.7-0.2.ea -- retutrned absolute symlinks -- relative symlinks are breaking cjc, and deeper investigations are necessary --- why cjc intentionally skips relative symllinks -- images have to be workarounded differently -- Related: rhbz#2100674 - -* Sat Jul 16 2022 Andrew Hughes - 1:17.0.4.0.7-0.1.ea -- Update to jdk-17.0.4.0+7 -- Update release notes to 17.0.4.0+7 -- Switch to EA mode for 17.0.4 pre-release builds. -- Need to include the '.S' suffix in debuginfo checks after JDK-8284661 -- Print release file during build, which should now include a correct SOURCE value from .src-rev -- Update tarball script with IcedTea GitHub URL and .src-rev generation -- Include script to generate bug list for release notes -- Update tzdata requirement to 2022a to match JDK-8283350 -- Move EA designator check to prep so failures can be caught earlier -- Make EA designator check non-fatal while upstream is not maintaining it -- Explicitly require crypto-policies during build and runtime for system security properties -- Make use of the vendor version string to store our version & release rather than an upstream release date -- Include a test in the RPM to check the build has the correct vendor information. -- Resolves: rhbz#2083316 - -* Thu Jul 14 2022 Jayashree Huttanagoudar - 1:17.0.4.0.1-0.2.ea -- Fix issue where CheckVendor.java test erroneously passes when it should fail. -- Add proper quoting so '&' is not treated as a special character by the shell. -- Related: rhbz#2083316 - -* Fri Jul 08 2022 Andrew Hughes - 1:17.0.3.0.7-6 -- Fix whitespace in spec file -- Related: rhbz#2100674 - -* Fri Jul 08 2022 Andrew Hughes - 1:17.0.3.0.7-6 -- Sequence spec file sections as they are run by rpmbuild (build, install then test) -- Related: rhbz#2100674 - -* Fri Jul 08 2022 Andrew Hughes - 1:17.0.3.0.7-6 -- Turn on system security properties as part of the build's install section -- Move cacerts replacement to install section and retain original of this and tzdb.dat -- Run tests on the installed image, rather than the build image -- Introduce variables to refer to the static library installation directories -- Use relative symlinks so they work within the image -- Run debug symbols check during build stage, before the install strips them -- Related: rhbz#2100674 - -* Thu Jun 30 2022 Francisco Ferrari Bihurriet - 1:17.0.3.0.7-5 -- RH2007331: SecretKey generate/import operations don't add the CKA_SIGN attribute in FIPS mode -- Resolves: rhbz#2007331 - -* Tue Jun 28 2022 Andrew Hughes - 1:17.0.3.0.7-4 -- Update FIPS support to bring in latest changes -- * RH2036462: sun.security.pkcs11.wrapper.PKCS11.getInstance breakage -- * RH2090378: Revert to disabling system security properties and FIPS mode support together -- Rebase RH1648249 nss.cfg patch so it applies after the FIPS patch -- Enable system security properties in the RPM (now disabled by default in the FIPS repo) -- Improve security properties test to check both enabled and disabled behaviour -- Run security properties test with property debugging on -- Resolves: rhbz#2099840 -- Resolves: rhbz#2100674 - -* Tue Jun 28 2022 Andrew Hughes - 1:17.0.3.0.7-3 -- Add rpminspect.yaml to turn off Java bytecode inspections -- java-17-openjdk deliberately produces Java 17 bytecode, not the default Java 11 bytecode -- Resolves: rhbz#2101524 - -* Sun Jun 12 2022 Andrew Hughes - 1:17.0.3.0.7-2 -- Rebase FIPS patches from fips-17u branch and simplify by using a single patch from that repository -- Rebase RH1648249 nss.cfg patch so it applies after the FIPS patch -- RH2023467: Enable FIPS keys export -- RH2094027: SunEC runtime permission for FIPS -- Resolves: rhbz#2023467 -- Resolves: rhbz#2094027 - -* Wed Apr 20 2022 Andrew Hughes - 1:17.0.3.0.7-1 -- April 2022 security update to jdk 17.0.3+7 -- Update to jdk-17.0.3.0+7 release tarball -- Update release notes to 17.0.3.0+6 -- Add missing README.md and generate_source_tarball.sh -- Switch to GA mode for release -- JDK-8283911 patch no longer needed now we're GA... -- Resolves: rhbz#2073577 - -* Wed Apr 06 2022 Andrew Hughes - 1:17.0.3.0.5-0.1.ea -- Update to jdk-17.0.3.0+5 -- Update release notes to 17.0.3.0+5 -- Resolves: rhbz#2050456 - -* Tue Mar 29 2022 Andrew Hughes - 1:17.0.3.0.1-0.1.ea -- Update to jdk-17.0.3.0+1 -- Update release notes to 17.0.3.0+1 -- Switch to EA mode for 17.0.3 pre-release builds. -- Add JDK-8283911 to fix bad DEFAULT_PROMOTED_VERSION_PRE value -- Related: rhbz#2050456 - -* Mon Feb 28 2022 Andrew Hughes - 1:17.0.2.0.8-15 -- Enable AlgorithmParameters and AlgorithmParameterGenerator services in FIPS mode -- Resolves: rhbz#2052070 - -* Sun Feb 27 2022 Andrew Hughes - 1:17.0.2.0.8-14 -- Introduce tests/tests.yml, based on the one in java-11-openjdk -- Resolves: rhbz#2058493 - -* Sun Feb 27 2022 Severin Gehwolf - 1:17.0.2.0.8-13 -- Use 'sql:' prefix in nss.fips.cfg as F35+ no longer ship the legacy - secmod.db file as part of nss -- Resolves: rhbz#2023536 - -* Sun Feb 27 2022 Andrew Hughes - 1:17.0.2.0.8-12 -- Detect NSS at runtime for FIPS detection -- Turn off build-time NSS linking and go back to an explicit Requires on NSS -- Resolves: rhbz#2051605 - -* Fri Feb 25 2022 Andrew Hughes - 1:17.0.2.0.8-11 -- Add JDK-8275535 patch to fix LDAP authentication issue. -- Resolves: rhbz#2053256 - -* Fri Feb 25 2022 Jiri Vanek - 1:17.0.2.0.8-10 -- Storing and restoring alterntives during update manually -- Fixing Bug 2001567 - update of JDK/JRE is removing its manually selected alterantives and select (as auto) system JDK/JRE --- The move of alternatives creation to posttrans to fix: --- Bug 1200302 - dnf reinstall breaks alternatives --- Had caused the alternatives to be removed, and then created again, --- instead of being added, and then removing the old, and thus persisting --- the selection in family --- Thus this fix, is storing the family of manually selected master, and if --- stored, then it is restoring the family of the master -- Resolves: rhbz#2008200 - -* Fri Feb 25 2022 Jiri Vanek - 1:17.0.2.0.8-9 -- Family extracted to globals -- Resolves: rhbz#2008200 - -* Fri Feb 25 2022 Jiri Vanek - 1:17.0.2.0.8-8 -- alternatives creation moved to posttrans -- Thus fixing the old reisntall issue: -- https://bugzilla.redhat.com/show_bug.cgi?id=1200302 -- https://bugzilla.redhat.com/show_bug.cgi?id=1976053 -- Resolves: rhbz#2008200 - -* Mon Feb 21 2022 Andrew Hughes - 1:17.0.2.0.8-7 -- Separate crypto policy initialisation from FIPS initialisation, now they are no longer interdependent -- Resolves: rhbz#2051590 - -* Fri Feb 18 2022 Andrew Hughes - 1:17.0.2.0.8-6 -- Fix FIPS issues in native code and with initialisation of java.security.Security -- Resolves: rhbz#2023378 - -* Thu Feb 17 2022 Andrew Hughes - 1:17.0.2.0.8-5 -- Restructure the build so a minimal initial build is then used for the final build (with docs) -- This reduces pressure on the system JDK and ensures the JDK being built can do a full build -- Turn off bootstrapping for slow debug builds, which are particularly slow on ppc64le. -- Handle Fedora in distro conditionals that currently only pertain to RHEL. -- Run OpenJDK normalizer script on the spec file to fix further rogue whitespace -- Sync gdb test with java-1.8.0-openjdk and improve architecture restrictions. -- Introduce stapinstall variable to set SystemTap arch directory correctly (e.g. arm64 on aarch64) -- Need to support noarch for creating source RPMs for non-scratch builds. -- Replace -mstackrealign with -mincoming-stack-boundary=2 -mpreferred-stack-boundary=4 on x86_32 for stack alignment -- Support a HotSpot-only build so a freshly built libjvm.so can then be used in the bootstrap JDK. -- Explicitly list JIT architectures rather than relying on those with slowdebug builds -- Disable the serviceability agent on Zero architectures even when the architecture itself is supported -- Resolves: rhbz#2022822 - -* Thu Feb 17 2022 Jiri Vanek - 1:17.0.2.0.8-5 -- Replaced tabs by sets of spaces to make rpmlint happy -- javadoc-zip gets its own provides next to plain javadoc ones -- Resolves: rhbz#2022822 - -* Tue Feb 08 2022 Jiri Vanek - 1:17.0.2.0.8-4 -- Minor cosmetic improvements to make spec more comparable between variants -- Related: rhbz#2022822 - -* Thu Feb 03 2022 Andrew Hughes - 1:17.0.2.0.8-3 -- Update tapsets from IcedTea 6.x repository with fix for JDK-8015774 changes (_heap->_heaps) and @JAVA_SPEC_VER@ -- Update icedtea_sync.sh with a VCS mode that retrieves sources from a Mercurial repository -- Related: rhbz#2022822 - -* Thu Feb 03 2022 Andrew Hughes - 1:17.0.2.0.8-2 -- Extend LTS check to exclude EPEL. -- Related: rhbz#2022822 - -* Thu Feb 03 2022 Severin Gehwolf - 1:17.0.2.0.8-2 -- Set LTS designator. -- Related: rhbz#2022822 - -* Wed Jan 12 2022 Andrew Hughes - 1:17.0.2.0.8-1 -- January 2022 security update to jdk 17.0.2+8 -- Rebase RH1995150 & RH1996182 patches following JDK-8275863 addition to module-info.java -- Rename libsvml.so to libjsvml.so following JDK-8276025 -- Resolves: rhbz#2039366 - -* Thu Oct 28 2021 Andrew Hughes - 1:17.0.1.0.12-3 -- Sync desktop files with upstream IcedTea release 3.15.0 using new script -- Related: rhbz#2013842 - -* Tue Oct 26 2021 Andrew Hughes - 1:17.0.1.0.12-2 -- Drop JDK-8272332/RH2004078 patch which is upstream in 17.0.1 -- Resolves: rhbz#2013842 - -* Wed Oct 20 2021 Petra Alice Mikova - 1:17.0.1.0.12-2 -- October CPU update to jdk 17.0.1+12 -- Dropped commented-out source line -- Resolves: rhbz#2013842 - -* Sun Oct 10 2021 Andrew Hughes - 1:17.0.0.0.35-6 -- Allow plain key import to be disabled with -Dcom.redhat.fips.plainKeySupport=false -- Resolves: rhbz#1994661 - -* Sun Oct 10 2021 Martin Balao - 1:17.0.0.0.35-6 -- Add patch to allow plain key import. -- Resolves: rhbz#1994661 - -* Mon Sep 27 2021 Andrew Hughes - 1:17.0.0.0.35-5 -- Update release notes to document the major changes between OpenJDK 11 & 17. -- Resolves: rhbz#2003072 - -* Thu Sep 16 2021 Andrew Hughes - 1:17.0.0.0.35-3 -- Update to jdk-17+35, also known as jdk-17-ga. -- Switch to GA mode. -- Add JDK-8272332 fix so we actually link against HarfBuzz. -- Resolves: rhbz#2003072 -- Resolves: rhbz#2004078 - -* Mon Aug 30 2021 Andrew Hughes - 1:17.0.0.0.33-0.5.ea -- Extend the default security policy to accomodate PKCS11 accessing jdk.internal.access. -- Resolves: rhbz#1996182 - -* Sat Aug 28 2021 Andrew Hughes - 1:17.0.0.0.33-0.4.ea -- Fix unused function compiler warning found in systemconf.c -- Related: rhbz#1995150 - -* Sat Aug 28 2021 Martin Balao - 1:17.0.0.0.33-0.4.ea -- Add patch to login to the NSS software token when in FIPS mode. -- Resolves: rhbz#1996182 - -* Fri Aug 27 2021 Martin Balao - 1:17.0.0.0.33-0.3.ea -- Add patch to disable non-FIPS crypto in the SUN and SunEC security providers. -- Resolves: rhbz#1995150 - -* Fri Aug 27 2021 Andrew Hughes - 1:17.0.0.0.33-0.2.ea -- Minor code cleanups on FIPS detection patch and check for SECMOD_GetSystemFIPSEnabled in configure. -- Remove unneeded Requires on NSS as it will now be dynamically linked and detected by RPM. -- Related: rhbz#1995150 - -* Fri Aug 27 2021 Martin Balao - 1:17.0.0.0.33-0.2.ea -- Detect FIPS using SECMOD_GetSystemFIPSEnabled in the new libsystemconf JDK library. -- Related: rhbz#1995150 - -* Thu Aug 26 2021 Andrew Hughes - 1:17.0.0.0.33-0.1.ea -- Update RH1655466 FIPS patch with changes in OpenJDK 8 version. -- SunPKCS11 runtime provider name is a concatenation of "SunPKCS11-" and the name in the config file. -- Change nss.fips.cfg config name to "NSS-FIPS" to avoid confusion with nss.cfg. -- No need to substitute path to nss.fips.cfg as java.security file supports a java.home variable. -- Disable FIPS mode support unless com.redhat.fips is set to "true". -- Enable alignment with FIPS crypto policy by default (-Dcom.redhat.fips=false to disable). -- Add explicit runtime dependency on NSS for the PKCS11 provider in FIPS mode -- Move setup of JavaSecuritySystemConfiguratorAccess to Security class so it always occurs (RH1915071) -- Related: rhbz#1995150 - -* Thu Aug 26 2021 Martin Balao - 1:17.0.0.0.33-0.1.ea -- Support the FIPS mode crypto policy (RH1655466) -- Use appropriate keystore types when in FIPS mode (RH1818909) -- Disable TLSv1.3 when the FIPS crypto policy and the NSS-FIPS provider are in use (RH1860986) -- Related: rhbz#1995150 - -* Thu Aug 26 2021 Andrew Hughes - 1:17.0.0.0.33-0.0.ea -- Update to jdk-17+33, including JDWP fix and July 2021 CPU -- Resolves: rhbz#1959487 - -* Thu Aug 26 2021 Andrew Hughes - 1:17.0.0.0.26-0.5.ea -- Use the "reverse" build loop (debug first) as the main and only build loop to get more diagnostics. -- Remove restriction on disabling product build, as debug packages no longer have javadoc packages. -- Resolves: rhbz#1959487 - -* Wed Aug 25 2021 Petra Alice Mikova - 1:17.0.0.0.26-0.4.ea -- Fix patch rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch which made the SunPKCS provider show up again -- Resolves: rhbz#1959487 - -* Wed Aug 25 2021 Severin Gehwolf - 1:17.0.0.0.26-0.3.ea -- Re-enable TestSecurityProperties after inclusion of PR3695 -- Resolves: rhbz#1959487 - -* Wed Aug 25 2021 Andrew Hughes - 1:17.0.0.0.26-0.3.ea -- Add PR3695 to allow the system crypto policy to be turned off -- Resolves: rhbz#1959487 - -* Wed Jul 14 2021 Andrew Hughes - 1:17.0.0.0.26-0.2.ea -- Remove boot JDKs in favour of OpenJDK 17 build now in the buildroot. -- Resolves: rhbz#1959487 - -* Wed Jul 14 2021 Severin Gehwolf - 1:17.0.0.0.26-0.2.ea -- Update buildjdkver to 17 so as to build with itself -- Resolves: rhbz#1959487 - -* Tue Jul 13 2021 Jiri Vanek - 1:17.0.0.0.26-0.1.ea -- Add gating support -- Resolves: rhbz#1959487 - -* Mon Jun 21 2021 Andrew Hughes - 1:17.0.0.0.26-0.0.ea -- Rename as java-17-openjdk and bootstrap using boot JDK in local sources -- Exclude x86 as this is not supported by OpenJDK 17 -- Resolves: rhbz#1959487 - -* Fri Jun 11 2021 Petra Alice Mikova - 1:17.0.0.0.26-0.0.ea.rolling -- update sources to jdk 17.0.0+26 -- set is_ga to 0, as this is early access build -- change vendor_version_string -- change path to the version-numbers.conf -- removed rmid binary from files and from slaves -- removed JAVAC_FLAGS=-g from make command, as it breaks the build since JDK-8258407 -- add lib/libsyslookup.so to files -- renamed lib/security/blacklisted.certs to lib/security/blocked.certs -- add lib/libsvml.so for intel -- skip debuginfo check for libsyslookup.so on s390x - -* Thu Apr 29 2021 Jiri Vanek - 1:16.0.1.0.9-2.rolling -- adapted to debug handling in newer cjc -- The rest of the "rpm 4.17" patch must NOT be backported, as on rpm 4.16 and down, it would casue double execution -- Disable copy-jdk-configs for Flatpak builds - -* Sun Apr 25 2021 Petra Alice Mikova - 1:16.0.1.0.9-1.rolling -- update to 16.0.1+9 april cpu tag -- dropped jdk8259949-allow_cf-protection_on_x86.patch - -* Thu Mar 11 2021 Andrew Hughes - 1:16.0.0.0.36-2.rolling -- Perform static library build on a separate source tree with bundled image libraries -- Make static library build optional -- Based on initial work by Severin Gehwolf - -* Tue Mar 09 2021 Jiri Vanek - 1:16.0.0.0.36-1.rolling -- fixed suggests of wrong pcsc-lite-devel%{?_isa} to correct pcsc-lite-libs%{?_isa} -- bumped buildjdkver to build by itself - 16 - -* Fri Feb 19 2021 Andrew Hughes - 1:16.0.0.0.36-0.rolling -- Update to jdk-16.0.0.0+36 -- Update tarball generation script to use git following OpenJDK's move to github -- Update tarball generation script to use PR3823 which handles JDK-8235710 changes -- Use upstream default for version-pre rather than setting it to "ea" or "" -- Drop libsunec.so which is no longer generated, thanks to JDK-8235710 -- Drop unnecessary compiler flags, dating back to work on GCC 6 & 10 -- Adapt RH1750419 alt-java patch to still apply after some variable re-naming in the makefiles -- Update filever to remove any trailing zeros, as in the OpenJDK build, and use for source filename -- Use system harfbuzz now this is supported. -- Pass SOURCE_DATE_EPOCH to build for reproducible builds - -* Fri Feb 19 2021 Stephan Bergmann - 1:15.0.2.0.7-1.rolling -- Hardcode /usr/sbin/alternatives for Flatpak builds - -* Tue Jan 26 2021 Fedora Release Engineering - 1:15.0.2.0.7-0.rolling.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jan 22 2021 Andrew Hughes - 1:15.0.2.0.7-0.rolling -- Update to jdk-15.0.2.0+7 -- Add release notes for 15.0.1.0 & 15.0.2.0 -- Use JEP-322 Time-Based Versioning so we can handle a future 11.0.9.1-like release correctly. -- Still use 15.0.x rather than 15.0.x.0 for file naming, as the trailing zero is omitted from tags. -- Cleanup debug package descriptions and version number placement. -- Remove unused patch files. - -* Tue Jan 19 2021 Andrew Hughes - 1:15.0.1.9-10.rolling -- Use -march=i686 for x86 builds if -fcf-protection is detected (needs CMOV) - -* Tue Dec 22 2020 Jiri Vanek - 1:15.0.1.9-9.rolling -- fixed missing condition for fastdebug packages being counted as debug ones - -* Sat Dec 19 2020 Jiri Vanek - 1:15.0.1.9-8.rolling -- removed lib-style provides for fastdebug_suffix_unquoted - -* Sat Dec 19 2020 Jiri Vanek - 1:15.0.1.9-6.rolling -- many cosmetic changes taken from more maintained jdk11 -- introduced debug_arches, bootstrap_arches, systemtap_arches, fastdebug_arches, sa_arches, share_arches, shenandoah_arches, zgc_arches - instead of various hardcoded ifarches -- updated systemtap -- added requires excludes for debug pkgs -- removed redundant logic around jsa files -- added runtime requires of lksctp-tools and libXcomposite% -- added and used Source15 TestSecurityProperties.java, but is made always positive as jdk15 now does not honor system policies -- s390x excluded form fastdebug build - -* Thu Dec 17 2020 Andrew Hughes - 1:15.0.1.9-5.rolling -- introduced nm based check to verify alt-java on x86_64 is patched, and no other alt-java or java is patched -- patch600 rh1750419-redhat_alt_java.patch amended to die, if it is used wrongly -- introduced ssbd_arches with currently only valid arch of x86_64 to separate real alt-java architectures - -* Wed Dec 9 2020 Jiri Vanek - 1:15.0.1.9-4.rolling -- moved wrongly placed licenses to accompany other ones -- this bad placement was killng parallel-installability and thus having bad impact to leapp if used - -* Tue Dec 01 2020 Jiri Vanek - 1:15.0.1.9-3.rolling -- added patch600, rh1750419-redhat_alt_java.patch, suprassing removed patch -- no longer copying of java->alt-java as it is created by patch600 - -* Mon Nov 23 2020 Jiri Vanek - 1:15.0.1.9-2.rolling -- Create a copy of java as alt-java with alternatives and man pages -- java-11-openjdk doesn't have a JRE tree, so don't try and copy alt-java there... - -* Sun Oct 25 2020 Petra Alice Mikova - 1:15.0.1.9-1.rolling -- updated to October CPU 2020 sources - -* Thu Oct 22 2020 Severin Gehwolf - 1:15.0.0.36-4.rolling -- Fix directory ownership of -static-libs sub-package. - -* Fri Oct 09 2020 Jiri Vanek - 1:15.0.0.36-3.rolling -- Build static-libs-image and add resulting files via -static-libs sub-package. -- Disable stripping of debug symbols for static libraries part of the -static-libs sub-package. -- JDK-8245832 increases the set of static libraries, so try and include them all with a wildcard. -- Update static-libs packaging to new layout - -* Mon Sep 21 2020 Petra Alice Mikova - 1:15.0.0.36-2.rolling -- Add support for fastdebug builds on 64 bit architectures - -* Tue Sep 15 2020 Severin Gehwolf - 1:15.0.0.36-1.rolling -- Remove EA designation -- Re-generate sources with PR3803 patch - -* Mon Aug 31 2020 Petra Alice Mikova - 1:15.0.0.36-0.1.ea.rolling -- Update to jdk 15.0.0.36 tag -- Modify rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch -- Update vendor version string to 20.9 -- jjs removed from packaging after JEP 372: Nashorn removal -- rmic removed from packaging after JDK-8225319 - -* Mon Jul 27 2020 Severin Gehwolf - 1:14.0.2.12-2.rolling -- Disable LTO so as to pass debuginfo check - -* Wed Jul 22 2020 Petra Alice Mikova - 1:14.0.2.12-1.rolling -- update to jdk 14.0.2.12 CPU version -- remove upstreamed patch jdk8237879-make_4_3_build_fixes.patch -- remove upstreamed patch jdk8235833-posixplatform_cpp_should_not_include_sysctl_h.patch -- remove upstreamed patch jdk8243059-build_fails_when_with_vendor_contains_comma.patch - -* Thu Jul 09 2020 Andrew Hughes - 1:14.0.1.7-4.rolling -- Re-introduce java-openjdk-src & java-openjdk-demo for system_jdk builds. -- Fix accidental renaming of java-openjdk-devel to java-devel-openjdk. - -* Thu May 14 2020 Petra Alice Mikova - 1:14.0.1.7-3.rolling -- introduce patch jdk8235833-posixplatform_cpp_should_not_include_sysctl_h to fix build issues in rawhide -- rename and reorganize patch sections - -* Thu Apr 23 2020 Severin Gehwolf - 1:14.0.1.7-2.rolling -- Fix vendor version to 20.3 (from 19.9) - -* Fri Apr 17 2020 Petra Alice Mikova - 1:14.0.1.7-1.rolling -- April security update -- uploaded new src tarball - -* Wed Apr 08 2020 Jiri Vanek - 1:14.0.0.36-4.rolling -- set vendor property and vendor urls -- made urls to be preconfigured by os - -* Tue Mar 24 2020 Petra Alice Mikova - 1:14.0.0.36-3.rolling -- Remove s390x workaround flags for GCC 10 -- bump buildjdkver to 14 -- uploaded new src tarball - -* Mon Mar 23 2020 Petra Alice Mikova - 1:14.0.0.36-2.rolling -- removed a whitespace causing fail of postinstall script -- removed backslashes at the end of alternatives command - -* Fri Mar 13 2020 Petra Alice Mikova - 1:14.0.0.36-1.rolling -- update to jdk 14+36 ga build -- remove JDK-8224851 patch, as OpenJDK 14 already contains it -- removed pack200 and unpack200 binaries, slaves, manpages and libunpack.so library -- added listings for jpackage binary, manpages and added slave records to alternatives - -* Thu Mar 12 2020 Petra Alice Mikova - 1:13.0.2.8-4.rolling -- add patch for build issues with make 4.3 - -* Thu Feb 27 2020 Severin Gehwolf - 1:13.0.2.8-3.rolling -- add workaround for issues with build with GCC10 on s390x (see RHBZ#1799531) -- fix issues with build with GCC10: JDK-8224851, -fcommon switch - -* Thu Feb 27 2020 Petra Alice Mikova pmikova@redhat.com> - 1:13.0.2.8-3.rolling -- Add JDK-8224851 patch to resolve aarch64 issues - -* Tue Feb 04 2020 Petra Alice Mikova - 1:13.0.2.8-2.rolling -- fix Release, as it was broken by last rpmdev-bumpspec - -* Wed Jan 29 2020 Fedora Release Engineering - 1:13.0.2.8-1.rolling.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jan 17 2020 Petra Alice Mikova - 1:13.0.2.8-1.rolling -- removed patch jdk8231405_guarantee_d_nonequals_null_failed_null_dominator_info.patch -- removed patch jdk8231583_fix_register_clash_in_sbsa_resolve_forwarding_pointer_borrowing.patch -- updated sources to the 13.0.2+8 tag - -* Fri Oct 25 2019 Petra Alice Mikova - 1:13.0.1.9-2.rolling -- Fixed hardcoded major version in jdk13u to macro -- added jdk8231405_guarantee_d_nonequals_null_failed_null_dominator_info.patch -- added jdk8231583_fix_register_clash_in_sbsa_resolve_forwarding_pointer_borrowing.patch - -* Mon Oct 21 2019 Petra Alice Mikova - 1:13.0.1.9-1.rolling -- Updated to October 2019 CPU sources - -* Wed Oct 16 2019 Petra Alice Mikova - 1:13.0.0.33-3.rolling -- synced up generate tarball script with other OpenJDK packages -- dropped pr2126-synchronise_elliptic_curves_in_sun_security_ec_namedcurve_with_those_listed_by_nss.patch from the sources -- regenerated sources with the updated script - -* Wed Oct 02 2019 Andrew Hughes - 1:13.0.0.33-3.rolling -- Switch to in-tree SunEC code, dropping NSS runtime dependencies and patches to link against it. - -* Wed Oct 02 2019 Andrew John Hughes - 1:13.0.0.33-3.rolling -- Drop unnecessary build requirement on gtk3-devel, as OpenJDK searches for Gtk+ at runtime. -- Add missing build requirement for libXrender-devel, previously masked by Gtk3+ dependency -- Add missing build requirement for libXrandr-devel, previously masked by Gtk3+ dependency -- fontconfig build requirement should be fontconfig-devel, previously masked by Gtk3+ dependency - -* Wed Oct 02 2019 Andrew Hughes - 1:13.0.0.33-3.rolling -- Obsolete javadoc-slowdebug and javadoc-slowdebug-zip packages via javadoc and javadoc-zip respectively. - -* Tue Oct 01 2019 Severin Gehwolf - 1:13.0.0.33-2.rolling -- Don't produce javadoc/javadoc-zip sub packages for the - debug variant build. -- Don't perform a bootcycle build for the debug variant build. - -* Mon Sep 30 2019 Severin Gehwolf - 1:13.0.0.33-2.rolling -- Fix vendor version as JDK 13 has been GA'ed September 2019: 19.3 => 19.9 - -* Wed Aug 14 2019 Petra Alice Mikova - 1:13.0.0.33-1.rolling -- updated to 13+33 sources -- added two manpages to file listings (jfr, jaotc) -- set is_ga to 1 to match build from jdk.java.net - -* Fri Jul 26 2019 Severin Gehwolf - 1:13.0.0.28-0.2.ea.rolling -- Fix bootjdkver macro. It attempted to build with jdk 12, which is - no longer available in rawhide (it's 13 instead). -- Fix Release as rpmdev-bumpspec doesn't do it correctly. - -* Thu Jul 25 2019 Fedora Release Engineering - 1:13.0.0.28-0.1.ea.rolling.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Jul 09 2019 Petra Alice Mikova - 1:13.0.0.28-0.1.ea.rolling -- updated to jdk 13 -- adapted pr2126-synchronise_elliptic_curves_in_sun_security_ec_namedcurve_with_those_listed_by_nss.patch -- adapted rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch -- fixed file listings -- included https://src.fedoraproject.org/rpms/java-11-openjdk/pull-request/49: -- Include 'ea' designator in Release when appropriate -- Handle milestone as variables so we can alter it easily and set the docs zip filename appropriately - -* Tue May 21 2019 Petra Alice Mikova - 1:12.0.1.12-2.rolling -- fixed requires/provides for the non-system JDK case (backport of RHBZ#1702324) - -* Thu Apr 18 2019 Petra Mikova - 1:12.0.1.12-1.rolling -- updated sources to current CPU release - -* Thu Apr 04 2019 Petra Mikova - 1:12.0.0.33-4.rolling -- added slave for jfr binary in devel package - -* Thu Mar 21 2019 Petra Mikova - 1:12.0.0.33-3.rolling -- Replaced pcsc-lite-devel (which is in optional channel) with pcsc-lite-libs. -- added rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch to make jdk work with pcsc -- removed LTS string from LTS designator, because epel builds get identified as rhel and JDK 12 is not LTS -- removed duplicated dependency on lksctp-tools - -* Wed Mar 20 2019 Peter Robinson 1:12.0.0.33-2.ea.1.rolling -- Drop chkconfig dep, 1.7 shipped in f24 - -* Thu Mar 07 2019 Petra Mikova - 1:12.0.0.33-1.ea.1.rolling -- bumped sources to jdk12+33 - -* Mon Feb 11 2019 Severin Gehwolf - 1:12.0.0.30-1.ea.1.rolling -- Only build 'bootcycle-images docs' target and 'images docs' targets, respectively. - -* Fri Feb 01 2019 Fedora Release Engineering - 1:12.0.0.25-0.ea.1.rolling.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Dec 21 2018 Jiri Vanek - 1:12.0.0.25-0.ea.1.rolling -- bumped sources to jdk12. Crypto list synced. -- adapted patches to usptream (removed are upstreamed) -- removed fixed upstreamed patch6, jdk8211105-aarch64-disable_cos_sin_and_log_intrinsics.patch: -- renamed patch5, pr1983-rh1565658-..._sunec_provider_jdk11.patch to pr1983-rh1565658-..._sunec_provider_jdk12.patch -- adapted patch5, pr1983-rh1565658 to jdk12 (libraries.m4 and /Lib-jdk.crypto.ec.gmk) -- removed patch8, jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch -- removed patch9, jdk8210425-rh1632174-sharedRuntimeTrig_sharedRuntimeTrans_compiled_without_optimization.patch -- removed patch10, jdk8210647-rh1632174. Is rummored to be in upstream -- removed patch11, jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch -- removed patch12, jdk8210703-rh1632174-vmStructs_cpp_no_longer_compiled_with_o0 -- removed patch584, jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch -- removed patch585, jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch -- set build jdk to jdk11; buildjdkver set to 11 -- todo, revisit _privatelibs and slaves, discuse patch10, more? -- now building with --no-print-directory to workaround JDK8215213 -- renamed original of docs zip to jdk-major+build -- check shenandaoh with -XX:+UnlockExperimentalVMOptions -- libjli moved from lib/libjli to lib -- added lib/jspawnhelper and bin/jfr and conf/sdp/sdp.conf.template -- added explanation to the --no-print-directory -- re-added lts_designator_zip macro -- added patch6 for rh1673833-remove_removal_of_wformat_during_test_compilation.patch - -* Wed Dec 5 2018 Jiri Vanek - 1:11.0.1.13-10.rolling -- for non debug supackages, ghosted all masters and slaves (rhbz1649776) -- for tech-preview packages, if-outed versionless provides. Aligned versions to be %%{epoch}:%%{version}-%%{release} instead of chaotic -- Removed all slowdebug provides (rhbz1655938); for tech-preview packages also removed all internal provides - -* Tue Dec 04 2018 Severin Gehwolf - 1:11.0.1.13-9 -- Added %%global _find_debuginfo_opts -g -- Resolves: RHBZ#1520879 (Detailed NMT issue) - -* Fri Nov 30 2018 Jiri Vanek - 1:11.0.1.13-8 -- added rolling suffix to release (before dist) to prevent conflict with java-11-openjdk which now have same major version - -* Mon Nov 12 2018 Jiri Vanek - 1:11.0.1.13-6 -- fixed tck failures of arraycopy and process exec with shenandoah on -- added patch585 rh1648995-shenandoah_array_copy_broken_by_not_always_copy_forward_for_disjoint_arrays.patch - -* Wed Nov 07 2018 Jiri Vanek - 1:11.0.1.13-5 -- headless' suggests of cups, replaced by Requires of cups-libs - -* Thu Nov 01 2018 Jiri Vanek - 1:11.0.1.13-3 -- added Patch584 jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch - -* Mon Oct 29 2018 Severin Gehwolf - 1:11.0.1.13-3 -- Use upstream's version of Aarch64 intrinsics disable patch: - - Removed: - RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch - RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch - - Superceded by: - jdk8211105-aarch64-disable_cos_sin_and_log_intrinsics.patch - -* Thu Oct 18 2018 Severin Gehwolf - 1:11.0.1.13-2 -- Use LTS designator in version output for RHEL. - -* Thu Oct 18 2018 Severin Gehwolf - 1:11.0.1.13-1 -- Update to October 2018 CPU release, 11.0.1+13. - -* Wed Oct 17 2018 Severin Gehwolf - 1:11.0.0.28-2 -- Use --with-vendor-version-string=18.9 so as to show original - GA date for the JDK. - -* Fri Sep 28 2018 Severin Gehwolf - 1:11.0.0.28-1 -- Identify as GA version and no longer as early access (EA). -- JDK 11 has been released for GA on 2018-09-25. - -* Fri Sep 28 2018 Severin Gehwolf - 1:11.0.ea.28-9 -- Rework changes from 1:11.0.ea.22-6. RHBZ#1632174 supercedes - RHBZ-1624122. -- Add patch, jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch, so as to - optimize compilation of fdlibm library. -- Add patch, jdk8210425-rh1632174-sharedRuntimeTrig_sharedRuntimeTrans_compiled_without_optimization.patch, so - as to optimize compilation of sharedRuntime{Trig,Trans}.cpp -- Add patch, jdk8210647-rh1632174-libsaproc_is_being_compiled_without_optimization.patch, so as to - optimize compilation of libsaproc (extra c flags won't override - optimization). -- Add patch, jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch, so as to - optimize compilation of libjsig. -- Add patch, jdk8210703-rh1632174-vmStructs_cpp_no_longer_compiled_with_o0, so as to - optimize compilation of vmStructs.cpp (part of libjvm.so). -- Reinstate filtering of opt flags coming from redhat-rpm-config. - -* Thu Sep 27 2018 Jiri Vanek - 1:11.0.ea.28-8 -- removed version less provides -- javadocdir moved to arched dir as it is no longer noarch - -* Thu Sep 20 2018 Severin Gehwolf - 1:11.0.ea.28-6 -- Add patch, RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch, - so as to disable log math intrinsic on aarch64. Work-around for - JDK-8210858 - -* Thu Sep 13 2018 Severin Gehwolf - 1:11.0.ea.28-5 -- Add patch, RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch, - so as to disable dsin/dcos math intrinsics on aarch64. Work-around for - JDK-8210461. - -* Wed Sep 12 2018 Severin Gehwolf - 1:11.0.ea.22-6 -- Add patch, JDK-8210416-RHBZ-1624122-fdlibm-opt-fix.patch, so as to - optimize compilation of fdlibm library. -- Add patch, JDK-8210425-RHBZ-1624122-sharedRuntimeTrig-opt-fix.patch, so - as to optimize compilation of sharedRuntime{Trig,Trans}.cpp -- Add patch, JDK-8210647-RHBZ-1624122-libsaproc-opt-fix.patch, so as to - optimize compilation of libsaproc (extra c flags won't override - optimization). -- Add patch, JDK-8210703-RHBZ-1624122-vmStructs-opt-fix.patch, so as to - optimize compilation of vmStructs.cpp (part of libjvm.so). -- No longer filter -O flags from C flags coming from - redhat-rpm-config. - -* Mon Sep 10 2018 Jiri Vanek - 1:11.0.ea.28-4 -- link to jhsdb followed its file to ifarch jit_arches ifnarch s390x - -* Fri Sep 7 2018 Severin Gehwolf - 1:11.0.ea.28-3 -- Enable ZGC on x86_64. - -* Tue Sep 4 2018 Jiri Vanek - 1:11.0.ea.28-2 -- jfr/*jfc files listed for all arches -- lib/classlist do not exists s390, ifarch-ed via jit_arches out - -* Fri Aug 31 2018 Severin Gehwolf - 1:11.0.ea.28-1 -- Update to latest upstream build jdk11+28, the first release - candidate. - -* Wed Aug 29 2018 Severin Gehwolf - 1:11.0.ea.22-8 -- Adjust system NSS patch, pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch, so - as to filter -Wl,--as-needed from linker flags. Fixes FTBFS issue. - -* Thu Aug 23 2018 Jiri Vanek - 1:11.0.ea.22-6 -- dissabled accessibility, fixed provides for main package's debug variant - -* Mon Jul 30 2018 Jiri Vanek - 1:11.0.ea.22-5 -- now buildrequires javapackages-filesystem as the issue with macros should be fixed - -* Wed Jul 18 2018 Jiri Vanek - 1:11.0.ea.22-2 -- changed to build by itself instead of by jdk10 - -* Tue Jul 17 2018 Jiri Vanek - 1:11.0.ea.22-1 -- added Recommends gtk3 for main package -- changed BuildRequires from gtk2-devel to gtk3-devel (it can be more likely dropped) -- added Suggests lksctp-tools, pcsc-lite-devel, cups for headless package -- see RHBZ1598152 -- added trick to catch hs_err files (sgehwolf) -- updated to shenandaoh-jdk-11+22 - -* Sat Jul 07 2018 Jiri Vanek - 1:11.0.ea.20-1 -- removed patch6 JDK-8205616-systemLcmsAndJpgFixFor-rev_f0aeede1b855.patch -- improved a bit generate_source_tarball.sh to serve also for systemtap -- thus deleted generate_tapsets.sh -- simplified and cleared update_package.sh -- moved to single source jdk - from shenandoah/jdk11 -- bumped to latest jdk11+20 -- adapted PR2126 to jdk11+20 -- adapted handling of systemtap sources to new style -- (no (misleading) version inside (full version is in name), thus different sed on tapsets and different directory) -- shortened summaries and descriptions to around 80 chars -- Hunspell spell checked -- license fixed to correct jdk11 (sgehwolf) -- more correct handling of internal libraries (sgehwolf) -- added lib/security/public_suffix_list.dat as +20 have added it (JDK-8201815) -- added test for shenandaoh GC presence where expected -- Removed workaround for broken aarch64 slowdebug build -- Removed all defattrs -- Removed no longer necessary cleanup of diz and debuginfo files - -* Fri Jun 22 2018 Jiri Vanek - 1:11.0.ea.19-1 -- updated sources to jdk-11+19 -- added patch6 systemLcmsAndJpgFixFor-f0aeede1b855.patch to fix regression of system libraries after f0aeede1b855 commit -- adapted pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch to accommodate changes after f0aeede1b855 commit - -* Thu Jun 14 2018 Severin Gehwolf - 1:11.0.ea.16-5 -- Revert rename: java-11-openjdk => java-openjdk. - -* Wed Jun 13 2018 Severin Gehwolf - 1:11.0.ea.16-4 -- Add aarch64 to aot_arches. - -* Wed Jun 13 2018 Severin Gehwolf - 1:11.0.ea.16-3 -- Rename to package java-11-openjdk. - -* Wed Jun 13 2018 Severin Gehwolf - 1:11.0.ea.16-2 -- Disable Aarch64 slowdebug build (see JDK-8204331). -- s390x doesn't have the SA even though it's a JIT arch. - -* Wed Jun 13 2018 Severin Gehwolf - 1:11.0.ea.16-1 -- Initial version of JDK 11 ea based on tag jdk-11+16. -- Removed patches no longer needed or upstream: - sorted-diff.patch (see JDK-8198844) - JDK-8201788-bootcycle-images-jobs.patch - JDK-8201509-s390-atomic_store.patch - JDK-8202262-libjsig.so-extra-link-flags.patch (never was an issue on 11) - JDK-8193802-npe-jar-getVersionMap.patch -- Updated and renamed patches: - java-openjdk-s390-size_t.patch => JDK-8203030-s390-size_t.patch -- Updated patches for JDK 11: - pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch - -* Tue Jun 12 2018 Severin Gehwolf - 1:10.0.1.10-9 -- Use proper private_libs expression for filtering requires/provides. - -* Fri Jun 08 2018 Severin Gehwolf - 1:10.0.1.10-8 -- Bump release and rebuild for fixed gdb. See RHBZ#1589118. - -* Mon Jun 04 2018 Jiri Vanek - 1:10.0.1.10-7 -- quoted sed expressions, changed possibly confusing # by @ -- added vendor(origin) into icons -- removed last trace of relative symlinks -- added BuildRequires of javapackages-tools to fix build failure after Requires change to javapackages-filesystem - -* Thu May 17 2018 Severin Gehwolf - 1:10.0.1.10-5 -- Move to javapackages-filesystem for directory ownership. - Resolves RHBZ#1500288 - -* Mon Apr 30 2018 Severin Gehwolf - 1:10.0.1.10-4 -- Add JDK-8193802-npe-jar-getVersionMap.patch so as to fix - RHBZ#1557375. - -* Mon Apr 23 2018 Severin Gehwolf - 1:10.0.1.10-3 -- Inject build flags properly. See RHBZ#1571359 -- Added patch JDK-8202262-libjsig.so-extra-link-flags.patch - since libjsig.so doesn't get linker flags injected properly. - -* Fri Apr 20 2018 Severin Gehwolf - 1:10.0.1.10-2 -- Removed unneeded patches: - PStack-808293.patch - multiple-pkcs11-library-init.patch - ppc_stack_overflow_fix.patch -- Added patches for s390 Zero builds: - JDK-8201495-s390-java-opts.patch - JDK-8201509-s390-atomic_store.patch -- Renamed patches for clarity: - aarch64BuildFailure.patch => JDK-8200556-aarch64-slowdebug-crash.patch - systemCryptoPolicyPR3183.patch => pr3183-rh1340845-support_fedora_rhel_system_crypto_policy.patch - bootcycle_jobs.patch => JDK-8201788-bootcycle-images-jobs.patch - system-nss-ec-rh1565658.patch => pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch - -* Fri Apr 20 2018 Jiri Vanek - 1:10.0.1.10-1 -- updated to security update 1 -- jexec unlinked from path -- used java-openjdk as boot jdk -- aligned provides/requires -- renamed zip javadoc - -* Tue Apr 10 2018 Severin Gehwolf - 1:10.0.0.46-12 -- Enable basic EC ciphers test in %%check. - -* Tue Apr 10 2018 Severin Gehwolf - 1:10.0.0.46-11 -- Port Martin Balao's JDK 9 patch for system NSS support to JDK 10. -- Resolves RHBZ#1565658 - -* Mon Apr 09 2018 Jiri Vanek - 1:10.0.0.46-10 -- jexec linked to path - -* Fri Apr 06 2018 Jiri Vanek - 1:10.0.0.46-9 -- subpackage(s) replaced by sub-package(s) and other cosmetic changes - -* Tue Apr 03 2018 Jiri Vanek - 1:10.0.0.46-8 -- removed accessibility sub-packages -- kept applied patch and properties files -- debug sub-packages renamed to slowdebug - -* Fri Feb 23 2018 Jiri Vanek - 1:10.0.0.46-1 -- initial load diff --git a/SPECS/java-17-openjdk.spec b/SPECS/java-17-openjdk.spec new file mode 120000 index 0000000..50eeed6 --- /dev/null +++ b/SPECS/java-17-openjdk.spec @@ -0,0 +1 @@ +../SOURCES/java-17-openjdk-portable.specfile \ No newline at end of file