import java-11-openjdk-11.0.14.1.1-6.el8
This commit is contained in:
parent
e2de325c39
commit
cfb881c040
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
SOURCES/jdk-updates-jdk11u-jdk-11.0.13+8-4curve.tar.xz
|
SOURCES/jdk-updates-jdk11u-jdk-11.0.14.1+1-4curve.tar.xz
|
||||||
SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
e36bde565834fe738fd222d419cfedc23ab80cee SOURCES/jdk-updates-jdk11u-jdk-11.0.13+8-4curve.tar.xz
|
dc2a5d071dcf324a925de54709e153c6df94dd43 SOURCES/jdk-updates-jdk11u-jdk-11.0.14.1+1-4curve.tar.xz
|
||||||
c8281ee37b77d535c9c1af86609a531958ff7b34 SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
c8281ee37b77d535c9c1af86609a531958ff7b34 SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||||
|
514
SOURCES/NEWS
514
SOURCES/NEWS
@ -3,6 +3,520 @@ Key:
|
|||||||
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
|
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
|
||||||
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
|
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
|
||||||
|
|
||||||
|
New in release OpenJDK 11.0.14.1 (2022-02-08):
|
||||||
|
=============================================
|
||||||
|
Live versions of these release notes can be found at:
|
||||||
|
* https://bitly.com/openjdk110141
|
||||||
|
* https://builds.shipilev.net/backports-monitor/release-notes-11.0.14.1.txt
|
||||||
|
|
||||||
|
* Other changes
|
||||||
|
- JDK-8218546: Unable to connect to https://google.com using java.net.HttpClient
|
||||||
|
- JDK-8280786: Build failure on Solaris after 8262392
|
||||||
|
- JDK-8281324: Bump update version for OpenJDK: jdk-11.0.14.1
|
||||||
|
|
||||||
|
New in release OpenJDK 11.0.14 (2022-01-18):
|
||||||
|
=============================================
|
||||||
|
Live versions of these release notes can be found at:
|
||||||
|
* https://bitly.com/openjdk11014
|
||||||
|
* https://builds.shipilev.net/backports-monitor/release-notes-11.0.14.txt
|
||||||
|
|
||||||
|
* New features
|
||||||
|
- JDK-8248238: Implementation: JEP 388: Windows AArch64 Support
|
||||||
|
* Security fixes
|
||||||
|
- JDK-8217375: jarsigner breaks old signature with long lines in manifest
|
||||||
|
- 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-8268795: Enhance digests of Jar files
|
||||||
|
- JDK-8268801: Improve PKCS attribute handling
|
||||||
|
- 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
|
||||||
|
- JDK-8279541: Improve HarfBuzz
|
||||||
|
* Other changes
|
||||||
|
- JDK-6849922: java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html fails
|
||||||
|
- JDK-7105119: [TEST_BUG] [macosx] In test UIDefaults.toString() must be called with the invokeLater()
|
||||||
|
- JDK-7151826: [TEST_BUG] [macosx] The test javax/swing/JPopupMenu/4966112/bug4966112.java not for mac
|
||||||
|
- JDK-7179006: [macosx] Print-to-file doesn't work: printing to the default printer instead
|
||||||
|
- JDK-8015602: [macosx] Test javax/swing/SpringLayout/4726194/bug4726194.java fails on MacOSX
|
||||||
|
- JDK-8034084: nsk.nsk/jvmti/ThreadStart/threadstart003 Wrong number of thread end events
|
||||||
|
- JDK-8039261: [TEST_BUG]: There is not a minimal security level in Java Preferences and the TestApplet.html is blocked.
|
||||||
|
- JDK-8047218: [TEST_BUG] java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java fails with exception
|
||||||
|
- JDK-8075909: [TEST_BUG] The regression-swing case failed as it does not have the 'Open' button when select 'subdir' folder with NimbusLAF
|
||||||
|
- JDK-8078219: Verify lack of @test tag in files in java/net test directory
|
||||||
|
- JDK-8080569: java/lang/ProcessBuilder/DestroyTest.java fails with "RuntimeException: Process terminated prematurely"
|
||||||
|
- JDK-8081652: [TESTBUG] java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java timed out intermittently
|
||||||
|
- JDK-8129310: java/net/Socket/asyncClose/AsyncClose.java fails intermittently
|
||||||
|
- JDK-8131745: java/lang/management/ThreadMXBean/AllThreadIds.java still fails intermittently
|
||||||
|
- JDK-8136517: [macosx]Test java/awt/Focus/8073453/AWTFocusTransitionTest.java fails on MacOSX
|
||||||
|
- JDK-8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
|
||||||
|
- JDK-8143021: [TEST_BUG] Test javax/swing/JColorChooser/Test6541987.java fails
|
||||||
|
- JDK-8159597: [TEST_BUG] closed/javax/swing/JPopupMenu/4760494/bug4760494.java leaves key pressed
|
||||||
|
- JDK-8159904: [TEST_BUG] Failure on solaris of java/awt/Window/MultiWindowApp/MultiWindowAppTest.java
|
||||||
|
- JDK-8163086: java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java fails
|
||||||
|
- JDK-8165828: [TEST_BUG] The reg case:javax/swing/plaf/metal/MetalIcons/MetalHiDPIIconsTest.java failed as No Metal Look and Feel
|
||||||
|
- JDK-8169953: JComboBox/8057893: ComboBoxEdited event is not fired! on Windows
|
||||||
|
- JDK-8169954: JFileChooser/8021253: java.lang.RuntimeException: Default button is not pressed
|
||||||
|
- JDK-8169959: javax/swing/JTable/6263446/bug6263446.java: Table should be editing
|
||||||
|
- JDK-8171381: [TEST_BUG] [macos] javax/swing/JPopupMenu/7156657/bug7156657.java fails on OS X
|
||||||
|
- JDK-8171998: javax/swing/JMenu/4692443/bug4692443.java fails on Windows
|
||||||
|
- JDK-8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
|
||||||
|
- JDK-8179880: Refactor javax/security shell tests to plain java tests
|
||||||
|
- JDK-8180568: Refactor javax/crypto shell tests to plain java tests
|
||||||
|
- JDK-8180569: Refactor sun/security/krb5/ shell tests to plain java tests
|
||||||
|
- JDK-8180571: Refactor sun/security/pkcs11 shell tests to plain java tests and fix failures
|
||||||
|
- JDK-8180573: Refactor sun/security/tools shell tests to plain java tests
|
||||||
|
- JDK-8187649: ArrayIndexOutOfBoundsException in java.util.JapaneseImperialCalendar
|
||||||
|
- JDK-8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
|
||||||
|
- JDK-8195703: BasicJDWPConnectionTest.java: 'App exited unexpectedly with 2'
|
||||||
|
- JDK-8196096: javax/swing/JPopupMenu/6580930/bug6580930.java fails
|
||||||
|
- JDK-8197560: test javax/swing/JTree/8003400/Test8003400.java fails
|
||||||
|
- JDK-8197800: Test java/awt/Focus/NonFocusableWindowTest/NoEventsTest.java fails on Windows
|
||||||
|
- JDK-8197811: Test java/awt/Choice/PopupPosTest/PopupPosTest.java fails on Windows
|
||||||
|
- JDK-8198616: java/awt/Focus/6378278/InputVerifierTest.java fails on mac
|
||||||
|
- JDK-8198617: java/awt/Focus/6382144/EndlessLoopTest.java fails on mac
|
||||||
|
- JDK-8198619: java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java fails on mac
|
||||||
|
- JDK-8198623: java/awt/KeyboardFocusmanager/TypeAhead/EnqueueWithDialogButtonTest/EnqueueWithDialogButtonTest.java fails on mac
|
||||||
|
- JDK-8198624: java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html fails on mac
|
||||||
|
- JDK-8199138: Add RISC-V support to Zero
|
||||||
|
- JDK-8199529: javax/swing/text/Utilities/8142966/SwingFontMetricsTest.java fails on windows
|
||||||
|
- JDK-8201224: Make string buffer size dynamic in mlvmJvmtiUtils.c
|
||||||
|
- JDK-8202342: [Graal] fromTonga/nsk/jvmti/unit/FollowReferences/followref003/TestDescription.java fails with "Location mismatch" errors
|
||||||
|
- JDK-8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception
|
||||||
|
- JDK-8206085: Refactor langtools/tools/javac/versions/Versions.java
|
||||||
|
- JDK-8207936: TestZipFile failed with java.lang.AssertionError exception
|
||||||
|
- JDK-8208242: Add @requires to vmTestbase/gc/g1 tests
|
||||||
|
- JDK-8209611: use C++ compiler for hotspot tests
|
||||||
|
- JDK-8210182: Remove macros for C compilation from vmTestBase but non jvmti
|
||||||
|
- JDK-8210198: Clean up JNI_ENV_ARG for vmTestbase/jvmti/Get[A-F] tests
|
||||||
|
- JDK-8210205: build fails on AIX in hotspot cpp tests (for example getstacktr001.cpp)
|
||||||
|
- JDK-8210242: [TESTBUG] vmTestbase/nsk/stress/jni/jnistress001.java crashes with EXCEPTION_ACCESS_VIOLATION on windows-x86
|
||||||
|
- JDK-8210353: Move java/util/Arrays/TimSortStackSize2.java back to tier1
|
||||||
|
- JDK-8210385: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[A-N] tests
|
||||||
|
- JDK-8210392: assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit
|
||||||
|
- JDK-8210395: Add doc to SecurityTools.java
|
||||||
|
- JDK-8210429: Clean up JNI_ENV_ARG for vmTestbase/jvmti/Get[G-Z] tests
|
||||||
|
- JDK-8210481: Remove #ifdef cplusplus from vmTestbase
|
||||||
|
- JDK-8210593: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[N-R] tests
|
||||||
|
- JDK-8210665: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[R-U] tests
|
||||||
|
- JDK-8210689: Remove the multi-line old C style for string literals
|
||||||
|
- JDK-8210700: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti/unit tests
|
||||||
|
- JDK-8210726: Fix up a few minor nits forgotten by JDK-8210665
|
||||||
|
- JDK-8210920: Native C++ tests are not using CXXFLAGS
|
||||||
|
- JDK-8210984: [TESTBUG] hs203t003 fails with "# ERROR: hs203t003.cpp, 218: NSK_CPP_STUB2 ( ResumeThread, jvmti, thread)"
|
||||||
|
- JDK-8211036: Remove the NSK_STUB macros from vmTestbase for non jvmti
|
||||||
|
- JDK-8211131: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[G-I]*
|
||||||
|
- JDK-8211148: var in implicit lambdas shouldn't be accepted for source < 11
|
||||||
|
- JDK-8211171: move JarUtils to top-level testlibrary
|
||||||
|
- JDK-8211227: Inconsistent TLS protocol version in debug output
|
||||||
|
- JDK-8211261: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[A-G]*
|
||||||
|
- JDK-8211432: [REDO] Handle JNIGlobalRefLocker.cpp
|
||||||
|
- JDK-8211782: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[I-S]*
|
||||||
|
- JDK-8211801: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/scenarios/[A-E]
|
||||||
|
- JDK-8211899: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/scenarios/[E-M]
|
||||||
|
- JDK-8211905: Remove multiple casts for EM06 file
|
||||||
|
- JDK-8211999: Window positioning bugs due to overlapping GraphicsDevice bounds (Windows/HiDPI)
|
||||||
|
- JDK-8212082: Remove the NSK_CPP_STUB macros for remaining vmTestbase/jvmti/[sS]*
|
||||||
|
- JDK-8212083: Handle remaining gc/lock native code and fix two strings
|
||||||
|
- JDK-8212148: Remove remaining NSK_CPP_STUBs
|
||||||
|
- JDK-8213110: Remove the use of applets in automatic tests
|
||||||
|
- JDK-8213189: Make restricted headers in HTTP Client configurable and remove Date by default
|
||||||
|
- JDK-8213263: fix legal headers in test/langtools
|
||||||
|
- JDK-8213296: Fix legal headers in test/jdk/java/net
|
||||||
|
- JDK-8213301: Fix legal headers in jdk logging tests
|
||||||
|
- JDK-8213305: Fix legal headers in test/java/math
|
||||||
|
- JDK-8213306: Fix legal headers in test/java/nio
|
||||||
|
- JDK-8213328: Update test copyrights in test/java/util/zip and test/jdk/tools
|
||||||
|
- JDK-8213330: Fix legal headers in i18n tests
|
||||||
|
- JDK-8213707: [TEST] vmTestbase/nsk/stress/except/except011.java failed due to wrong class name
|
||||||
|
- JDK-8214469: [macos] PIT: java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.java fails
|
||||||
|
- JDK-8215410: Regression test for JDK-8214994
|
||||||
|
- JDK-8215568: Refactor SA clhsdb tests to use ClhsdbLauncher
|
||||||
|
- JDK-8215624: Add parallel heap iteration for jmap –histo
|
||||||
|
- JDK-8215889: assert(!_unloading) failed: This oop is not available to unloading class loader data with ZGC
|
||||||
|
- JDK-8216318: The usage of Disposer in the java.awt.Robot can be deleted
|
||||||
|
- JDK-8216417: cleanup of IPv6 scope-id handling
|
||||||
|
- JDK-8217377: javax/swing/JPopupMenu/6583251/bug6583251.java failed with UnsupportedOperation exception
|
||||||
|
- JDK-8217438: Adapt tools//launcher/Test7029048.java for AIX
|
||||||
|
- JDK-8217633: Configurable extensions with system properties
|
||||||
|
- JDK-8217882: java/net/httpclient/MaxStreams.java failed once
|
||||||
|
- JDK-8217903: java/net/httpclient/Response204.java fails with 404
|
||||||
|
- JDK-8218483: Crash in "assert(_daemon_threads_count->get_value() > daemon_count) failed: thread count mismatch 5 : 5"
|
||||||
|
- JDK-8219986: Change to Xcode 10.1 for building on Macosx at Oracle
|
||||||
|
- JDK-8220575: Correctly format test URI's that contain a retrieved IPv6 address
|
||||||
|
- JDK-8221259: New tests for java.net.Socket to exercise long standing behavior
|
||||||
|
- JDK-8221305: java/awt/FontMetrics/MaxAdvanceIsMax.java fails on MacOS + Solaris
|
||||||
|
- JDK-8221902: PIT: javax/swing/JRadioButton/FocusTraversal/FocusTraversal.java fails on ubuntu
|
||||||
|
- JDK-8221903: PIT: javax/swing/RepaintManager/IconifyTest/IconifyTest.java fails on ubuntu18.04
|
||||||
|
- JDK-8222446: assert(C->env()->system_dictionary_modification_counter_changed()) failed: Must invalidate if TypeFuncs differ
|
||||||
|
- JDK-8223137: Rename predicate 'do_unroll_only()' to 'is_unroll_only()'.
|
||||||
|
- JDK-8223138: Small clean-up in loop-tree support.
|
||||||
|
- JDK-8223139: Rename mandatory policy-do routines.
|
||||||
|
- JDK-8223140: Clean-up in 'ok_to_convert()'
|
||||||
|
- JDK-8223141: Change (count) suffix _ct into _cnt.
|
||||||
|
- JDK-8223400: Replace some enums with static const members in hotspot/runtime
|
||||||
|
- JDK-8223658: Performance regression of XML.validation in 13-b19
|
||||||
|
- JDK-8223923: C2: Missing interference with mismatched unsafe accesses
|
||||||
|
- JDK-8224829: AsyncSSLSocketClose.java has timing issue
|
||||||
|
- JDK-8225083: Remove Google certificate that is expiring in December 2021
|
||||||
|
- JDK-8226514: Replace wildcard address with loopback or local host in tests - part 17
|
||||||
|
- JDK-8226943: compile error in libfollowref003.cpp with XCode 10.2 on macosx
|
||||||
|
- JDK-8228442: DHKeyExchange/LegacyDHEKeyExchange.java failed due to "SSLException: An established connection was aborted by the software in your host machine"
|
||||||
|
- JDK-8228508: [TESTBUG] java/net/httpclient/SmokeTest.java fails on Windows7
|
||||||
|
- JDK-8229935: [TEST_BUG]: bug8132119.java inconsistently positions text
|
||||||
|
- JDK-8230019: [REDO] compiler/types/correctness/* tests fail with "assert(recv == __null || recv->is_klass()) failed: wrong type"
|
||||||
|
- JDK-8230067: Add optional automatic retry when running jtreg tests
|
||||||
|
- JDK-8230228: [TESTBUG] Several runtime/ErrorHandling tests may fail on some platforms
|
||||||
|
- JDK-8231501: VM crash in MethodData::clean_extra_data(CleanExtraDataClosure*): fatal error: unexpected tag 99
|
||||||
|
- JDK-8233403: Improve verbosity of some httpclient tests
|
||||||
|
- JDK-8233550: [TESTBUG] JTree tests fail regularly on MacOS
|
||||||
|
- JDK-8233552: [TESTBUG] JTable Test bug7068740.java fails on MacOS
|
||||||
|
- JDK-8233553: [TESTBUG] JSpinner test bug4973721.java fails on MacOS
|
||||||
|
- JDK-8233555: [TESTBUG] JRadioButton tests failing on MacoS
|
||||||
|
- JDK-8233556: [TESTBUG] JPopupMenu tests fail on MacOS
|
||||||
|
- JDK-8233559: [TESTBUG] TestNimbusOverride.java is failing on macos
|
||||||
|
- JDK-8233560: [TESTBUG] ToolTipManager/Test6256140.java is failing on macos
|
||||||
|
- JDK-8233561: [TESTBUG] Swing text test bug8014863.java fails on macos
|
||||||
|
- JDK-8233562: [TESTBUG] Swing StyledEditorKit test bug4506788.java fails on MacOS
|
||||||
|
- JDK-8233564: [TESTBUG] MouseComboBoxTest.java is failing
|
||||||
|
- JDK-8233566: [TESTBUG] KeyboardFocusManager tests failing on MacoS
|
||||||
|
- JDK-8233567: [TESTBUG] FocusSubRequestTest.java fails on macos
|
||||||
|
- JDK-8233569: [TESTBUG] JTextComponent test bug6361367.java fails on macos
|
||||||
|
- JDK-8233570: [TESTBUG] HTMLEditorKit test bug5043626.java is failing on macos
|
||||||
|
- JDK-8233634: [TESTBUG] Swing text test bug4278839.java fails on macos
|
||||||
|
- JDK-8233635: [TESTBUG] ProgressMonitorEscapeKeyPress.java fails on macos
|
||||||
|
- JDK-8233637: [TESTBUG] Swing ActionListenerCalledTwiceTest.java fails on macos
|
||||||
|
- JDK-8233638: [TESTBUG] Swing test ScreenMenuBarInputTwice.java fails on macos
|
||||||
|
- JDK-8233641: [TESTBUG] JMenuItem test bug4171437.java fails on macos
|
||||||
|
- JDK-8233642: [TESTBUG] JMenuBar test bug 4750590.java fails on macos
|
||||||
|
- JDK-8233643: [TESTBUG] JMenu test bug4515762.java fails on macos
|
||||||
|
- JDK-8233644: [TESTBUG] JInternalFrame test bug8020708.java is failing on macos
|
||||||
|
- JDK-8233647: [TESTBUG] JColorChooser/Test8051548.java is failing on macos
|
||||||
|
- JDK-8234802: [TESTBUG] Test Right Mouse Button Drag Gesture Recognition in all the platforms
|
||||||
|
- JDK-8234823: java/net/Socket/Timeouts.java testcase testTimedConnect2() fails on Windows 10
|
||||||
|
- JDK-8235784: java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java fails due to timeout with fastdebug bits
|
||||||
|
- JDK-8236042: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -Xcomp -XX:TieredStopAtLevel=1
|
||||||
|
- JDK-8236177: assert(status == 0) failed: error ETIMEDOUT(60), cond_wait
|
||||||
|
- JDK-8236596: HttpClient leaves HTTP/2 sockets in CLOSE_WAIT, when using proxy tunnel
|
||||||
|
- JDK-8237354: Add option to jcmd to write a gzipped heap dump
|
||||||
|
- JDK-8237589: Fix copyright header formatting
|
||||||
|
- JDK-8238677: java/net/httpclient/ssltest/CertificateTest.java should not specify TLS version
|
||||||
|
- JDK-8239334: Tab Size does not work correctly in JTextArea with setLineWrap on
|
||||||
|
- JDK-8239422: [TESTBUG] compiler/c1/TestPrintIRDuringConstruction.java failed when C1 is disabled
|
||||||
|
- JDK-8239827: The test OpenByUNCPathNameTest.java should be changed to be manual
|
||||||
|
- JDK-8240256: Better resource cleaning for SunPKCS11 Provider
|
||||||
|
- JDK-8242044: Add basic HTTP/1.1 support to the HTTP/2 Test Server
|
||||||
|
- JDK-8242526: PIT: javax/swing/JInternalFrame/8020708/bug8020708.java fails in mach5 ubuntu system
|
||||||
|
- JDK-8242793: Incorrect copyright header in ContinuousCallSiteTargetChange.java
|
||||||
|
- JDK-8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
|
||||||
|
- JDK-8244292: Headful clients failing with --illegal-access=deny
|
||||||
|
- JDK-8245147: Refactor and improve utility of test/langtools/tools/javac/versions/Versions.java
|
||||||
|
- JDK-8245165: Update bug id for javax/swing/text/StyledEditorKit/4506788/bug4506788.java in ProblemList
|
||||||
|
- JDK-8245665: Test WeakAlg.java should only make sure no warning for weak signature algorithms by keytool on root CA
|
||||||
|
- JDK-8246114: java/net/MulticastSocket/Promiscuous.java fails after 8241072 (multi-homed systems)
|
||||||
|
- JDK-8246807: Incorrect copyright header in TimeZoneDatePermissionCheck.sh
|
||||||
|
- JDK-8247403: JShell: No custom input (e.g. from GUI) possible with JavaShellToolBuilder
|
||||||
|
- JDK-8247510: typo in IllegalHandshakeMessage
|
||||||
|
- JDK-8248187: [TESTBUG] javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java fails with String is not properly drawn
|
||||||
|
- JDK-8248341: ProblemList java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java
|
||||||
|
- JDK-8248500: AArch64: Remove the r18 dependency on Windows AArch64
|
||||||
|
- JDK-8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
|
||||||
|
- JDK-8249195: Change to Xcode 11.3.1 for building on Macos at Oracle
|
||||||
|
- JDK-8250521: Configure initial RTO to use minimal retry for loopback connections on Windows
|
||||||
|
- JDK-8250810: Push missing parts of JDK-8248817
|
||||||
|
- JDK-8250839: Improve test template SSLEngineTemplate with SSLContextTemplate
|
||||||
|
- JDK-8250863: Build error with GCC 10 in NetworkInterface.c and k_standard.c
|
||||||
|
- JDK-8250888: nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java fails
|
||||||
|
- JDK-8251155: HostIdentifier fails to canonicalize hostnames starting with digits
|
||||||
|
- JDK-8251377: [macos11] JTabbedPane selected tab text is barely legible
|
||||||
|
- JDK-8251570: JDK-8215624 causes assert(worker_id < _n_workers) failed: Invalid worker_id
|
||||||
|
- JDK-8251930: AArch64: Native types mismatch in hotspot
|
||||||
|
- JDK-8252049: Native memory leak in ciMethodData ctor
|
||||||
|
- JDK-8252051: Make mlvmJvmtiUtils strncpy uses GCC 10.x friendly
|
||||||
|
- JDK-8252114: Windows-AArch64: Enable and test ZGC and ShenandoahGC
|
||||||
|
- JDK-8253015: Aarch64: Move linux code out from generic CPU feature detection
|
||||||
|
- JDK-8253147: The javax/swing/JPopupMenu/7154841/bug7154841.java fail on big screens
|
||||||
|
- JDK-8253497: Core Libs Terminology Refresh
|
||||||
|
- JDK-8253682: The AppletInitialFocusTest1.java is unstable
|
||||||
|
- JDK-8253763: ParallelObjectIterator should have virtual destructor
|
||||||
|
- JDK-8253866: Security Libs Terminology Refresh
|
||||||
|
- JDK-8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY"
|
||||||
|
- JDK-8255227: java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface
|
||||||
|
- JDK-8255264: Support for identifying the full range of IPv4 localhost addresses on Windows
|
||||||
|
- JDK-8255716: AArch64: Regression: JVM crashes if manually offline a core
|
||||||
|
- JDK-8255722: Create a new test for rotated blit
|
||||||
|
- JDK-8256009: Remove src/hotspot/share/adlc/Test/i486.ad
|
||||||
|
- JDK-8256066: Tests use deprecated TestNG API that is no longer available in new versions
|
||||||
|
- JDK-8256152: tests fail because of ambiguous method resolution
|
||||||
|
- JDK-8256182: Update qemu-debootstrap cross-compilation recipe
|
||||||
|
- JDK-8256201: java/awt/FullScreen/FullscreenWindowProps/FullscreenWindowProps.java failed
|
||||||
|
- JDK-8256202: Some tweaks for jarsigner tests PosixPermissionsTest and SymLinkTest
|
||||||
|
- JDK-8256372: [macos] Unexpected symbol was displayed on JTextField with Monospaced font
|
||||||
|
- JDK-8256956: RegisterImpl::max_slots_per_register is incorrect on AMD64
|
||||||
|
- JDK-8258457: testlibrary_tests/ctw/JarDirTest.java fails with InvalidPathException on windows
|
||||||
|
- JDK-8258855: Two tests sun/security/krb5/auto/ReplayCacheTestProc.java and ReplayCacheTestProcWithMD5.java failed on OL8.3
|
||||||
|
- JDK-8259237: Demo selection changes with left/right arrow key. No need to press space for selection.
|
||||||
|
- JDK-8260571: Add PrintMetaspaceStatistics to print metaspace statistics upon VM exit
|
||||||
|
- JDK-8260690: JConsole User Guide Link from the Help menu is not accessible by keyboard
|
||||||
|
- JDK-8261036: Reduce classes loaded by CleanerFactory initialization
|
||||||
|
- JDK-8261071: AArch64: Refactor interpreter native wrappers
|
||||||
|
- JDK-8261075: Create stubRoutines.inline.hpp with SafeFetch implementation
|
||||||
|
- JDK-8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
|
||||||
|
- JDK-8261297: NMT: Final report should use scale 1
|
||||||
|
- JDK-8261661: gc/stress/TestReclaimStringsLeaksMemory.java fails because Reserved memory size is too big
|
||||||
|
- JDK-8261916: gtest/GTestWrapper.java vmErrorTest.unimplemented1_vm_assert failed
|
||||||
|
- JDK-8262438: sun/security/ssl/SSLLogger/LoggingFormatConsistency.java failed with "SocketException: Socket is closed"
|
||||||
|
- JDK-8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
|
||||||
|
- JDK-8262844: (fs) FileStore.supportsFileAttributeView might return false negative in case of ext3
|
||||||
|
- JDK-8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
|
||||||
|
- JDK-8263068: Rename safefetch.hpp to safefetch.inline.hpp
|
||||||
|
- JDK-8263303: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint
|
||||||
|
- JDK-8263362: Avoid division by 0 in java/awt/font/TextJustifier.java justify
|
||||||
|
- JDK-8263773: Reenable German localization for builds at Oracle
|
||||||
|
- JDK-8263897: compiler/c2/aarch64/TestVolatilesSerial.java failed with "java.lang.RuntimeException: Wrong method"
|
||||||
|
- JDK-8264526: javax/swing/text/html/parser/Parser/8078268/bug8078268.java timeout
|
||||||
|
- JDK-8264824: java/net/Inet6Address/B6206527.java doesn't close ServerSocket properly
|
||||||
|
- JDK-8265019: Update tests for additional TestNG test permissions
|
||||||
|
- JDK-8265173: [test] divert spurious log output away from stream under test in ProcessBuilder Basic test
|
||||||
|
- JDK-8265524: Upgrading JSZip from v3.2.2 to v3.6.0
|
||||||
|
- JDK-8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
|
||||||
|
- JDK-8266579: Update test/jdk/java/lang/ProcessHandle/PermissionTest.java & test/jdk/java/sql/testng/util/TestPolicy.java
|
||||||
|
- JDK-8266949: Check possibility to disable OperationTimedOut on Unix
|
||||||
|
- JDK-8267246: -XX:MaxRAMPercentage=0 is unreasonable for jtreg tests on many-core machines
|
||||||
|
- JDK-8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
|
||||||
|
- JDK-8267304: Bump global JTReg memory limit to 768m
|
||||||
|
- JDK-8267652: c2 loop unrolling by 8 results in reading memory past array
|
||||||
|
- JDK-8268019: C2: assert(no_dead_loop) failed: dead loop detected
|
||||||
|
- JDK-8268093: Manual Testcase: "sun/security/krb5/config/native/TestDynamicStore.java" Fails with NPE
|
||||||
|
- JDK-8268555: Update HttpClient tests that use ITestContext to jtreg 6+1
|
||||||
|
- JDK-8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only
|
||||||
|
- JDK-8269034: AccessControlException for SunPKCS11 daemon threads
|
||||||
|
- JDK-8269426: Rename test/jdk/java/lang/invoke/t8150782 to accessClassAndFindClass
|
||||||
|
- JDK-8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
|
||||||
|
- JDK-8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
|
||||||
|
- JDK-8269768: JFR Terminology Refresh
|
||||||
|
- JDK-8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked
|
||||||
|
- JDK-8269984: [macos] JTabbedPane title looks like disabled
|
||||||
|
- JDK-8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
|
||||||
|
- JDK-8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
|
||||||
|
- JDK-8270216: [macOS] Update named used for Java run loop mode
|
||||||
|
- JDK-8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java OCSP response error
|
||||||
|
- JDK-8270290: NTLM authentication fails if HEAD request is used
|
||||||
|
- JDK-8270317: Large Allocation in CipherSuite
|
||||||
|
- JDK-8270344: Session resumption errors
|
||||||
|
- 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-8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
|
||||||
|
- 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-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-8272180: Upgrade JSZip from v3.6.0 to v3.7.1
|
||||||
|
- JDK-8272181: Windows-AArch64:Backport fix of `Backtracing broken on PAC enabled systems`
|
||||||
|
- JDK-8272316: Wrong Boot JDK help message in 11
|
||||||
|
- JDK-8272318: Improve performance of HeapDumpAllTest
|
||||||
|
- JDK-8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
|
||||||
|
- JDK-8272570: C2: crash in PhaseCFG::global_code_motion
|
||||||
|
- JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
|
||||||
|
- JDK-8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
|
||||||
|
- JDK-8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
|
||||||
|
- JDK-8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
|
||||||
|
- JDK-8272783: Epsilon: Refactor tests to improve performance
|
||||||
|
- JDK-8272806: [macOS] "Apple AWT Internal Exception" when input method is changed
|
||||||
|
- JDK-8272828: Add correct licenses to jszip.md
|
||||||
|
- JDK-8272836: Limit run time for java/lang/invoke/LFCaching tests
|
||||||
|
- JDK-8272850: Drop zapping values in the Zap* option descriptions
|
||||||
|
- JDK-8272902: Bump update version for OpenJDK: jdk-11.0.14
|
||||||
|
- JDK-8272914: Create hotspot:tier2 and hotspot:tier3 test groups
|
||||||
|
- JDK-8272966: test/jdk/java/awt/Robot/FlushCurrentEvent.java fails by timeout
|
||||||
|
- JDK-8273026: Slow LoginContext.login() on multi threading application
|
||||||
|
- JDK-8273229: Update OS detection code to recognize Windows Server 2022
|
||||||
|
- JDK-8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
|
||||||
|
- JDK-8273308: PatternMatchTest.java fails on CI
|
||||||
|
- JDK-8273314: Add tier4 test groups
|
||||||
|
- JDK-8273342: Null pointer dereference in classFileParser.cpp:2817
|
||||||
|
- JDK-8273358: macOS Monterey does not have the font Times needed by Serif
|
||||||
|
- JDK-8273373: Zero: Cannot invoke JVM in primordial threads on Zero
|
||||||
|
- JDK-8273498: compiler/c2/Test7179138_1.java timed out
|
||||||
|
- JDK-8273541: Cleaner Thread creates with normal priority instead of MAX_PRIORITY - 2
|
||||||
|
- JDK-8273547: [11u] [JVMCI] Partial module-info.java backport of JDK-8223332
|
||||||
|
- JDK-8273606: Zero: SPARC64 build fails with si_band type mismatch
|
||||||
|
- JDK-8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
|
||||||
|
- JDK-8273671: Backport of 8260616 misses one JNF header inclusion removal
|
||||||
|
- JDK-8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
|
||||||
|
- JDK-8273795: Zero SPARC64 debug builds fail due to missing interpreter fields
|
||||||
|
- JDK-8273826: Correct Manifest file name and NPE checks
|
||||||
|
- JDK-8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
|
||||||
|
- JDK-8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
|
||||||
|
- JDK-8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
|
||||||
|
- JDK-8273968: JCK javax_xml tests fail in CI
|
||||||
|
- JDK-8274056: JavaAccessibilityUtilities leaks JNI objects
|
||||||
|
- JDK-8274083: Update testing docs to mention tiered testing
|
||||||
|
- JDK-8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated
|
||||||
|
- 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-8274381: missing CAccessibility definitions in JNI code
|
||||||
|
- JDK-8274407: (tz) Update Timezone Data to 2021c
|
||||||
|
- JDK-8274467: TestZoneInfo310.java fails with tzdata2021b
|
||||||
|
- JDK-8274468: TimeZoneTest.java fails with tzdata2021b
|
||||||
|
- JDK-8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
|
||||||
|
- JDK-8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
|
||||||
|
- 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-8274860: gcc 10.2.1 produces an uninitialized warning in sharedRuntimeTrig.cpp
|
||||||
|
- JDK-8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
|
||||||
|
- JDK-8275131: Exceptions after a touchpad gesture on macOS
|
||||||
|
- JDK-8275713: TestDockerMemoryMetrics test fails on recent runc
|
||||||
|
- JDK-8275766: (tz) Update Timezone Data to 2021e
|
||||||
|
- JDK-8275849: TestZoneInfo310.java fails with tzdata2021e
|
||||||
|
- JDK-8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
|
||||||
|
- 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-8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766
|
||||||
|
- JDK-8276550: Use SHA256 hash in build.tools.depend.Depend
|
||||||
|
- JDK-8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
|
||||||
|
- JDK-8276854: Windows GHA builds fail due to broken Cygwin
|
||||||
|
- JDK-8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
|
||||||
|
- JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
|
||||||
|
- JDK-8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
|
||||||
|
- JDK-8277815: Fix mistakes in legal header backports
|
||||||
|
|
||||||
|
Notes on individual issues:
|
||||||
|
===========================
|
||||||
|
|
||||||
|
core-svc/tools:
|
||||||
|
|
||||||
|
JDK-8250554: New Option Added to jcmd for Writing a gzipped Heap Dump
|
||||||
|
=====================================================================
|
||||||
|
A new integer option `gz` has been added to the `GC.heap_dump`
|
||||||
|
diagnostic command. If it is specified, it will enable the gzip
|
||||||
|
compression of the written heap dump. The supplied value is the
|
||||||
|
compression level. It can range from 1 (fastest) to 9 (slowest, but
|
||||||
|
best compression). The recommended level is 1.
|
||||||
|
|
||||||
|
security-libs/javax.net.ssl:
|
||||||
|
|
||||||
|
JDK-8260310: Configurable Extensions With System Properties
|
||||||
|
===========================================================
|
||||||
|
Two new system properties have been added. The system property,
|
||||||
|
`jdk.tls.client.disableExtensions`, is used to disable TLS extensions
|
||||||
|
used in the client. The system property,
|
||||||
|
`jdk.tls.server.disableExtensions`, is used to disable TLS extensions
|
||||||
|
used in the server. If an extension is disabled, it will be neither
|
||||||
|
produced nor processed in the handshake messages.
|
||||||
|
|
||||||
|
The property string is a list of comma separated standard TLS
|
||||||
|
extension names, as registered in the IANA documentation (for example,
|
||||||
|
server_name, status_request, and signature_algorithms_cert). Note that
|
||||||
|
the extension names are case sensitive. Unknown, unsupported,
|
||||||
|
misspelled and duplicated TLS extension name tokens will be ignored.
|
||||||
|
|
||||||
|
Please note that the impact of blocking TLS extensions is
|
||||||
|
complicated. For example, a TLS connection may not be able to be
|
||||||
|
established if a mandatory extension is disabled. Please do not
|
||||||
|
disable mandatory extensions, and do not use this feature unless you
|
||||||
|
clearly understand the impact.
|
||||||
|
|
||||||
|
security-libs/javax.crypto:pkcs11:
|
||||||
|
|
||||||
|
JDK-8272907: New SunPKCS11 Configuration Properties
|
||||||
|
===================================================
|
||||||
|
The SunPKCS11 provider gains new provider configuration attributes to
|
||||||
|
better control native resources usage. The SunPKCS11 provider consumes
|
||||||
|
native resources in order to work with native PKCS11 libraries. To
|
||||||
|
manage and better control the native resources, additional
|
||||||
|
configuration attributes are added to control the frequency of
|
||||||
|
clearing native references as well as whether to destroy the
|
||||||
|
underlying PKCS11 Token after logout.
|
||||||
|
|
||||||
|
The 3 new attributes for the SunPKCS11 provider configuration file
|
||||||
|
are:
|
||||||
|
|
||||||
|
1) `destroyTokenAfterLogout` (boolean, defaults to false)
|
||||||
|
|
||||||
|
If set to true, when `java.security.AuthProvider.logout()` is called
|
||||||
|
upon the SunPKCS11 provider instance, the underlying Token object will
|
||||||
|
be destroyed and resources will be freed. This essentially renders the
|
||||||
|
SunPKCS11 provider instance unusable after `logout()` calls. Note that
|
||||||
|
a PKCS11 provider with this attribute set to `true` should not be
|
||||||
|
added to the system provider list since the provider object is not
|
||||||
|
usable after a `logout()` method call.
|
||||||
|
|
||||||
|
2) `cleaner.shortInterval` (integer, defaults to 2000, in milliseconds)
|
||||||
|
|
||||||
|
This defines the frequency for clearing native references during busy
|
||||||
|
periods (such as, how often should the cleaner thread processes the
|
||||||
|
no-longer-needed native references in the queue to free up native
|
||||||
|
memory). Note that the cleaner thread will switch to the
|
||||||
|
'longInterval' frequency after 200 failed tries (such as, when no
|
||||||
|
references are found in the queue).
|
||||||
|
|
||||||
|
3) `cleaner.longInterval` (integer, defaults to 60000, in milliseconds)
|
||||||
|
|
||||||
|
This defines the frequency for checking native reference during
|
||||||
|
non-busy period (such as, how often should the cleaner thread check
|
||||||
|
the queue for native references). Note that the cleaner thread will
|
||||||
|
switch back to the 'shortInterval' value if native PKCS11 references
|
||||||
|
for cleaning are detected.
|
||||||
|
|
||||||
|
core-libs/java.nio:
|
||||||
|
|
||||||
|
JDK-8271517: Zip File System Provider Throws ZipException when entry name element contains "." or "."
|
||||||
|
=====================================================================================================
|
||||||
|
The ZIP file system provider has been changed to reject existing ZIP
|
||||||
|
files that contain entries with "." or ".." in name elements. ZIP
|
||||||
|
files with these entries can not be used as a file system. Invoking
|
||||||
|
the `java.nio.file.FileSystems.newFileSystem(...)` methods will throw
|
||||||
|
`ZipException` if the ZIP file contains these entries.
|
||||||
|
|
||||||
|
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.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 11.0.13 (2021-10-19):
|
New in release OpenJDK 11.0.13 (2021-10-19):
|
||||||
=============================================
|
=============================================
|
||||||
Live versions of these release notes can be found at:
|
Live versions of these release notes can be found at:
|
||||||
|
12
SOURCES/jdk8257794-remove_broken_assert.patch
Normal file
12
SOURCES/jdk8257794-remove_broken_assert.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff --git openjdk.orig/src/hotspot/share/interpreter/bytecodeInterpreter.cpp openjdk/src/hotspot/share/interpreter/bytecodeInterpreter.cpp
|
||||||
|
index d18d70b5f9..30ab380e40 100644
|
||||||
|
--- openjdk.orig/src/hotspot/share/interpreter/bytecodeInterpreter.cpp
|
||||||
|
+++ openjdk/src/hotspot/share/interpreter/bytecodeInterpreter.cpp
|
||||||
|
@@ -481,7 +481,6 @@ BytecodeInterpreter::run(interpreterState istate) {
|
||||||
|
#ifdef ASSERT
|
||||||
|
if (istate->_msg != initialize) {
|
||||||
|
assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
|
||||||
|
- IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong"));
|
||||||
|
}
|
||||||
|
// Verify linkages.
|
||||||
|
interpreterState l = istate;
|
26
SOURCES/jdk8275535-rh2053256-ldap_auth.patch
Normal file
26
SOURCES/jdk8275535-rh2053256-ldap_auth.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
diff --git openjdk.orig/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java openjdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||||||
|
index 300f3682655..6f3eb6c450b 100644
|
||||||
|
--- openjdk.orig/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||||||
|
+++ openjdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||||||
|
@@ -226,6 +226,10 @@ final public class LdapCtxFactory implements ObjectFactory, InitialContextFactor
|
||||||
|
ctx = getLdapCtxFromUrl(
|
||||||
|
r.getDomainName(), url, new LdapURL(u), env);
|
||||||
|
return ctx;
|
||||||
|
+ } catch (AuthenticationException e) {
|
||||||
|
+ // do not retry on a different endpoint to avoid blocking
|
||||||
|
+ // the user if authentication credentials are wrong.
|
||||||
|
+ throw e;
|
||||||
|
} catch (NamingException e) {
|
||||||
|
// try the next element
|
||||||
|
lastException = e;
|
||||||
|
@@ -278,6 +282,10 @@ final public class LdapCtxFactory implements ObjectFactory, InitialContextFactor
|
||||||
|
for (String u : urls) {
|
||||||
|
try {
|
||||||
|
return getUsingURL(u, env);
|
||||||
|
+ } catch (AuthenticationException e) {
|
||||||
|
+ // do not retry on a different URL to avoid blocking
|
||||||
|
+ // the user if authentication credentials are wrong.
|
||||||
|
+ throw e;
|
||||||
|
} catch (NamingException e) {
|
||||||
|
ex = e;
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
name = NSS-FIPS
|
name = NSS-FIPS
|
||||||
nssLibraryDirectory = @NSS_LIBDIR@
|
nssLibraryDirectory = @NSS_LIBDIR@
|
||||||
nssSecmodDirectory = @NSS_SECMOD@
|
nssSecmodDirectory = sql:/etc/pki/nssdb
|
||||||
nssDbMode = readOnly
|
nssDbMode = readOnly
|
||||||
nssModule = fips
|
nssModule = fips
|
||||||
|
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
commit 598fe421216b0a437fa36ee91a29966599867aa3
|
|
||||||
Author: Andrew Hughes <gnu.andrew@redhat.com>
|
|
||||||
Date: Mon Aug 30 16:12:52 2021 +0100
|
|
||||||
|
|
||||||
RH1996182: Extend default security policy to allow SunPKCS11 access to jdk.internal.misc
|
|
||||||
|
|
||||||
diff --git openjdk.orig/src/java.base/share/lib/security/default.policy openjdk/src/java.base/share/lib/security/default.policy
|
|
||||||
index ab59a334cd..5db744ff17 100644
|
|
||||||
--- openjdk.orig/src/java.base/share/lib/security/default.policy
|
|
||||||
+++ openjdk/src/java.base/share/lib/security/default.policy
|
|
||||||
@@ -124,6 +124,7 @@ grant codeBase "jrt:/jdk.crypto.ec" {
|
|
||||||
grant codeBase "jrt:/jdk.crypto.cryptoki" {
|
|
||||||
permission java.lang.RuntimePermission
|
|
||||||
"accessClassInPackage.com.sun.crypto.provider";
|
|
||||||
+ permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.misc";
|
|
||||||
permission java.lang.RuntimePermission
|
|
||||||
"accessClassInPackage.sun.security.*";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.ch";
|
|
@ -5,7 +5,7 @@ Date: Fri Aug 27 19:42:07 2021 +0100
|
|||||||
RH1996182: Login to the NSS Software Token in FIPS Mode
|
RH1996182: Login to the NSS Software Token in FIPS Mode
|
||||||
|
|
||||||
diff --git openjdk.orig/src/java.base/share/classes/module-info.java openjdk/src/java.base/share/classes/module-info.java
|
diff --git openjdk.orig/src/java.base/share/classes/module-info.java openjdk/src/java.base/share/classes/module-info.java
|
||||||
index 0cf61732d7..2cd851587c 100644
|
index 5460efcf8c..f08dc2fafc 100644
|
||||||
--- openjdk.orig/src/java.base/share/classes/module-info.java
|
--- openjdk.orig/src/java.base/share/classes/module-info.java
|
||||||
+++ openjdk/src/java.base/share/classes/module-info.java
|
+++ openjdk/src/java.base/share/classes/module-info.java
|
||||||
@@ -182,6 +182,7 @@ module java.base {
|
@@ -182,6 +182,7 @@ module java.base {
|
||||||
@ -17,19 +17,19 @@ index 0cf61732d7..2cd851587c 100644
|
|||||||
jdk.attach,
|
jdk.attach,
|
||||||
jdk.charsets,
|
jdk.charsets,
|
||||||
diff --git openjdk.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java openjdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
diff --git openjdk.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java openjdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||||
index b00b738b85..1eca1f8f0a 100644
|
index 5e227f4531..164de8ff08 100644
|
||||||
--- openjdk.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
--- openjdk.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||||
+++ openjdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
+++ openjdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||||
@@ -42,6 +42,8 @@ import javax.security.auth.callback.ConfirmationCallback;
|
@@ -41,6 +41,8 @@ import javax.security.auth.callback.CallbackHandler;
|
||||||
import javax.security.auth.callback.PasswordCallback;
|
import javax.security.auth.callback.PasswordCallback;
|
||||||
import javax.security.auth.callback.TextOutputCallback;
|
|
||||||
|
|
||||||
|
import jdk.internal.misc.InnocuousThread;
|
||||||
+import jdk.internal.misc.SharedSecrets;
|
+import jdk.internal.misc.SharedSecrets;
|
||||||
+
|
+
|
||||||
import sun.security.util.Debug;
|
import sun.security.util.Debug;
|
||||||
import sun.security.util.ResourcesMgr;
|
import sun.security.util.ResourcesMgr;
|
||||||
import static sun.security.util.SecurityConstants.PROVIDER_VER;
|
import static sun.security.util.SecurityConstants.PROVIDER_VER;
|
||||||
@@ -59,6 +61,9 @@ import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
|
@@ -58,6 +60,9 @@ import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
|
||||||
*/
|
*/
|
||||||
public final class SunPKCS11 extends AuthProvider {
|
public final class SunPKCS11 extends AuthProvider {
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ index b00b738b85..1eca1f8f0a 100644
|
|||||||
private static final long serialVersionUID = -1354835039035306505L;
|
private static final long serialVersionUID = -1354835039035306505L;
|
||||||
|
|
||||||
static final Debug debug = Debug.getInstance("sunpkcs11");
|
static final Debug debug = Debug.getInstance("sunpkcs11");
|
||||||
@@ -373,6 +378,24 @@ public final class SunPKCS11 extends AuthProvider {
|
@@ -374,6 +379,24 @@ public final class SunPKCS11 extends AuthProvider {
|
||||||
if (nssModule != null) {
|
if (nssModule != null) {
|
||||||
nssModule.setProvider(this);
|
nssModule.setProvider(this);
|
||||||
}
|
}
|
||||||
|
28
SOURCES/rh2021263-fips_ensure_security_initialised.patch
Normal file
28
SOURCES/rh2021263-fips_ensure_security_initialised.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
commit 8a8452b9ae862755210a9a2f4e34b1aa3ec7343d
|
||||||
|
Author: Andrew Hughes <gnu.andrew@redhat.com>
|
||||||
|
Date: Tue Jan 18 02:00:55 2022 +0000
|
||||||
|
|
||||||
|
RH2021263: Make sure java.security.Security is initialised when retrieving JavaSecuritySystemConfiguratorAccess instance
|
||||||
|
|
||||||
|
diff --git openjdk.orig/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java openjdk/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java
|
||||||
|
index 2ec51d57806..8489b940c43 100644
|
||||||
|
--- openjdk.orig/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java
|
||||||
|
+++ openjdk/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java
|
||||||
|
@@ -36,6 +36,7 @@ import java.io.FilePermission;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.RandomAccessFile;
|
||||||
|
import java.security.ProtectionDomain;
|
||||||
|
+import java.security.Security;
|
||||||
|
import java.security.Signature;
|
||||||
|
|
||||||
|
/** A repository of "shared secrets", which are a mechanism for
|
||||||
|
@@ -368,6 +369,9 @@ public class SharedSecrets {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JavaSecuritySystemConfiguratorAccess getJavaSecuritySystemConfiguratorAccess() {
|
||||||
|
+ if (javaSecuritySystemConfiguratorAccess == null) {
|
||||||
|
+ unsafe.ensureClassInitialized(Security.class);
|
||||||
|
+ }
|
||||||
|
return javaSecuritySystemConfiguratorAccess;
|
||||||
|
}
|
||||||
|
}
|
24
SOURCES/rh2021263-fips_missing_native_returns.patch
Normal file
24
SOURCES/rh2021263-fips_missing_native_returns.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
commit 1b5bd349bdfa7b9627ea58d819bc250a55112de2
|
||||||
|
Author: Fridrich Strba <fstrba@suse.com>
|
||||||
|
Date: Mon Jan 17 19:44:03 2022 +0000
|
||||||
|
|
||||||
|
RH2021263: Return in C code after having generated Java exception
|
||||||
|
|
||||||
|
diff --git openjdk.orig/src/java.base/linux/native/libsystemconf/systemconf.c openjdk/src/java.base/linux/native/libsystemconf/systemconf.c
|
||||||
|
index 6f4656bfcb6..34d0ff0ce91 100644
|
||||||
|
--- openjdk.orig/src/java.base/linux/native/libsystemconf/systemconf.c
|
||||||
|
+++ openjdk/src/java.base/linux/native/libsystemconf/systemconf.c
|
||||||
|
@@ -131,11 +131,13 @@ JNIEXPORT jboolean JNICALL Java_java_security_SystemConfigurator_getSystemFIPSEn
|
||||||
|
dbgPrint(env, "getSystemFIPSEnabled: reading " FIPS_ENABLED_PATH);
|
||||||
|
if ((fe = fopen(FIPS_ENABLED_PATH, "r")) == NULL) {
|
||||||
|
throwIOException(env, "Cannot open " FIPS_ENABLED_PATH);
|
||||||
|
+ return JNI_FALSE;
|
||||||
|
}
|
||||||
|
fips_enabled = fgetc(fe);
|
||||||
|
fclose(fe);
|
||||||
|
if (fips_enabled == EOF) {
|
||||||
|
throwIOException(env, "Cannot read " FIPS_ENABLED_PATH);
|
||||||
|
+ return JNI_FALSE;
|
||||||
|
}
|
||||||
|
msg_bytes = snprintf(msg, MSG_MAX_SIZE, "getSystemFIPSEnabled:" \
|
||||||
|
" read character is '%c'", fips_enabled);
|
99
SOURCES/rh2021263-fips_separate_policy_and_fips_init.patch
Normal file
99
SOURCES/rh2021263-fips_separate_policy_and_fips_init.patch
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
commit 0cd8cee94fe0f867b0b39890e00be620af1d9b07
|
||||||
|
Author: Andrew Hughes <gnu.andrew@redhat.com>
|
||||||
|
Date: Tue Jan 18 02:09:27 2022 +0000
|
||||||
|
|
||||||
|
RH2021263: Improve Security initialisation, now FIPS support no longer relies on crypto policy support
|
||||||
|
|
||||||
|
diff --git openjdk.orig/src/java.base/share/classes/java/security/Security.java openjdk/src/java.base/share/classes/java/security/Security.java
|
||||||
|
index 28ab1846173..f9726741afd 100644
|
||||||
|
--- openjdk.orig/src/java.base/share/classes/java/security/Security.java
|
||||||
|
+++ openjdk/src/java.base/share/classes/java/security/Security.java
|
||||||
|
@@ -61,10 +61,6 @@ public final class Security {
|
||||||
|
private static final Debug sdebug =
|
||||||
|
Debug.getInstance("properties");
|
||||||
|
|
||||||
|
- /* System property file*/
|
||||||
|
- private static final String SYSTEM_PROPERTIES =
|
||||||
|
- "/etc/crypto-policies/back-ends/java.config";
|
||||||
|
-
|
||||||
|
/* The java.security properties */
|
||||||
|
private static Properties props;
|
||||||
|
|
||||||
|
@@ -206,22 +202,36 @@ public final class Security {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (!loadedProps) {
|
||||||
|
+ initializeStatic();
|
||||||
|
+ if (sdebug != null) {
|
||||||
|
+ sdebug.println("unable to load security properties " +
|
||||||
|
+ "-- using defaults");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
String disableSystemProps = System.getProperty("java.security.disableSystemPropertiesFile");
|
||||||
|
if ((disableSystemProps == null || "false".equalsIgnoreCase(disableSystemProps)) &&
|
||||||
|
"true".equalsIgnoreCase(props.getProperty("security.useSystemPropertiesFile"))) {
|
||||||
|
- if (SystemConfigurator.configure(props)) {
|
||||||
|
- loadedProps = true;
|
||||||
|
+ if (!SystemConfigurator.configureSysProps(props)) {
|
||||||
|
+ if (sdebug != null) {
|
||||||
|
+ sdebug.println("WARNING: System properties could not be loaded.");
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!loadedProps) {
|
||||||
|
- initializeStatic();
|
||||||
|
+ // FIPS support depends on the contents of java.security so
|
||||||
|
+ // ensure it has loaded first
|
||||||
|
+ if (loadedProps) {
|
||||||
|
+ boolean fipsEnabled = SystemConfigurator.configureFIPS(props);
|
||||||
|
if (sdebug != null) {
|
||||||
|
- sdebug.println("unable to load security properties " +
|
||||||
|
- "-- using defaults");
|
||||||
|
+ if (fipsEnabled) {
|
||||||
|
+ sdebug.println("FIPS support enabled.");
|
||||||
|
+ } else {
|
||||||
|
+ sdebug.println("FIPS support disabled.");
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
diff --git openjdk.orig/src/java.base/share/classes/java/security/SystemConfigurator.java openjdk/src/java.base/share/classes/java/security/SystemConfigurator.java
|
||||||
|
index 874c6221ebe..b7ed41acf0f 100644
|
||||||
|
--- openjdk.orig/src/java.base/share/classes/java/security/SystemConfigurator.java
|
||||||
|
+++ openjdk/src/java.base/share/classes/java/security/SystemConfigurator.java
|
||||||
|
@@ -76,7 +76,7 @@ final class SystemConfigurator {
|
||||||
|
* java.security.disableSystemPropertiesFile property is not set and
|
||||||
|
* security.useSystemPropertiesFile is true.
|
||||||
|
*/
|
||||||
|
- static boolean configure(Properties props) {
|
||||||
|
+ static boolean configureSysProps(Properties props) {
|
||||||
|
boolean loadedProps = false;
|
||||||
|
|
||||||
|
try (BufferedInputStream bis =
|
||||||
|
@@ -96,11 +96,19 @@ final class SystemConfigurator {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ return loadedProps;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * Invoked at the end of java.security.Security initialisation
|
||||||
|
+ * if java.security properties have been loaded
|
||||||
|
+ */
|
||||||
|
+ static boolean configureFIPS(Properties props) {
|
||||||
|
+ boolean loadedProps = false;
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (enableFips()) {
|
||||||
|
if (sdebug != null) { sdebug.println("FIPS mode detected"); }
|
||||||
|
- loadedProps = false;
|
||||||
|
// Remove all security providers
|
||||||
|
Iterator<Entry<Object, Object>> i = props.entrySet().iterator();
|
||||||
|
while (i.hasNext()) {
|
220
SOURCES/rh2052829-fips_runtime_nss_detection.patch
Normal file
220
SOURCES/rh2052829-fips_runtime_nss_detection.patch
Normal file
@ -0,0 +1,220 @@
|
|||||||
|
commit e2be09f982af1cc05f5e6556d51900bca4757416
|
||||||
|
Author: Andrew Hughes <gnu.andrew@redhat.com>
|
||||||
|
Date: Mon Feb 28 05:30:32 2022 +0000
|
||||||
|
|
||||||
|
RH2051605: Detect NSS at Runtime for FIPS detection
|
||||||
|
|
||||||
|
diff --git openjdk.orig/src/java.base/linux/native/libsystemconf/systemconf.c openjdk/src/java.base/linux/native/libsystemconf/systemconf.c
|
||||||
|
index 34d0ff0ce91..8dcb7d9073f 100644
|
||||||
|
--- openjdk.orig/src/java.base/linux/native/libsystemconf/systemconf.c
|
||||||
|
+++ openjdk/src/java.base/linux/native/libsystemconf/systemconf.c
|
||||||
|
@@ -23,25 +23,99 @@
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include <dlfcn.h>
|
||||||
|
#include <jni.h>
|
||||||
|
#include <jni_util.h>
|
||||||
|
+#include "jvm_md.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#ifdef SYSCONF_NSS
|
||||||
|
#include <nss3/pk11pub.h>
|
||||||
|
+#else
|
||||||
|
+#include <dlfcn.h>
|
||||||
|
#endif //SYSCONF_NSS
|
||||||
|
|
||||||
|
#include "java_security_SystemConfigurator.h"
|
||||||
|
|
||||||
|
+#define MSG_MAX_SIZE 256
|
||||||
|
#define FIPS_ENABLED_PATH "/proc/sys/crypto/fips_enabled"
|
||||||
|
-#define MSG_MAX_SIZE 96
|
||||||
|
|
||||||
|
+typedef int (SECMOD_GET_SYSTEM_FIPS_ENABLED_TYPE)(void);
|
||||||
|
+
|
||||||
|
+static SECMOD_GET_SYSTEM_FIPS_ENABLED_TYPE *getSystemFIPSEnabled;
|
||||||
|
static jmethodID debugPrintlnMethodID = NULL;
|
||||||
|
static jobject debugObj = NULL;
|
||||||
|
|
||||||
|
-static void throwIOException(JNIEnv *env, const char *msg);
|
||||||
|
-static void dbgPrint(JNIEnv *env, const char* msg);
|
||||||
|
+static void dbgPrint(JNIEnv *env, const char* msg)
|
||||||
|
+{
|
||||||
|
+ jstring jMsg;
|
||||||
|
+ if (debugObj != NULL) {
|
||||||
|
+ jMsg = (*env)->NewStringUTF(env, msg);
|
||||||
|
+ CHECK_NULL(jMsg);
|
||||||
|
+ (*env)->CallVoidMethod(env, debugObj, debugPrintlnMethodID, jMsg);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void throwIOException(JNIEnv *env, const char *msg)
|
||||||
|
+{
|
||||||
|
+ jclass cls = (*env)->FindClass(env, "java/io/IOException");
|
||||||
|
+ if (cls != 0)
|
||||||
|
+ (*env)->ThrowNew(env, cls, msg);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void handle_msg(JNIEnv *env, const char* msg, int msg_bytes)
|
||||||
|
+{
|
||||||
|
+ if (msg_bytes > 0 && msg_bytes < MSG_MAX_SIZE) {
|
||||||
|
+ dbgPrint(env, msg);
|
||||||
|
+ } else {
|
||||||
|
+ dbgPrint(env, "systemconf: cannot render message");
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+// Only used when NSS is not linked at build time
|
||||||
|
+#ifndef SYSCONF_NSS
|
||||||
|
+
|
||||||
|
+static void *nss_handle;
|
||||||
|
+
|
||||||
|
+static jboolean loadNSS(JNIEnv *env)
|
||||||
|
+{
|
||||||
|
+ char msg[MSG_MAX_SIZE];
|
||||||
|
+ int msg_bytes;
|
||||||
|
+ const char* errmsg;
|
||||||
|
+
|
||||||
|
+ nss_handle = dlopen(JNI_LIB_NAME("nss3"), RTLD_LAZY);
|
||||||
|
+ if (nss_handle == NULL) {
|
||||||
|
+ errmsg = dlerror();
|
||||||
|
+ msg_bytes = snprintf(msg, MSG_MAX_SIZE, "loadNSS: dlopen: %s\n",
|
||||||
|
+ errmsg);
|
||||||
|
+ handle_msg(env, msg, msg_bytes);
|
||||||
|
+ return JNI_FALSE;
|
||||||
|
+ }
|
||||||
|
+ dlerror(); /* Clear errors */
|
||||||
|
+ getSystemFIPSEnabled = (SECMOD_GET_SYSTEM_FIPS_ENABLED_TYPE*)dlsym(nss_handle, "SECMOD_GetSystemFIPSEnabled");
|
||||||
|
+ if ((errmsg = dlerror()) != NULL) {
|
||||||
|
+ msg_bytes = snprintf(msg, MSG_MAX_SIZE, "loadNSS: dlsym: %s\n",
|
||||||
|
+ errmsg);
|
||||||
|
+ handle_msg(env, msg, msg_bytes);
|
||||||
|
+ return JNI_FALSE;
|
||||||
|
+ }
|
||||||
|
+ return JNI_TRUE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void closeNSS(JNIEnv *env)
|
||||||
|
+{
|
||||||
|
+ char msg[MSG_MAX_SIZE];
|
||||||
|
+ int msg_bytes;
|
||||||
|
+ const char* errmsg;
|
||||||
|
+
|
||||||
|
+ if (dlclose(nss_handle) != 0) {
|
||||||
|
+ errmsg = dlerror();
|
||||||
|
+ msg_bytes = snprintf(msg, MSG_MAX_SIZE, "closeNSS: dlclose: %s\n",
|
||||||
|
+ errmsg);
|
||||||
|
+ handle_msg(env, msg, msg_bytes);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: java_security_SystemConfigurator
|
||||||
|
@@ -84,6 +158,14 @@ JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||||
|
debugObj = (*env)->NewGlobalRef(env, debugObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef SYSCONF_NSS
|
||||||
|
+ getSystemFIPSEnabled = *SECMOD_GetSystemFIPSEnabled;
|
||||||
|
+#else
|
||||||
|
+ if (loadNSS(env) == JNI_FALSE) {
|
||||||
|
+ dbgPrint(env, "libsystemconf: Failed to load NSS library.");
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
return (*env)->GetVersion(env);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -99,6 +181,9 @@ JNIEXPORT void JNICALL DEF_JNI_OnUnload(JavaVM *vm, void *reserved)
|
||||||
|
if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_2) != JNI_OK) {
|
||||||
|
return; /* Should not happen */
|
||||||
|
}
|
||||||
|
+#ifndef SYSCONF_NSS
|
||||||
|
+ closeNSS(env);
|
||||||
|
+#endif
|
||||||
|
(*env)->DeleteGlobalRef(env, debugObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -110,61 +195,30 @@ JNIEXPORT jboolean JNICALL Java_java_security_SystemConfigurator_getSystemFIPSEn
|
||||||
|
char msg[MSG_MAX_SIZE];
|
||||||
|
int msg_bytes;
|
||||||
|
|
||||||
|
-#ifdef SYSCONF_NSS
|
||||||
|
-
|
||||||
|
- dbgPrint(env, "getSystemFIPSEnabled: calling SECMOD_GetSystemFIPSEnabled");
|
||||||
|
- fips_enabled = SECMOD_GetSystemFIPSEnabled();
|
||||||
|
- msg_bytes = snprintf(msg, MSG_MAX_SIZE, "getSystemFIPSEnabled:" \
|
||||||
|
- " SECMOD_GetSystemFIPSEnabled returned 0x%x", fips_enabled);
|
||||||
|
- if (msg_bytes > 0 && msg_bytes < MSG_MAX_SIZE) {
|
||||||
|
- dbgPrint(env, msg);
|
||||||
|
+ if (getSystemFIPSEnabled != NULL) {
|
||||||
|
+ dbgPrint(env, "getSystemFIPSEnabled: calling SECMOD_GetSystemFIPSEnabled");
|
||||||
|
+ fips_enabled = (*getSystemFIPSEnabled)();
|
||||||
|
+ msg_bytes = snprintf(msg, MSG_MAX_SIZE, "getSystemFIPSEnabled:" \
|
||||||
|
+ " SECMOD_GetSystemFIPSEnabled returned 0x%x", fips_enabled);
|
||||||
|
+ handle_msg(env, msg, msg_bytes);
|
||||||
|
+ return (fips_enabled == 1 ? JNI_TRUE : JNI_FALSE);
|
||||||
|
} else {
|
||||||
|
- dbgPrint(env, "getSystemFIPSEnabled: cannot render" \
|
||||||
|
- " SECMOD_GetSystemFIPSEnabled return value");
|
||||||
|
- }
|
||||||
|
- return (fips_enabled == 1 ? JNI_TRUE : JNI_FALSE);
|
||||||
|
-
|
||||||
|
-#else // SYSCONF_NSS
|
||||||
|
+ FILE *fe;
|
||||||
|
|
||||||
|
- FILE *fe;
|
||||||
|
-
|
||||||
|
- dbgPrint(env, "getSystemFIPSEnabled: reading " FIPS_ENABLED_PATH);
|
||||||
|
- if ((fe = fopen(FIPS_ENABLED_PATH, "r")) == NULL) {
|
||||||
|
+ dbgPrint(env, "getSystemFIPSEnabled: reading " FIPS_ENABLED_PATH);
|
||||||
|
+ if ((fe = fopen(FIPS_ENABLED_PATH, "r")) == NULL) {
|
||||||
|
throwIOException(env, "Cannot open " FIPS_ENABLED_PATH);
|
||||||
|
return JNI_FALSE;
|
||||||
|
- }
|
||||||
|
- fips_enabled = fgetc(fe);
|
||||||
|
- fclose(fe);
|
||||||
|
- if (fips_enabled == EOF) {
|
||||||
|
+ }
|
||||||
|
+ fips_enabled = fgetc(fe);
|
||||||
|
+ fclose(fe);
|
||||||
|
+ if (fips_enabled == EOF) {
|
||||||
|
throwIOException(env, "Cannot read " FIPS_ENABLED_PATH);
|
||||||
|
return JNI_FALSE;
|
||||||
|
- }
|
||||||
|
- msg_bytes = snprintf(msg, MSG_MAX_SIZE, "getSystemFIPSEnabled:" \
|
||||||
|
- " read character is '%c'", fips_enabled);
|
||||||
|
- if (msg_bytes > 0 && msg_bytes < MSG_MAX_SIZE) {
|
||||||
|
- dbgPrint(env, msg);
|
||||||
|
- } else {
|
||||||
|
- dbgPrint(env, "getSystemFIPSEnabled: cannot render" \
|
||||||
|
- " read character");
|
||||||
|
- }
|
||||||
|
- return (fips_enabled == '1' ? JNI_TRUE : JNI_FALSE);
|
||||||
|
-
|
||||||
|
-#endif // SYSCONF_NSS
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static void throwIOException(JNIEnv *env, const char *msg)
|
||||||
|
-{
|
||||||
|
- jclass cls = (*env)->FindClass(env, "java/io/IOException");
|
||||||
|
- if (cls != 0)
|
||||||
|
- (*env)->ThrowNew(env, cls, msg);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static void dbgPrint(JNIEnv *env, const char* msg)
|
||||||
|
-{
|
||||||
|
- jstring jMsg;
|
||||||
|
- if (debugObj != NULL) {
|
||||||
|
- jMsg = (*env)->NewStringUTF(env, msg);
|
||||||
|
- CHECK_NULL(jMsg);
|
||||||
|
- (*env)->CallVoidMethod(env, debugObj, debugPrintlnMethodID, jMsg);
|
||||||
|
+ }
|
||||||
|
+ msg_bytes = snprintf(msg, MSG_MAX_SIZE, "getSystemFIPSEnabled:" \
|
||||||
|
+ " read character is '%c'", fips_enabled);
|
||||||
|
+ handle_msg(env, msg, msg_bytes);
|
||||||
|
+ return (fips_enabled == '1' ? JNI_TRUE : JNI_FALSE);
|
||||||
|
}
|
||||||
|
}
|
@ -23,6 +23,8 @@
|
|||||||
%bcond_without staticlibs
|
%bcond_without staticlibs
|
||||||
# Remove build artifacts by default
|
# Remove build artifacts by default
|
||||||
%bcond_with artifacts
|
%bcond_with artifacts
|
||||||
|
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
|
||||||
|
%bcond_without fresh_libjvm
|
||||||
|
|
||||||
# Workaround for stripping of debug symbols from static libraries
|
# Workaround for stripping of debug symbols from static libraries
|
||||||
%if %{with staticlibs}
|
%if %{with staticlibs}
|
||||||
@ -32,6 +34,13 @@
|
|||||||
%global include_staticlibs 0
|
%global include_staticlibs 0
|
||||||
%endif
|
%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
|
||||||
|
|
||||||
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
|
# 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.
|
# This fixes detailed NMT and other tools which need minimal debug info.
|
||||||
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
|
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
|
||||||
@ -76,7 +85,7 @@
|
|||||||
# in alternatives those are slaves and master, very often triplicated by man pages
|
# in alternatives those are slaves and master, very often triplicated by man pages
|
||||||
# in files all masters and slaves are ghosted
|
# in files all masters and slaves are ghosted
|
||||||
# the ghosts are here to allow installation via query like `dnf install /usr/bin/java`
|
# 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_
|
# 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
|
# TODO - fix those hardcoded lists via single list
|
||||||
# Those files must *NOT* be ghosted for *slowdebug* packages
|
# Those files must *NOT* be ghosted for *slowdebug* packages
|
||||||
# FIXME - if you are moving jshell or jlink or similar, always modify all three sections
|
# FIXME - if you are moving jshell or jlink or similar, always modify all three sections
|
||||||
@ -102,7 +111,9 @@
|
|||||||
# Set of architectures for which we build fastdebug builds
|
# Set of architectures for which we build fastdebug builds
|
||||||
%global fastdebug_arches x86_64 ppc64le aarch64
|
%global fastdebug_arches x86_64 ppc64le aarch64
|
||||||
# Set of architectures with a Just-In-Time (JIT) compiler
|
# Set of architectures with a Just-In-Time (JIT) compiler
|
||||||
%global jit_arches %{debug_arches} %{arm}
|
%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
|
# Set of architectures which run a full bootstrap cycle
|
||||||
%global bootstrap_arches %{jit_arches}
|
%global bootstrap_arches %{jit_arches}
|
||||||
# Set of architectures which support SystemTap tapsets
|
# Set of architectures which support SystemTap tapsets
|
||||||
@ -121,6 +132,8 @@
|
|||||||
%global zgc_arches x86_64
|
%global zgc_arches x86_64
|
||||||
# Set of architectures for which alt-java has SSB mitigation
|
# Set of architectures for which alt-java has SSB mitigation
|
||||||
%global ssbd_arches x86_64
|
%global ssbd_arches x86_64
|
||||||
|
# Set of architectures where we verify backtraces with gdb
|
||||||
|
%global gdb_arches %{jit_arches} %{zero_arches}
|
||||||
|
|
||||||
# By default, we build a slowdebug build during main build on JIT architectures
|
# By default, we build a slowdebug build during main build on JIT architectures
|
||||||
%if %{with slowdebug}
|
%if %{with slowdebug}
|
||||||
@ -174,7 +187,7 @@
|
|||||||
%global fastdebug_build %{nil}
|
%global fastdebug_build %{nil}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# If you disable both builds, then the build fails
|
# If you disable all builds, then the build fails
|
||||||
# Build and test slowdebug first as it provides the best diagnostics
|
# Build and test slowdebug first as it provides the best diagnostics
|
||||||
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
|
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
|
||||||
|
|
||||||
@ -185,9 +198,9 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch %{bootstrap_arches}
|
%ifarch %{bootstrap_arches}
|
||||||
%global bootstrap_build 1
|
%global bootstrap_build true
|
||||||
%else
|
%else
|
||||||
%global bootstrap_build 1
|
%global bootstrap_build false
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{include_staticlibs}
|
%if %{include_staticlibs}
|
||||||
@ -208,6 +221,11 @@
|
|||||||
%global release_targets images docs-zip
|
%global release_targets images docs-zip
|
||||||
# No docs nor bootcycle for debug builds
|
# No docs nor bootcycle for debug builds
|
||||||
%global debug_targets images
|
%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
|
||||||
|
|
||||||
# Disable LTO as this causes build failures at the moment.
|
# Disable LTO as this causes build failures at the moment.
|
||||||
# See RHBZ#1861401
|
# See RHBZ#1861401
|
||||||
@ -297,8 +315,8 @@
|
|||||||
# New Version-String scheme-style defines
|
# New Version-String scheme-style defines
|
||||||
%global featurever 11
|
%global featurever 11
|
||||||
%global interimver 0
|
%global interimver 0
|
||||||
%global updatever 13
|
%global updatever 14
|
||||||
%global patchver 0
|
%global patchver 1
|
||||||
# If you bump featurever, you must bump also vendor_version_string
|
# If you bump featurever, you must bump also vendor_version_string
|
||||||
# Used via new version scheme. JDK 11 was
|
# Used via new version scheme. JDK 11 was
|
||||||
# GA'ed in September 2018 => 18.9
|
# GA'ed in September 2018 => 18.9
|
||||||
@ -344,8 +362,8 @@
|
|||||||
%global origin_nice OpenJDK
|
%global origin_nice OpenJDK
|
||||||
%global top_level_dir_name %{origin}
|
%global top_level_dir_name %{origin}
|
||||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||||
%global buildver 8
|
%global buildver 1
|
||||||
%global rpmrelease 3
|
%global rpmrelease 6
|
||||||
#%%global tagsuffix %%{nil}
|
#%%global tagsuffix %%{nil}
|
||||||
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
|
# 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
|
%if %is_system_jdk
|
||||||
@ -394,8 +412,8 @@
|
|||||||
%global jdkimage jdk
|
%global jdkimage jdk
|
||||||
%global static_libs_image static-libs
|
%global static_libs_image static-libs
|
||||||
# output dir stub
|
# output dir stub
|
||||||
%define buildoutputdir() %{expand:build/jdk11.build%{?1}}
|
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
|
||||||
%define installoutputdir() %{expand:install/jdk11.install%{?1}}
|
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
|
||||||
# we can copy the javadoc to not arched dir, or make it not noarch
|
# we can copy the javadoc to not arched dir, or make it not noarch
|
||||||
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
|
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
|
||||||
# main id and dir of this jdk
|
# main id and dir of this jdk
|
||||||
@ -410,7 +428,7 @@
|
|||||||
%if %is_system_jdk
|
%if %is_system_jdk
|
||||||
%global __provides_exclude ^(%{_privatelibs})$
|
%global __provides_exclude ^(%{_privatelibs})$
|
||||||
%global __requires_exclude ^(%{_privatelibs})$
|
%global __requires_exclude ^(%{_privatelibs})$
|
||||||
# Never generate lib-style provides/requires for slowdebug packages
|
# Never generate lib-style provides/requires for any debug packages
|
||||||
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
|
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
|
||||||
%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
|
%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
|
||||||
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
|
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
|
||||||
@ -443,6 +461,9 @@
|
|||||||
%global alternatives_requires %{_sbindir}/alternatives
|
%global alternatives_requires %{_sbindir}/alternatives
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%global family %{name}.%{_arch}
|
||||||
|
%global family_noarch %{name}
|
||||||
|
|
||||||
%if %{with_systemtap}
|
%if %{with_systemtap}
|
||||||
# Where to install systemtap tapset (links)
|
# Where to install systemtap tapset (links)
|
||||||
# We would like these to be in a package specific sub-dir,
|
# We would like these to be in a package specific sub-dir,
|
||||||
@ -460,6 +481,50 @@
|
|||||||
# not-duplicated scriptlets for normal/debug packages
|
# not-duplicated scriptlets for normal/debug packages
|
||||||
%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
%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:
|
%define post_script() %{expand:
|
||||||
update-desktop-database %{_datadir}/applications &> /dev/null || :
|
update-desktop-database %{_datadir}/applications &> /dev/null || :
|
||||||
@ -467,20 +532,19 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
|
|||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%define alternatives_java_install() %{expand:
|
||||||
%define post_headless() %{expand:
|
if [ "x$debug" == "xtrue" ] ; then
|
||||||
%ifarch %{share_arches}
|
set -x
|
||||||
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
|
fi
|
||||||
%endif
|
|
||||||
|
|
||||||
PRIORITY=%{priority}
|
PRIORITY=%{priority}
|
||||||
if [ "%{?1}" == %{debug_suffix} ]; then
|
if [ "%{?1}" == %{debug_suffix} ]; then
|
||||||
let PRIORITY=PRIORITY-1
|
let PRIORITY=PRIORITY-1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ext=.gz
|
ext=.gz
|
||||||
|
key=java
|
||||||
alternatives \\
|
alternatives \\
|
||||||
--install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY --family %{name}.%{_arch} \\
|
--install %{_bindir}/java $key %{jrebindir -- %{?1}}/java $PRIORITY --family %{family} \\
|
||||||
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
|
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
|
||||||
--slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
|
--slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
|
||||||
--slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
|
--slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
|
||||||
@ -506,12 +570,23 @@ alternatives \\
|
|||||||
--slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
|
--slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
|
||||||
%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1$ext
|
%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1$ext
|
||||||
|
|
||||||
|
%{set_if_needed_alternatives $key %{family}}
|
||||||
|
|
||||||
for X in %{origin} %{javaver} ; do
|
for X in %{origin} %{javaver} ; do
|
||||||
alternatives --install %{_jvmdir}/jre-"$X" jre_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
|
key=jre_"$X"
|
||||||
|
alternatives --install %{_jvmdir}/jre-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
|
||||||
|
%{set_if_needed_alternatives $key %{family}}
|
||||||
done
|
done
|
||||||
|
|
||||||
update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY --family %{name}.%{_arch}
|
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 || :
|
update-desktop-database %{_datadir}/applications &> /dev/null || :
|
||||||
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
|
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
|
||||||
@ -538,26 +613,34 @@ exit 0
|
|||||||
|
|
||||||
|
|
||||||
%define postun_headless() %{expand:
|
%define postun_headless() %{expand:
|
||||||
alternatives --remove java %{jrebindir -- %{?1}}/java
|
if [ "x$debug" == "xtrue" ] ; then
|
||||||
alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
|
set -x
|
||||||
alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
|
fi
|
||||||
alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
|
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:
|
%define posttrans_script() %{expand:
|
||||||
%{update_desktop_icons}
|
%{update_desktop_icons}
|
||||||
}
|
}
|
||||||
|
|
||||||
%define post_devel() %{expand:
|
|
||||||
|
|
||||||
|
%define alternatives_javac_install() %{expand:
|
||||||
|
if [ "x$debug" == "xtrue" ] ; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
PRIORITY=%{priority}
|
PRIORITY=%{priority}
|
||||||
if [ "%{?1}" == %{debug_suffix} ]; then
|
if [ "%{?1}" == %{debug_suffix} ]; then
|
||||||
let PRIORITY=PRIORITY-1
|
let PRIORITY=PRIORITY-1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ext=.gz
|
ext=.gz
|
||||||
|
key=javac
|
||||||
alternatives \\
|
alternatives \\
|
||||||
--install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{name}.%{_arch} \\
|
--install %{_bindir}/javac $key %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{family} \\
|
||||||
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
|
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
|
||||||
%ifarch %{aot_arches}
|
%ifarch %{aot_arches}
|
||||||
--slave %{_bindir}/jaotc jaotc %{sdkbindir -- %{?1}}/jaotc \\
|
--slave %{_bindir}/jaotc jaotc %{sdkbindir -- %{?1}}/jaotc \\
|
||||||
@ -565,7 +648,9 @@ alternatives \\
|
|||||||
--slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
|
--slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
|
||||||
--slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
|
--slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
|
||||||
%ifarch %{sa_arches}
|
%ifarch %{sa_arches}
|
||||||
|
%ifnarch %{zero_arches}
|
||||||
--slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
|
--slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
|
--slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
|
||||||
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
|
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
|
||||||
@ -623,15 +708,22 @@ alternatives \\
|
|||||||
--slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
|
--slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
|
||||||
%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\
|
%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||||
--slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
|
--slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
|
||||||
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext \\
|
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext
|
||||||
|
|
||||||
|
%{set_if_needed_alternatives $key %{family}}
|
||||||
|
|
||||||
for X in %{origin} %{javaver} ; do
|
for X in %{origin} %{javaver} ; do
|
||||||
alternatives \\
|
key=java_sdk_"$X"
|
||||||
--install %{_jvmdir}/java-"$X" java_sdk_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
|
alternatives --install %{_jvmdir}/java-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
|
||||||
|
%{set_if_needed_alternatives $key %{family}}
|
||||||
done
|
done
|
||||||
|
|
||||||
update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
|
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 || :
|
update-desktop-database %{_datadir}/applications &> /dev/null || :
|
||||||
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
|
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
|
||||||
|
|
||||||
@ -639,10 +731,14 @@ exit 0
|
|||||||
}
|
}
|
||||||
|
|
||||||
%define postun_devel() %{expand:
|
%define postun_devel() %{expand:
|
||||||
alternatives --remove javac %{sdkbindir -- %{?1}}/javac
|
if [ "x$debug" == "xtrue" ] ; then
|
||||||
alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
|
set -x
|
||||||
alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
|
fi
|
||||||
alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
|
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 || :
|
update-desktop-database %{_datadir}/applications &> /dev/null || :
|
||||||
|
|
||||||
@ -654,42 +750,54 @@ exit 0
|
|||||||
}
|
}
|
||||||
|
|
||||||
%define posttrans_devel() %{expand:
|
%define posttrans_devel() %{expand:
|
||||||
|
%{alternatives_javac_install -- %{?1}}
|
||||||
%{update_desktop_icons}
|
%{update_desktop_icons}
|
||||||
}
|
}
|
||||||
|
|
||||||
%define post_javadoc() %{expand:
|
%define alternatives_javadoc_install() %{expand:
|
||||||
|
if [ "x$debug" == "xtrue" ] ; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
PRIORITY=%{priority}
|
PRIORITY=%{priority}
|
||||||
if [ "%{?1}" == %{debug_suffix} ]; then
|
if [ "%{?1}" == %{debug_suffix} ]; then
|
||||||
let PRIORITY=PRIORITY-1
|
let PRIORITY=PRIORITY-1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
alternatives \\
|
key=javadocdir
|
||||||
--install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
|
alternatives --install %{_javadocdir}/java $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY --family %{family_noarch}
|
||||||
$PRIORITY --family %{name}
|
%{set_if_needed_alternatives $key %{family_noarch}}
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
%define postun_javadoc() %{expand:
|
%define postun_javadoc() %{expand:
|
||||||
alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
|
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
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
%define post_javadoc_zip() %{expand:
|
%define alternatives_javadoczip_install() %{expand:
|
||||||
|
if [ "x$debug" == "xtrue" ] ; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
PRIORITY=%{priority}
|
PRIORITY=%{priority}
|
||||||
if [ "%{?1}" == %{debug_suffix} ]; then
|
if [ "%{?1}" == %{debug_suffix} ]; then
|
||||||
let PRIORITY=PRIORITY-1
|
let PRIORITY=PRIORITY-1
|
||||||
fi
|
fi
|
||||||
|
key=javadoczip
|
||||||
alternatives \\
|
alternatives --install %{_javadocdir}/java-zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY --family %{family_noarch}
|
||||||
--install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip \\
|
%{set_if_needed_alternatives $key %{family_noarch}}
|
||||||
$PRIORITY --family %{name}
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
%define postun_javadoc_zip() %{expand:
|
%define postun_javadoc_zip() %{expand:
|
||||||
alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
|
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
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -760,8 +868,10 @@ exit 0
|
|||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
|
||||||
# Some architectures don't have the serviceability agent
|
# Some architectures don't have the serviceability agent
|
||||||
%ifarch %{sa_arches}
|
%ifarch %{sa_arches}
|
||||||
|
%ifnarch %{zero_arches}
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsystemconf.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsystemconf.so
|
||||||
@ -795,7 +905,7 @@ exit 0
|
|||||||
%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
|
%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
|
||||||
%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
|
%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
|
||||||
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
|
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
|
||||||
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blacklisted.certs
|
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blocked.certs
|
||||||
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
|
%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/exempt_local.policy
|
||||||
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
|
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
|
||||||
@ -855,8 +965,10 @@ exit 0
|
|||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
|
||||||
# Some architectures don't have the serviceability agent
|
# Some architectures don't have the serviceability agent
|
||||||
%ifarch %{sa_arches}
|
%ifarch %{sa_arches}
|
||||||
|
%ifnarch %{zero_arches}
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
|
||||||
@ -1015,8 +1127,8 @@ Requires: ca-certificates
|
|||||||
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
|
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
|
||||||
Requires: javapackages-filesystem
|
Requires: javapackages-filesystem
|
||||||
# Require zone-info data provided by tzdata-java sub-package
|
# Require zone-info data provided by tzdata-java sub-package
|
||||||
# 2021a required as of JDK-8260356 in April 2021 CPU
|
# 2021e required as of JDK-8275766 in January 2022 CPU
|
||||||
Requires: tzdata-java >= 2021a
|
Requires: tzdata-java >= 2021e
|
||||||
# for support of kernel stream control
|
# for support of kernel stream control
|
||||||
# libsctp.so.1 is being `dlopen`ed on demand
|
# libsctp.so.1 is being `dlopen`ed on demand
|
||||||
Requires: lksctp-tools%{?_isa}
|
Requires: lksctp-tools%{?_isa}
|
||||||
@ -1029,6 +1141,8 @@ OrderWithRequires: copy-jdk-configs
|
|||||||
%endif
|
%endif
|
||||||
# for printing support
|
# for printing support
|
||||||
Requires: cups-libs
|
Requires: cups-libs
|
||||||
|
# for FIPS PKCS11 provider
|
||||||
|
Requires: nss
|
||||||
# Post requires alternatives to install tool alternatives
|
# Post requires alternatives to install tool alternatives
|
||||||
Requires(post): %{alternatives_requires}
|
Requires(post): %{alternatives_requires}
|
||||||
# Postun requires alternatives to uninstall tool alternatives
|
# Postun requires alternatives to uninstall tool alternatives
|
||||||
@ -1111,10 +1225,10 @@ Requires(post): %{alternatives_requires}
|
|||||||
Requires(postun): %{alternatives_requires}
|
Requires(postun): %{alternatives_requires}
|
||||||
|
|
||||||
# Standard JPackage javadoc provides
|
# Standard JPackage javadoc provides
|
||||||
Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
|
Provides: java-%{javaver}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
|
||||||
Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}
|
Provides: java-%{javaver}-%{origin}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
|
||||||
%if %is_system_jdk
|
%if %is_system_jdk
|
||||||
Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}
|
Provides: java-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
|
||||||
%endif
|
%endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1236,9 +1350,15 @@ Patch1007: rh1915071-always_initialise_configurator_access.patch
|
|||||||
Patch1008: rh1929465-improve_system_FIPS_detection.patch
|
Patch1008: rh1929465-improve_system_FIPS_detection.patch
|
||||||
# RH1996182: Login to the NSS software token in FIPS mode
|
# RH1996182: Login to the NSS software token in FIPS mode
|
||||||
Patch1009: rh1996182-login_to_nss_software_token.patch
|
Patch1009: rh1996182-login_to_nss_software_token.patch
|
||||||
Patch1010: rh1996182-extend_security_policy.patch
|
|
||||||
# RH1991003: Allow plain key import unless com.redhat.fips.plainKeySupport is set to false
|
# RH1991003: Allow plain key import unless com.redhat.fips.plainKeySupport is set to false
|
||||||
Patch1011: rh1991003-enable_fips_keys_import.patch
|
Patch1011: rh1991003-enable_fips_keys_import.patch
|
||||||
|
# RH2021263: Resolve outstanding FIPS issues
|
||||||
|
Patch1014: rh2021263-fips_ensure_security_initialised.patch
|
||||||
|
Patch1015: rh2021263-fips_missing_native_returns.patch
|
||||||
|
# RH2052819: Fix FIPS reliance on crypto policies
|
||||||
|
Patch1016: rh2021263-fips_separate_policy_and_fips_init.patch
|
||||||
|
# RH2052829: Detect NSS at Runtime for FIPS detection
|
||||||
|
Patch1017: rh2052829-fips_runtime_nss_detection.patch
|
||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
#
|
#
|
||||||
@ -1262,6 +1382,20 @@ Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk1
|
|||||||
Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
|
Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
|
||||||
# PR3695: Allow use of system crypto policy to be disabled by the user
|
# PR3695: Allow use of system crypto policy to be disabled by the user
|
||||||
Patch7: pr3695-toggle_system_crypto_policy.patch
|
Patch7: pr3695-toggle_system_crypto_policy.patch
|
||||||
|
# JDK-8275535, RH2053256: Retrying a failed authentication on multiple LDAP servers can lead to users blocked
|
||||||
|
Patch8: jdk8275535-rh2053256-ldap_auth.patch
|
||||||
|
|
||||||
|
#############################################
|
||||||
|
#
|
||||||
|
# Backportable patches
|
||||||
|
#
|
||||||
|
# This section includes patches which are
|
||||||
|
# present in the current development tree, but
|
||||||
|
# need to be reviewed & pushed to the appropriate
|
||||||
|
# updates tree of OpenJDK.
|
||||||
|
#############################################
|
||||||
|
# JDK-8257794: Zero: assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1) failed: wrong on Linux/x86_32
|
||||||
|
Patch101: jdk8257794-remove_broken_assert.patch
|
||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
#
|
#
|
||||||
@ -1298,8 +1432,8 @@ BuildRequires: libXrandr-devel
|
|||||||
BuildRequires: libXrender-devel
|
BuildRequires: libXrender-devel
|
||||||
BuildRequires: libXt-devel
|
BuildRequires: libXt-devel
|
||||||
BuildRequires: libXtst-devel
|
BuildRequires: libXtst-devel
|
||||||
# Requirements for setting up the nss.cfg and FIPS support
|
# Requirement for setting up nss.cfg and nss.fips.cfg
|
||||||
BuildRequires: nss-devel >= 3.53
|
BuildRequires: nss-devel
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: xorg-x11-proto-devel
|
BuildRequires: xorg-x11-proto-devel
|
||||||
BuildRequires: zip
|
BuildRequires: zip
|
||||||
@ -1307,11 +1441,11 @@ BuildRequires: unzip
|
|||||||
BuildRequires: javapackages-filesystem
|
BuildRequires: javapackages-filesystem
|
||||||
BuildRequires: java-%{buildjdkver}-openjdk-devel
|
BuildRequires: java-%{buildjdkver}-openjdk-devel
|
||||||
# Zero-assembler build requirement
|
# Zero-assembler build requirement
|
||||||
%ifnarch %{jit_arches}
|
%ifarch %{zero_arches}
|
||||||
BuildRequires: libffi-devel
|
BuildRequires: libffi-devel
|
||||||
%endif
|
%endif
|
||||||
# 2021a required as of JDK-8260356 in April 2021 CPU
|
# 2021e required as of JDK-8275766 in January 2022 CPU
|
||||||
BuildRequires: tzdata-java >= 2021a
|
BuildRequires: tzdata-java >= 2021e
|
||||||
# Earlier versions have a bug in tree vectorization on PPC
|
# Earlier versions have a bug in tree vectorization on PPC
|
||||||
BuildRequires: gcc >= 4.8.3-8
|
BuildRequires: gcc >= 4.8.3-8
|
||||||
|
|
||||||
@ -1593,7 +1727,7 @@ Group: Documentation
|
|||||||
Requires: javapackages-filesystem
|
Requires: javapackages-filesystem
|
||||||
Obsoletes: javadoc-debug
|
Obsoletes: javadoc-debug
|
||||||
|
|
||||||
%{java_javadoc_rpo %{nil}}
|
%{java_javadoc_rpo -- %{nil} %{nil}}
|
||||||
|
|
||||||
%description javadoc
|
%description javadoc
|
||||||
The %{origin_nice} %{featurever} API documentation.
|
The %{origin_nice} %{featurever} API documentation.
|
||||||
@ -1606,7 +1740,8 @@ Group: Documentation
|
|||||||
Requires: javapackages-filesystem
|
Requires: javapackages-filesystem
|
||||||
Obsoletes: javadoc-zip-debug
|
Obsoletes: javadoc-zip-debug
|
||||||
|
|
||||||
%{java_javadoc_rpo %{nil}}
|
%{java_javadoc_rpo -- %{nil} -zip}
|
||||||
|
%{java_javadoc_rpo -- %{nil} %{nil}}
|
||||||
|
|
||||||
%description javadoc-zip
|
%description javadoc-zip
|
||||||
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
|
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
|
||||||
@ -1664,6 +1799,8 @@ pushd %{top_level_dir_name}
|
|||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
popd # openjdk
|
popd # openjdk
|
||||||
|
|
||||||
|
%patch101
|
||||||
|
|
||||||
%patch1000
|
%patch1000
|
||||||
%patch600
|
%patch600
|
||||||
%patch1001
|
%patch1001
|
||||||
@ -1673,8 +1810,13 @@ popd # openjdk
|
|||||||
%patch1007
|
%patch1007
|
||||||
%patch1008
|
%patch1008
|
||||||
%patch1009
|
%patch1009
|
||||||
%patch1010
|
|
||||||
%patch1011
|
%patch1011
|
||||||
|
%patch1014
|
||||||
|
%patch1015
|
||||||
|
%patch1016
|
||||||
|
%patch1017
|
||||||
|
|
||||||
|
%patch8
|
||||||
|
|
||||||
# Extract systemtap tapsets
|
# Extract systemtap tapsets
|
||||||
%if %{with_systemtap}
|
%if %{with_systemtap}
|
||||||
@ -1727,7 +1869,6 @@ sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
|
|||||||
|
|
||||||
# Setup nss.fips.cfg
|
# Setup nss.fips.cfg
|
||||||
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg
|
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg
|
||||||
sed -i -e "s:@NSS_SECMOD@:/etc/pki/nssdb:g" nss.fips.cfg
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# How many CPU's do we have?
|
# How many CPU's do we have?
|
||||||
@ -1754,17 +1895,21 @@ EXTRA_CPP_FLAGS="%ourcppflags"
|
|||||||
# fix rpmlint warnings
|
# fix rpmlint warnings
|
||||||
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
|
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch %{ix86}
|
||||||
|
# Align stack boundary on x86_32
|
||||||
|
EXTRA_CFLAGS="$(echo ${EXTRA_CFLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
|
||||||
|
EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
|
||||||
|
%endif
|
||||||
# Fixes annocheck warnings in assembler files due to missing build notes
|
# Fixes annocheck warnings in assembler files due to missing build notes
|
||||||
EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa,--generate-missing-build-notes=yes"
|
EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa,--generate-missing-build-notes=yes"
|
||||||
export EXTRA_CFLAGS EXTRA_ASFLAGS
|
export EXTRA_CFLAGS EXTRA_CPP_FLAGS EXTRA_ASFLAGS
|
||||||
|
|
||||||
function buildjdk() {
|
function buildjdk() {
|
||||||
local outputdir=${1}
|
local outputdir=${1}
|
||||||
local installdir=${2}
|
local buildjdk=${2}
|
||||||
local buildjdk=${3}
|
local maketargets="${3}"
|
||||||
local maketargets="${4}"
|
local debuglevel=${4}
|
||||||
local debuglevel=${5}
|
local link_opt=${5}
|
||||||
local link_opt=${6}
|
|
||||||
|
|
||||||
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
|
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
|
||||||
local top_dir_abs_build_path=$(pwd)/${outputdir}
|
local top_dir_abs_build_path=$(pwd)/${outputdir}
|
||||||
@ -1777,11 +1922,11 @@ function buildjdk() {
|
|||||||
echo "Using link_opt: ${link_opt}"
|
echo "Using link_opt: ${link_opt}"
|
||||||
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
|
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
|
||||||
|
|
||||||
mkdir -p ${outputdir} ${installdir}
|
mkdir -p ${outputdir}
|
||||||
pushd ${outputdir}
|
pushd ${outputdir}
|
||||||
|
|
||||||
bash ${top_dir_abs_src_path}/configure \
|
bash ${top_dir_abs_src_path}/configure \
|
||||||
%ifnarch %{jit_arches}
|
%ifarch %{zero_arches}
|
||||||
--with-jvm-variants=zero \
|
--with-jvm-variants=zero \
|
||||||
%endif
|
%endif
|
||||||
%ifarch %{ppc64le}
|
%ifarch %{ppc64le}
|
||||||
@ -1798,7 +1943,7 @@ function buildjdk() {
|
|||||||
--with-boot-jdk=${buildjdk} \
|
--with-boot-jdk=${buildjdk} \
|
||||||
--with-debug-level=${debuglevel} \
|
--with-debug-level=${debuglevel} \
|
||||||
--with-native-debug-symbols="%{debug_symbols}" \
|
--with-native-debug-symbols="%{debug_symbols}" \
|
||||||
--enable-sysconf-nss \
|
--disable-sysconf-nss \
|
||||||
--enable-unlimited-crypto \
|
--enable-unlimited-crypto \
|
||||||
--with-zlib=system \
|
--with-zlib=system \
|
||||||
--with-libjpeg=${link_opt} \
|
--with-libjpeg=${link_opt} \
|
||||||
@ -1826,8 +1971,15 @@ function buildjdk() {
|
|||||||
$maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
|
$maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
|
||||||
|
|
||||||
popd
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
function installjdk() {
|
||||||
|
local outputdir=${1}
|
||||||
|
local installdir=${2}
|
||||||
|
local imagepath=${installdir}/images/%{jdkimage}
|
||||||
|
|
||||||
echo "Installing build from ${outputdir} to ${installdir}..."
|
echo "Installing build from ${outputdir} to ${installdir}..."
|
||||||
|
mkdir -p ${installdir}
|
||||||
echo "Installing images..."
|
echo "Installing images..."
|
||||||
mv ${outputdir}/images ${installdir}
|
mv ${outputdir}/images ${installdir}
|
||||||
if [ -d ${outputdir}/bundles ] ; then
|
if [ -d ${outputdir}/bundles ] ; then
|
||||||
@ -1843,38 +1995,46 @@ function buildjdk() {
|
|||||||
echo "Removing output directory...";
|
echo "Removing output directory...";
|
||||||
rm -rf ${outputdir}
|
rm -rf ${outputdir}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
if [ -d ${imagepath} ] ; then
|
||||||
|
# the build (erroneously) removes read permissions from some jars
|
||||||
|
# this is a regression in OpenJDK 7 (our compiler):
|
||||||
|
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
|
||||||
|
find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
|
||||||
|
|
||||||
|
# Build screws up permissions on binaries
|
||||||
|
# https://bugs.openjdk.java.net/browse/JDK-8173610
|
||||||
|
find ${imagepath} -iname '*.so' -exec chmod +x {} \;
|
||||||
|
find ${imagepath}/bin/ -exec chmod +x {} \;
|
||||||
|
|
||||||
|
# Install nss.cfg right away as we will be using the JRE above
|
||||||
|
install -m 644 nss.cfg ${imagepath}/conf/security/
|
||||||
|
|
||||||
|
# Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
|
||||||
|
install -m 644 nss.fips.cfg ${imagepath}/conf/security/
|
||||||
|
|
||||||
|
# Use system-wide tzdata
|
||||||
|
rm ${imagepath}/lib/tzdb.dat
|
||||||
|
ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
|
||||||
|
|
||||||
|
# Create fake alt-java as a placeholder for future alt-java
|
||||||
|
pushd ${imagepath}
|
||||||
|
# add alt-java man page
|
||||||
|
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
|
||||||
|
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
|
||||||
|
popd
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function installjdk() {
|
%if %{build_hotspot_first}
|
||||||
local imagepath=${1}
|
# Build a fresh libjvm.so first and use it to bootstrap
|
||||||
|
cp -LR --preserve=mode,timestamps %{bootjdk} newboot
|
||||||
# the build (erroneously) removes read permissions from some jars
|
systemjdk=$(pwd)/newboot
|
||||||
# this is a regression in OpenJDK 7 (our compiler):
|
buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
|
||||||
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
|
mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
|
||||||
find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
|
%else
|
||||||
|
systemjdk=%{bootjdk}
|
||||||
# Build screws up permissions on binaries
|
%endif
|
||||||
# https://bugs.openjdk.java.net/browse/JDK-8173610
|
|
||||||
find ${imagepath} -iname '*.so' -exec chmod +x {} \;
|
|
||||||
find ${imagepath}/bin/ -exec chmod +x {} \;
|
|
||||||
|
|
||||||
# Install nss.cfg right away as we will be using the JRE above
|
|
||||||
install -m 644 nss.cfg ${imagepath}/conf/security/
|
|
||||||
|
|
||||||
# Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
|
|
||||||
install -m 644 nss.fips.cfg ${imagepath}/conf/security/
|
|
||||||
|
|
||||||
# Use system-wide tzdata
|
|
||||||
rm ${imagepath}/lib/tzdb.dat
|
|
||||||
ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
|
|
||||||
|
|
||||||
# Create fake alt-java as a placeholder for future alt-java
|
|
||||||
pushd ${imagepath}
|
|
||||||
# add alt-java man page
|
|
||||||
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
|
|
||||||
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
|
|
||||||
popd
|
|
||||||
}
|
|
||||||
|
|
||||||
for suffix in %{build_loop} ; do
|
for suffix in %{build_loop} ; do
|
||||||
|
|
||||||
@ -1885,7 +2045,6 @@ for suffix in %{build_loop} ; do
|
|||||||
debugbuild=`echo $suffix | sed "s/-//g"`
|
debugbuild=`echo $suffix | sed "s/-//g"`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
systemjdk=/usr/lib/jvm/java-%{buildjdkver}-openjdk
|
|
||||||
|
|
||||||
for loop in %{main_suffix} %{staticlibs_loop} ; do
|
for loop in %{main_suffix} %{staticlibs_loop} ; do
|
||||||
|
|
||||||
@ -1902,18 +2061,25 @@ for suffix in %{build_loop} ; do
|
|||||||
# Use system libraries
|
# Use system libraries
|
||||||
link_opt="system"
|
link_opt="system"
|
||||||
# Debug builds don't need same targets as release for
|
# Debug builds don't need same targets as release for
|
||||||
# build speed-up
|
# build speed-up. We also avoid bootstrapping these
|
||||||
maketargets="%{release_targets}"
|
# slower builds.
|
||||||
if echo $debugbuild | grep -q "debug" ; then
|
if echo $debugbuild | grep -q "debug" ; then
|
||||||
maketargets="%{debug_targets}"
|
maketargets="%{debug_targets}"
|
||||||
|
run_bootstrap=false
|
||||||
|
else
|
||||||
|
maketargets="%{release_targets}"
|
||||||
|
run_bootstrap=%{bootstrap_build}
|
||||||
|
fi
|
||||||
|
if ${run_bootstrap} ; then
|
||||||
|
buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
|
||||||
|
installjdk ${bootbuilddir} ${bootinstalldir}
|
||||||
|
buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
|
||||||
|
installjdk ${builddir} ${installdir}
|
||||||
|
%{!?with_artifacts:rm -rf ${bootinstalldir}}
|
||||||
|
else
|
||||||
|
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
||||||
|
installjdk ${builddir} ${installdir}
|
||||||
fi
|
fi
|
||||||
%if %{bootstrap_build}
|
|
||||||
buildjdk ${bootbuilddir} ${bootinstalldir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
|
|
||||||
buildjdk ${builddir} ${installdir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
|
|
||||||
%{!?with_artifacts:rm -rf ${bootinstalldir}}
|
|
||||||
%else
|
|
||||||
buildjdk ${builddir} ${installdir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
|
||||||
%endif
|
|
||||||
# Restore original source tree we modified by removing full in-tree sources
|
# Restore original source tree we modified by removing full in-tree sources
|
||||||
rm -rf %{top_level_dir_name}
|
rm -rf %{top_level_dir_name}
|
||||||
mv %{top_level_dir_name_backup} %{top_level_dir_name}
|
mv %{top_level_dir_name_backup} %{top_level_dir_name}
|
||||||
@ -1923,15 +2089,12 @@ for suffix in %{build_loop} ; do
|
|||||||
# Static library cycle only builds the static libraries
|
# Static library cycle only builds the static libraries
|
||||||
maketargets="%{static_libs_target}"
|
maketargets="%{static_libs_target}"
|
||||||
# Always just do the one build for the static libraries
|
# Always just do the one build for the static libraries
|
||||||
buildjdk ${builddir} ${installdir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
||||||
|
installjdk ${builddir} ${installdir}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done # end of main / staticlibs loop
|
done # end of main / staticlibs loop
|
||||||
|
|
||||||
# Final setup on the main image
|
|
||||||
top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{main_suffix}}
|
|
||||||
installjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
|
|
||||||
|
|
||||||
# build cycles
|
# build cycles
|
||||||
done # end of release / debug cycle loop
|
done # end of release / debug cycle loop
|
||||||
|
|
||||||
@ -2040,20 +2203,16 @@ gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out
|
|||||||
handle SIGSEGV pass nostop noprint
|
handle SIGSEGV pass nostop noprint
|
||||||
handle SIGILL pass nostop noprint
|
handle SIGILL pass nostop noprint
|
||||||
set breakpoint pending on
|
set breakpoint pending on
|
||||||
break javaCalls.cpp:1
|
break javaCalls.cpp:58
|
||||||
commands 1
|
commands 1
|
||||||
backtrace
|
backtrace
|
||||||
quit
|
quit
|
||||||
end
|
end
|
||||||
run -version
|
run -version
|
||||||
EOF
|
EOF
|
||||||
%if 0%{?fedora} > 0
|
%ifarch %{gdb_arches}
|
||||||
# This fails on s390x for some reason. Disable for now. See:
|
|
||||||
# https://koji.fedoraproject.org/koji/taskinfo?taskID=41499227
|
|
||||||
%ifnarch s390x
|
|
||||||
grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
|
grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
|
|
||||||
# Check src.zip has all sources. See RHBZ#1130490
|
# Check src.zip has all sources. See RHBZ#1130490
|
||||||
$JAVA_HOME/bin/jar -tf $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
|
$JAVA_HOME/bin/jar -tf $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
|
||||||
@ -2280,6 +2439,9 @@ end
|
|||||||
%posttrans
|
%posttrans
|
||||||
%{posttrans_script %{nil}}
|
%{posttrans_script %{nil}}
|
||||||
|
|
||||||
|
%posttrans headless
|
||||||
|
%{alternatives_java_install %{nil}}
|
||||||
|
|
||||||
%post devel
|
%post devel
|
||||||
%{post_devel %{nil}}
|
%{post_devel %{nil}}
|
||||||
|
|
||||||
@ -2289,14 +2451,14 @@ end
|
|||||||
%posttrans devel
|
%posttrans devel
|
||||||
%{posttrans_devel %{nil}}
|
%{posttrans_devel %{nil}}
|
||||||
|
|
||||||
%post javadoc
|
%posttrans javadoc
|
||||||
%{post_javadoc %{nil}}
|
%{alternatives_javadoc_install %{nil}}
|
||||||
|
|
||||||
%postun javadoc
|
%postun javadoc
|
||||||
%{postun_javadoc %{nil}}
|
%{postun_javadoc %{nil}}
|
||||||
|
|
||||||
%post javadoc-zip
|
%posttrans javadoc-zip
|
||||||
%{post_javadoc_zip %{nil}}
|
%{alternatives_javadoczip_install %{nil}}
|
||||||
|
|
||||||
%postun javadoc-zip
|
%postun javadoc-zip
|
||||||
%{postun_javadoc_zip %{nil}}
|
%{postun_javadoc_zip %{nil}}
|
||||||
@ -2309,6 +2471,9 @@ end
|
|||||||
%post headless-slowdebug
|
%post headless-slowdebug
|
||||||
%{post_headless -- %{debug_suffix_unquoted}}
|
%{post_headless -- %{debug_suffix_unquoted}}
|
||||||
|
|
||||||
|
%posttrans headless-slowdebug
|
||||||
|
%{alternatives_java_install -- %{debug_suffix_unquoted}}
|
||||||
|
|
||||||
%postun slowdebug
|
%postun slowdebug
|
||||||
%{postun_script -- %{debug_suffix_unquoted}}
|
%{postun_script -- %{debug_suffix_unquoted}}
|
||||||
|
|
||||||
@ -2344,6 +2509,9 @@ end
|
|||||||
%posttrans fastdebug
|
%posttrans fastdebug
|
||||||
%{posttrans_script -- %{fastdebug_suffix_unquoted}}
|
%{posttrans_script -- %{fastdebug_suffix_unquoted}}
|
||||||
|
|
||||||
|
%posttrans headless-fastdebug
|
||||||
|
%{alternatives_java_install -- %{fastdebug_suffix_unquoted}}
|
||||||
|
|
||||||
%post devel-fastdebug
|
%post devel-fastdebug
|
||||||
%{post_devel -- %{fastdebug_suffix_unquoted}}
|
%{post_devel -- %{fastdebug_suffix_unquoted}}
|
||||||
|
|
||||||
@ -2450,6 +2618,100 @@ end
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 28 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.1.1-6
|
||||||
|
- Detect NSS at runtime for FIPS detection
|
||||||
|
- Turn off build-time NSS linking and go back to an explicit Requires on NSS
|
||||||
|
- Resolves: rhbz#2052827
|
||||||
|
|
||||||
|
* Fri Feb 25 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.1.1-5
|
||||||
|
- Add JDK-8275535 patch to fix LDAP authentication issue.
|
||||||
|
- Resolves: rhbz#2053284
|
||||||
|
|
||||||
|
* Fri Feb 25 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.14.1.1-4
|
||||||
|
- 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#2008192
|
||||||
|
|
||||||
|
* Fri Feb 25 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.14.1.1-3
|
||||||
|
- Family extracted to globals
|
||||||
|
- Resolves: rhbz#2008192
|
||||||
|
|
||||||
|
* Fri Feb 25 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.14.1.1-2
|
||||||
|
- 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#2008192
|
||||||
|
|
||||||
|
* Fri Feb 18 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.1.1-1
|
||||||
|
- Update to jdk-11.0.14.1+1
|
||||||
|
- Update release notes to 11.0.14.1+1
|
||||||
|
- Require tzdata 2021e as of JDK-8275766.
|
||||||
|
- Resolves: rhbz#2052809
|
||||||
|
- Resolves: rhbz#1966234
|
||||||
|
|
||||||
|
* Thu Feb 17 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.9-6
|
||||||
|
- Separate crypto policy initialisation from FIPS initialisation, now they are no longer interdependent
|
||||||
|
- Resolves: rhbz#2052816
|
||||||
|
|
||||||
|
* Fri Feb 11 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.9-5
|
||||||
|
- Refactor build functions so we can build just HotSpot without any attempt at installation.
|
||||||
|
- Sync gdb test with java-1.8.0-openjdk.
|
||||||
|
- Improve architecture restrictions for the gdb test.
|
||||||
|
- Replace -mstackrealign with -mincoming-stack-boundary=2 -mpreferred-stack-boundary=4 on x86_32 for stack alignment
|
||||||
|
- 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
|
||||||
|
- Add backport of JDK-8257794 to fix bogus assert on slowdebug x86-32 Zero builds
|
||||||
|
- Related: rhbz#2052809
|
||||||
|
|
||||||
|
* Fri Feb 11 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.14.0.9-5
|
||||||
|
- Give javadoc-zip its own Provides, next to the plain javadoc ones
|
||||||
|
- Related: rhbz#2052809
|
||||||
|
|
||||||
|
* Fri Feb 11 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.9-4
|
||||||
|
- Fix FIPS issues in native code and with initialisation of java.security.Security
|
||||||
|
- Resolves: rhbz#2021559
|
||||||
|
|
||||||
|
* Thu Feb 10 2022 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.14.0.9-3
|
||||||
|
- Use 'sql:' prefix in nss.fips.cfg as F35+ no longer ship the legacy
|
||||||
|
secmod.db file as part of nss
|
||||||
|
- Resolves: rhbz#2023534
|
||||||
|
|
||||||
|
* Mon Jan 17 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.9-2
|
||||||
|
- Update to jdk-11.0.14.0+9
|
||||||
|
- Update release notes to 11.0.14.0+9
|
||||||
|
- Switch to GA mode for final release.
|
||||||
|
- Resolves: rhbz#2039366
|
||||||
|
|
||||||
|
* Fri Jan 14 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.8-0.1.ea
|
||||||
|
- Update to jdk-11.0.14.0+8
|
||||||
|
- Update release notes to 11.0.14.0+8
|
||||||
|
- Resolves: rhbz#2022821
|
||||||
|
|
||||||
|
* Thu Jan 13 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.1-0.1.ea
|
||||||
|
- Update to jdk-11.0.14.0+1
|
||||||
|
- Update release notes to 11.0.14.0+1
|
||||||
|
- Switch to EA mode for 11.0.14 pre-release builds.
|
||||||
|
- Rename blacklisted.certs to blocked.certs following JDK-8253866
|
||||||
|
- Rebase RH1996182 login patch and drop redundant security policy extension after JDK-8269034
|
||||||
|
- Related: rhbz#2022821
|
||||||
|
|
||||||
|
* Thu Jan 13 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.13.0.8-5
|
||||||
|
- Turn off bootstrapping for slow debug builds, which are particularly slow on ppc64le.
|
||||||
|
- Related: rhbz#2022821
|
||||||
|
|
||||||
|
* Wed Dec 01 2021 Jiri Vanek <jvanek@redhat.com> - 1:11.0.13.0.8-4
|
||||||
|
- Replaced hardcoded 11 by featurever where appropriate
|
||||||
|
- Fixed comment of `for slowdebug` to correct `any debug`
|
||||||
|
- Related: rhbz#2022821
|
||||||
|
|
||||||
* Wed Oct 13 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.13.0.8-3
|
* Wed Oct 13 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.13.0.8-3
|
||||||
- Update to jdk-11.0.13.0+8
|
- Update to jdk-11.0.13.0+8
|
||||||
- Update release notes to 11.0.13.0+8
|
- Update release notes to 11.0.13.0+8
|
||||||
|
Loading…
Reference in New Issue
Block a user