Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b6281fa044 | ||
|
f6de0e71b5 | ||
|
a1b4ddc797 | ||
|
0ef00754c6 | ||
|
c57ff62ed2 | ||
|
d3b6e4820b | ||
|
242a78f54c | ||
|
ff487763fc | ||
|
f1d0e16cc1 | ||
|
a71185e830 | ||
|
2b512f61b4 | ||
|
1d97cec83f | ||
|
5ab235ae09 | ||
|
2aed69fb8b | ||
|
2e9bc90b6c | ||
|
bade6a4d92 | ||
|
4b38c2140b | ||
|
8a7656ebac |
5
.gitignore
vendored
5
.gitignore
vendored
@ -38,3 +38,8 @@
|
||||
/openjdk-jdk21u-jdk-21+35.tar.xz
|
||||
/openjdk-21+35.tar.xz
|
||||
/openjdk-21.0.1+12.tar.xz
|
||||
/openjdk-21.0.2+11.tar.xz
|
||||
/openjdk-21.0.2+12.tar.xz
|
||||
/openjdk-21.0.2+13.tar.xz
|
||||
/openjdk-22+32-ea.tar.xz
|
||||
/openjdk-jdk-22+36-ea.tar.xz
|
||||
|
410
NEWS
410
NEWS
@ -3,6 +3,416 @@ Key:
|
||||
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
|
||||
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
|
||||
|
||||
New in release OpenJDK 21.0.2 (2024-01-16):
|
||||
===========================================
|
||||
|
||||
* CVEs
|
||||
- CVE-2024-20918
|
||||
- CVE-2024-20919
|
||||
- CVE-2024-20921
|
||||
- CVE-2024-20945
|
||||
- CVE-2024-20952
|
||||
* Security fixes
|
||||
- JDK-8308204: Enhanced certificate processing
|
||||
- JDK-8314295: Enhance verification of verifier
|
||||
- JDK-8314307: Improve loop handling
|
||||
- JDK-8314468: Improve Compiler loops
|
||||
- JDK-8316976: Improve signature handling
|
||||
- JDK-8317547: Enhance TLS connection support
|
||||
* Other changes
|
||||
- JDK-8038244: (fs) Check return value of malloc in Java_sun_nio_fs_AixNativeDispatcher_getmntctl()
|
||||
- JDK-8161536: sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java fails with ProviderException
|
||||
- JDK-8219652: [aix] Tests failing with JNI attach problems.
|
||||
- JDK-8225377: type annotations are not visible to javac plugins across compilation boundaries
|
||||
- JDK-8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()"
|
||||
- JDK-8267502: JDK-8246677 caused 16x performance regression in SynchronousQueue
|
||||
- JDK-8267509: Improve IllegalAccessException message to include the cause of the exception
|
||||
- JDK-8268916: Tests for AffirmTrust roots
|
||||
- JDK-8286757: adlc tries to build with /pathmap but without /experimental:deterministic
|
||||
- JDK-8294156: Allow PassFailJFrame.Builder to create test UI
|
||||
- JDK-8294158: HTML formatting for PassFailJFrame instructions
|
||||
- JDK-8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env
|
||||
- JDK-8294535: Add screen capture functionality to PassFailJFrame
|
||||
- JDK-8295068: SSLEngine throws NPE parsing CertificateRequests
|
||||
- JDK-8295555: Primitive wrapper caches could be `@Stable`
|
||||
- JDK-8299614: Shenandoah: STW mark should keep nmethod/oops referenced from stack chunk alive
|
||||
- JDK-8300663: java/util/concurrent/SynchronousQueue/Fairness.java failed with "Error: fair=true i=0 j=1"
|
||||
- JDK-8301247: JPackage app-image exe launches multiple exe's in JDK 17+
|
||||
- JDK-8301341: LinkedTransferQueue does not respect timeout for poll()
|
||||
- JDK-8301457: Code in SendPortZero.java is uncommented even after JDK-8236852 was fixed
|
||||
- JDK-8301489: C1: ShortLoopOptimizer might lift instructions before their inputs
|
||||
- JDK-8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library
|
||||
- JDK-8303737: C2: Load can bypass subtype check that enforces it's from the right object type
|
||||
- JDK-8306561: Possible out of bounds access in print_pointer_information
|
||||
- JDK-8308103: Massive (up to ~30x) increase in C2 compilation time since JDK 17
|
||||
- JDK-8308452: Extend internal Architecture enum with byte order and address size
|
||||
- JDK-8308479: [s390x] Implement alternative fast-locking scheme
|
||||
- JDK-8308592: Framework for CA interoperability testing
|
||||
- JDK-8308593: Add KEEPALIVE Extended Socket Options Support for Windows
|
||||
- JDK-8309209: C2 failed "assert(_stack_guard_state == stack_guard_reserved_disabled) failed: inconsistent state"
|
||||
- JDK-8309305: sun/security/ssl/SSLSocketImpl/BlockedAsyncClose.java fails with jtreg test timeout
|
||||
- JDK-8309545: Thread.interrupted from virtual thread needlessly resets interrupt status
|
||||
- JDK-8309663: test fails "assert(check_alignment(result)) failed: address not aligned: 0x00000008baadbabe"
|
||||
- JDK-8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory
|
||||
- JDK-8309974: some JVMCI tests fail when VM options include -XX:+EnableJVMCI
|
||||
- JDK-8310239: Add missing cross modifying fence in nmethod entry barriers
|
||||
- JDK-8310512: Cleanup indentation in jfc files
|
||||
- JDK-8310596: Utilize existing method frame::interpreter_frame_monitor_size_in_bytes()
|
||||
- JDK-8310982: jdk/internal/util/ArchTest.java fails after JDK-8308452 failed with Method isARM()
|
||||
- JDK-8311261: [AIX] TestAlwaysPreTouchStacks.java fails due to java.lang.RuntimeException: Did not find expected NMT output
|
||||
- JDK-8311514: Incorrect regex in TestMetaSpaceLog.java
|
||||
- JDK-8311585: Add JRadioButtonMenuItem to bug8031573.java
|
||||
- JDK-8311591: Add SystemModulesPlugin test case that splits module descriptors with new local variables defined by DedupSetBuilder
|
||||
- JDK-8311630: [s390] Implementation of Foreign Function & Memory API (Preview)
|
||||
- JDK-8311631: When multiple users run tools/jpackage/share/LicenseTest.java, Permission denied for writing /var/tmp/*.files
|
||||
- JDK-8311680: Update the release version after forking Oct CPU23_10
|
||||
- JDK-8311681: Update the Jan CPU24_01 release date in master branch after forking Oct CPU23_10
|
||||
- JDK-8311813: C1: Uninitialized PhiResolver::_loop field
|
||||
- JDK-8311938: Add default cups include location for configure on AIX
|
||||
- JDK-8312078: [PPC] JcmdScale.java Failing on AIX
|
||||
- JDK-8312126: NullPointerException in CertStore.getCRLs after 8297955
|
||||
- JDK-8312166: (dc) DatagramChannel's socket adaptor does not release carrier thread when blocking in receive
|
||||
- JDK-8312174: missing JVMTI events from vthreads parked during JVMTI attach
|
||||
- JDK-8312191: ColorConvertOp.filter for the default destination is too slow
|
||||
- JDK-8312433: HttpClient request fails due to connection being considered idle and closed
|
||||
- JDK-8312434: SPECjvm2008/xml.transform with CDS fails with "can't seal package nu.xom"
|
||||
- JDK-8312440: assert(cast != nullptr) failed: must have added a cast to pin the node
|
||||
- JDK-8312466: /bin/nm usage in AIX makes needs -X64 flag
|
||||
- JDK-8312467: relax the builddir check in make/autoconf/basic.m4
|
||||
- JDK-8312592: New parentheses warnings after HarfBuzz 7.2.0 update
|
||||
- JDK-8312612: handle WideCharToMultiByte return values
|
||||
- JDK-8313164: src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp GetRGBPixels adjust releasing of resources
|
||||
- JDK-8313167: Update to use jtreg 7.3
|
||||
- JDK-8313206: PKCS11 tests silently skip execution
|
||||
- JDK-8313244: NM flags handling in configure process
|
||||
- JDK-8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns
|
||||
- JDK-8313322: RISC-V: implement MD5 intrinsic
|
||||
- JDK-8313368: (fc) FileChannel.size returns 0 on block special files
|
||||
- JDK-8313575: Refactor PKCS11Test tests
|
||||
- JDK-8313616: support loading library members on AIX in os::dll_load
|
||||
- JDK-8313643: Update HarfBuzz to 8.2.2
|
||||
- JDK-8313656: assert(!JvmtiExport::can_support_virtual_threads()) with -XX:-DoJVMTIVirtualThreadTransitions
|
||||
- JDK-8313756: [BACKOUT] 8308682: Enhance AES performance
|
||||
- JDK-8313760: [REDO] Enhance AES performance
|
||||
- JDK-8313779: RISC-V: use andn / orn in the MD5 instrinsic
|
||||
- JDK-8313781: Add regression tests for large page logging and user-facing error messages
|
||||
- JDK-8313782: Add user-facing warning if THPs are enabled but cannot be used
|
||||
- JDK-8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md
|
||||
- JDK-8313873: java/nio/channels/DatagramChannel/SendReceiveMaxSize.java fails on AIX due to small default RCVBUF size and different IPv6 Header interpretation
|
||||
- JDK-8314045: ArithmeticException in GaloisCounterMode
|
||||
- JDK-8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges
|
||||
- JDK-8314120: Add tests for FileDescriptor.sync
|
||||
- JDK-8314121: test tools/jpackage/share/RuntimePackageTest.java#id0 fails on RHEL8
|
||||
- JDK-8314191: C2 compilation fails with "bad AD file"
|
||||
- JDK-8314226: Series of colon-style fallthrough switch cases with guards compiled incorrectly
|
||||
- JDK-8314242: Update applications/scimark/Scimark.java to accept VM flags
|
||||
- JDK-8314246: javax/swing/JToolBar/4529206/bug4529206.java fails intermittently on Linux
|
||||
- JDK-8314263: Signed jars triggering Logger finder recursion and StackOverflowError
|
||||
- JDK-8314330: java/foreign tests should respect vm flags when start new processes
|
||||
- JDK-8314476: TestJstatdPortAndServer.java failed with "java.rmi.NoSuchObjectException: no such object in table"
|
||||
- JDK-8314495: Update to use jtreg 7.3.1
|
||||
- JDK-8314551: More generic way to handshake GC threads with monitor deflation
|
||||
- JDK-8314580: PhaseIdealLoop::transform_long_range_checks fails with assert "was tested before"
|
||||
- JDK-8314632: Intra-case dominance check fails in the presence of a guard
|
||||
- JDK-8314759: VirtualThread.parkNanos timeout adjustment when pinned should be replaced
|
||||
- JDK-8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case
|
||||
- JDK-8314935: Shenandoah: Unable to throw OOME on back-to-back Full GCs
|
||||
- JDK-8315026: ProcessHandle implementation listing processes on AIX should use getprocs64
|
||||
- JDK-8315062: [GHA] get-bootjdk action should return the abolute path
|
||||
- JDK-8315082: [REDO] Generational ZGC: Tests crash with assert(index == 0 || is_power_of_2(index))
|
||||
- JDK-8315088: C2: assert(wq.size() - before == EMPTY_LOOP_SIZE) failed: expect the EMPTY_LOOP_SIZE nodes of this body if empty
|
||||
- JDK-8315195: RISC-V: Update hwprobe query for new extensions
|
||||
- JDK-8315206: RISC-V: hwprobe query is_set return wrong value
|
||||
- JDK-8315213: java/lang/ProcessHandle/TreeTest.java test enhance output of children
|
||||
- JDK-8315214: Do not run sun/tools/jhsdb tests concurrently
|
||||
- JDK-8315362: NMT: summary diff reports threads count incorrectly
|
||||
- JDK-8315377: C2: assert(u->find_out_with(Op_AddP) == nullptr) failed: more than 2 chained AddP nodes?
|
||||
- JDK-8315383: jlink SystemModulesPlugin incorrectly parses the options
|
||||
- JDK-8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases
|
||||
- JDK-8315437: Enable parallelism in vmTestbase/nsk/monitoring/stress/classload tests
|
||||
- JDK-8315442: Enable parallelism in vmTestbase/nsk/monitoring/stress/thread tests
|
||||
- JDK-8315452: Erroneous AST missing modifiers for partial input
|
||||
- JDK-8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen
|
||||
- JDK-8315545: C1: x86 cmove can use short branches
|
||||
- JDK-8315549: CITime misreports code/total nmethod sizes
|
||||
- JDK-8315554: C1: Replace "cmp reg, 0" with "test reg, reg" on x86
|
||||
- JDK-8315578: PPC builds are broken after JDK-8304913
|
||||
- JDK-8315579: SPARC64 builds are broken after JDK-8304913
|
||||
- JDK-8315606: Open source few swing text/html tests
|
||||
- JDK-8315612: RISC-V: intrinsic for unsignedMultiplyHigh
|
||||
- JDK-8315644: increase timeout of sun/security/tools/jarsigner/Warning.java
|
||||
- JDK-8315651: Stop hiding AIX specific multicast socket errors via NetworkConfiguration (aix)
|
||||
- JDK-8315683: Parallelize java/util/concurrent/tck/JSR166TestCase.java
|
||||
- JDK-8315684: Parallelize sun/security/util/math/TestIntegerModuloP.java
|
||||
- JDK-8315688: Update jdk21u fix version to 21.0.2
|
||||
- JDK-8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test
|
||||
- JDK-8315696: SignedLoggerFinderTest.java test failed
|
||||
- JDK-8315702: jcmd Thread.dump_to_file slow with millions of virtual threads
|
||||
- JDK-8315706: com/sun/tools/attach/warnings/DynamicLoadWarningTest.java real fix for failure on AIX
|
||||
- JDK-8315735: VerifyError when switch statement used with synchronized block
|
||||
- JDK-8315751: RandomTestBsi1999 fails often with timeouts on Linux ppc64le
|
||||
- JDK-8315766: Parallelize gc/stress/TestStressIHOPMultiThread.java test
|
||||
- JDK-8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies
|
||||
- JDK-8315774: Enable parallelism in vmTestbase/gc/g1/unloading tests
|
||||
- JDK-8315863: [GHA] Update checkout action to use v4
|
||||
- JDK-8315869: UseHeavyMonitors not used
|
||||
- JDK-8315920: C2: "control input must dominate current control" assert failure
|
||||
- JDK-8315931: RISC-V: xxxMaxVectorTestsSmokeTest fails when using RVV
|
||||
- JDK-8315936: Parallelize gc/stress/TestStressG1Humongous.java test
|
||||
- JDK-8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests
|
||||
- JDK-8315942: Sort platform enums and definitions after JDK-8304913 follow-ups
|
||||
- JDK-8315960: test/jdk/java/io/File/TempDirDoesNotExist.java leaves test files behind
|
||||
- JDK-8315971: ProblemList containers/docker/TestMemoryAwareness.java on linux-all
|
||||
- JDK-8316003: Update FileChooserSymLinkTest.java to HTML instructions
|
||||
- JDK-8316017: Refactor timeout handler in PassFailJFrame
|
||||
- JDK-8316025: Use testUI() method of PassFailJFrame.Builder in FileChooserSymLinkTest.java
|
||||
- JDK-8316030: Update Libpng to 1.6.40
|
||||
- JDK-8316031: SSLFlowDelegate should not log from synchronized block
|
||||
- JDK-8316060: test/hotspot/jtreg/runtime/reflect/ReflectOutOfMemoryError.java may fail if heap is huge
|
||||
- JDK-8316087: Test SignedLoggerFinderTest.java is still failing
|
||||
- JDK-8316113: Infinite permission checking loop in java/net/spi/InetAddressResolverProvider/RuntimePermissionTest
|
||||
- JDK-8316123: ProblemList serviceability/dcmd/gc/RunFinalizationTest.java on AIX
|
||||
- JDK-8316130: Incorrect control in LibraryCallKit::inline_native_notify_jvmti_funcs
|
||||
- JDK-8316142: Enable parallelism in vmTestbase/nsk/monitoring/stress/lowmem tests
|
||||
- JDK-8316156: ByteArrayInputStream.transferTo causes MaxDirectMemorySize overflow
|
||||
- JDK-8316178: Better diagnostic header for CodeBlobs
|
||||
- JDK-8316179: Use consistent naming for lightweight locking in MacroAssembler
|
||||
- JDK-8316181: Move the fast locking implementation out of the .ad files
|
||||
- JDK-8316199: Remove sun/tools/jstatd/TestJstatd* tests from problemlist for Windows.
|
||||
- JDK-8316206: Test StretchedFontTest.java fails for Baekmuk font
|
||||
- JDK-8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux
|
||||
- JDK-8316337: (bf) Concurrency issue in DirectByteBuffer.Deallocator
|
||||
- JDK-8316341: sun/security/pkcs11/PKCS11Test.java needs adjustment on Linux ppc64le Ubuntu 22
|
||||
- JDK-8316387: Exclude more failing multicast tests on AIX after JDK-8315651
|
||||
- JDK-8316396: Endless loop in C2 compilation triggered by AddNode::IdealIL
|
||||
- JDK-8316399: Exclude java/net/MulticastSocket/Promiscuous.java on AIX
|
||||
- JDK-8316400: Exclude jdk/jfr/event/runtime/TestResidentSetSizeEvent.java on AIX
|
||||
- JDK-8316401: sun/tools/jhsdb/JStackStressTest.java failed with "InternalError: We should have found a thread that owns the anonymous lock"
|
||||
- JDK-8316411: compiler/compilercontrol/TestConflictInlineCommands.java fails intermittent with force inline by CompileCommand missing
|
||||
- JDK-8316414: C2: large byte array clone triggers "failed: malformed control flow" assertion failure on linux-x86
|
||||
- JDK-8316415: Parallelize sun/security/rsa/SignedObjectChain.java subtests
|
||||
- JDK-8316418: containers/docker/TestMemoryWithCgroupV1.java get OOM killed with Parallel GC
|
||||
- JDK-8316436: ContinuationWrapper uses unhandled nullptr oop
|
||||
- JDK-8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit
|
||||
- JDK-8316468: os::write incorrectly handles partial write
|
||||
- JDK-8316514: Better diagnostic header for VtableStub
|
||||
- JDK-8316540: StoreReproducibilityTest fails on some locales
|
||||
- JDK-8316566: RISC-V: Zero extended narrow oop passed to Atomic::cmpxchg
|
||||
- JDK-8316581: Improve performance of Symbol::print_value_on()
|
||||
- JDK-8316585: [REDO] runtime/InvocationTests spend a lot of time on dependency verification
|
||||
- JDK-8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b
|
||||
- JDK-8316648: jrt-fs.jar classes not reproducible between standard and bootcycle builds
|
||||
- JDK-8316659: assert(LockingMode != LM_LIGHTWEIGHT || flag == CCR0) failed: bad condition register
|
||||
- JDK-8316671: sun/security/ssl/SSLSocketImpl/SSLSocketCloseHang.java test fails intermittent with Read timed out
|
||||
- JDK-8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable
|
||||
- JDK-8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java
|
||||
- JDK-8316719: C2 compilation still fails with "bad AD file"
|
||||
- JDK-8316735: Print LockStack in hs_err files
|
||||
- JDK-8316741: BasicStroke.createStrokedShape miter-limits failing on small shapes
|
||||
- JDK-8316743: RISC-V: Change UseVectorizedMismatchIntrinsic option result to warning
|
||||
- JDK-8316746: Top of lock-stack does not match the unlocked object
|
||||
- JDK-8316778: test hprof lib: invalid array element type from JavaValueArray.elementSize
|
||||
- JDK-8316859: RISC-V: Disable detection of V through HWCAP
|
||||
- JDK-8316879: RegionMatches1Tests fails if CompactStrings are disabled after JDK-8302163
|
||||
- JDK-8316880: AArch64: "stop: Header is not fast-locked" with -XX:-UseLSE since JDK-8315880
|
||||
- JDK-8316894: make test TEST="jtreg:test/jdk/..." fails on AIX
|
||||
- JDK-8316906: Clarify TLABWasteTargetPercent flag
|
||||
- JDK-8316929: Shenandoah: Shenandoah degenerated GC and full GC need to cleanup old OopMapCache entries
|
||||
- JDK-8316933: RISC-V: compiler/vectorapi/VectorCastShape128Test.java fails when using RVV
|
||||
- JDK-8316935: [s390x] Use consistent naming for lightweight locking in MacroAssembler
|
||||
- JDK-8316958: Add test for unstructured locking
|
||||
- JDK-8316967: Correct the scope of vmtimer in UnregisteredClasses::load_class
|
||||
- JDK-8317039: Enable specifying the JDK used to run jtreg
|
||||
- JDK-8317136: [AIX] Problem List runtime/jni/terminatedThread/TestTerminatedThread.java
|
||||
- JDK-8317257: RISC-V: llvm build broken
|
||||
- JDK-8317262: LockStack::contains(oop) fails "assert(t->is_Java_thread()) failed: incorrect cast to JavaThread"
|
||||
- JDK-8317294: Classloading throws exceptions over already pending exceptions
|
||||
- JDK-8317327: Remove JT_JAVA dead code in jib-profiles.js
|
||||
- JDK-8317331: Solaris build failed with "declaration can not follow a statement (E_DECLARATION_IN_CODE)"
|
||||
- JDK-8317335: Build on windows fails after 8316645
|
||||
- JDK-8317336: Assertion error thrown during 'this' escape analysis
|
||||
- JDK-8317340: Windows builds are not reproducible if MS VS compiler install path differs
|
||||
- JDK-8317373: Add Telia Root CA v2
|
||||
- JDK-8317374: Add Let's Encrypt ISRG Root X2
|
||||
- JDK-8317439: Updating RE Configs for BUILD REQUEST 21.0.2+1
|
||||
- JDK-8317507: C2 compilation fails with "Exceeded _node_regs array"
|
||||
- JDK-8317510: Change Windows debug symbol files naming to avoid losing info when an executable and a library share the same name
|
||||
- JDK-8317581: [s390x] Multiple test failure with LockingMode=2
|
||||
- JDK-8317601: Windows build on WSL broken after JDK-8317340
|
||||
- JDK-8317603: Improve exception messages thrown by sun.nio.ch.Net native methods (win)
|
||||
- JDK-8317692: jcmd GC.heap_dump performance regression after JDK-8292818
|
||||
- JDK-8317705: ProblemList sun/tools/jstat/jstatLineCountsX.sh on linux-ppc64le and aix due to JDK-8248691
|
||||
- JDK-8317706: Exclude java/awt/Graphics2D/DrawString/RotTransText.java on linux
|
||||
- JDK-8317711: Exclude gtest/GTestWrapper.java on AIX
|
||||
- JDK-8317736: Stream::handleReset locks twice
|
||||
- JDK-8317751: ProblemList ConsumeForModalDialogTest.java, MenuItemActivatedTest.java & MouseModifiersUnitTest_Standard.java for windows
|
||||
- JDK-8317772: NMT: Make peak values available in release builds
|
||||
- JDK-8317790: Fix Bug entry for exclusion of runtime/jni/terminatedThread/TestTerminatedThread.java on AIX
|
||||
- JDK-8317803: Exclude java/net/Socket/asyncClose/Race.java on AIX
|
||||
- JDK-8317807: JAVA_FLAGS removed from jtreg running in JDK-8317039
|
||||
- JDK-8317818: Combinatorial explosion during 'this' escape analysis
|
||||
- JDK-8317834: java/lang/Thread/IsAlive.java timed out
|
||||
- JDK-8317839: Exclude java/nio/channels/Channels/SocketChannelStreams.java on AIX
|
||||
- JDK-8317920: JDWP-agent sends broken exception event with onthrow option
|
||||
- JDK-8317959: Check return values of malloc in native java.base coding
|
||||
- JDK-8317964: java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java fails on macosx-all after JDK-8317751
|
||||
- JDK-8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java to handle default cases
|
||||
- JDK-8317987: C2 recompilations cause high memory footprint
|
||||
- JDK-8318078: ADLC: pass ASSERT and PRODUCT flags
|
||||
- JDK-8318089: Class space not marked as such with NMT when CDS is off
|
||||
- JDK-8318137: Change milestone to fcs for all releases
|
||||
- JDK-8318144: Match on enum constants with body compiles but fails with MatchException
|
||||
- JDK-8318183: C2: VM may crash after hitting node limit
|
||||
- JDK-8318240: [AIX] Cleaners.java test failure
|
||||
- JDK-8318415: Adjust describing comment of os_getChildren after 8315026
|
||||
- JDK-8318474: Fix memory reporter for thread_count
|
||||
- JDK-8318525: Atomic gtest should run as TEST_VM to access VM capabilities
|
||||
- JDK-8318528: Rename TestUnstructuredLocking test
|
||||
- JDK-8318540: make test cannot run .jasm tests directly
|
||||
- JDK-8318562: Computational test more than 2x slower when AVX instructions are used
|
||||
- JDK-8318587: refresh libraries cache on AIX in print_vm_info
|
||||
- JDK-8318591: avoid leaks in loadlib_aix.cpp reload_table()
|
||||
- JDK-8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2
|
||||
- JDK-8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java
|
||||
- JDK-8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use"
|
||||
- JDK-8318759: Add four DigiCert root certificates
|
||||
- JDK-8318889: C2: add bailout after assert Bad graph detected in build_loop_late
|
||||
- JDK-8318895: Deoptimization results in incorrect lightweight locking stack
|
||||
- JDK-8318951: Additional negative value check in JPEG decoding
|
||||
- JDK-8318953: RISC-V: Small refactoring for MacroAssembler::test_bit
|
||||
- JDK-8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return
|
||||
- JDK-8318957: enhance agentlib:jdwp help output by info about allow option
|
||||
- JDK-8318961: increase javacserver connection timeout values and max retry attempts
|
||||
- JDK-8318981: compiler/compilercontrol/TestConflictInlineCommands.java fails intermittent with 'disallowed by CompileCommand' missing from stdout/stderr
|
||||
- JDK-8319104: GtestWrapper crashes with SIGILL in AsyncLogTest::test_asynclog_raw on AIX opt
|
||||
- JDK-8319120: Unbound ScopedValue.get() throws the wrong exception
|
||||
- JDK-8319184: RISC-V: improve MD5 intrinsic
|
||||
- JDK-8319187: Add three eMudhra emSign roots
|
||||
- JDK-8319195: Move most tier 1 vector API regression tests to tier 3
|
||||
- JDK-8319268: Build failure with GCC8.3.1 after 8313643
|
||||
- JDK-8319339: Internal error on spurious markup in a hybrid snippet
|
||||
- JDK-8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader
|
||||
- JDK-8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc
|
||||
- JDK-8319532: jshell - Non-sealed declarations sometimes break a snippet evaluation
|
||||
- JDK-8319542: Fix boundaries of region to be tested with os::is_readable_range
|
||||
- JDK-8319700: [AArch64] C2 compilation fails with "Field too big for insn"
|
||||
- JDK-8319828: runtime/NMT/VirtualAllocCommitMerge.java may fail if mixing interpreted and compiled native invocations
|
||||
- JDK-8319922: libCreationTimeHelper.so fails to link in JDK 21
|
||||
- JDK-8319958: test/jdk/java/io/File/libGetXSpace.c does not compile on Windows 32-bit
|
||||
- JDK-8319961: JvmtiEnvBase doesn't zero _ext_event_callbacks
|
||||
- JDK-8320001: javac crashes while adding type annotations to the return type of a constructor
|
||||
- JDK-8320053: GHA: Cross-compile gtest code
|
||||
- JDK-8320209: VectorMaskGen clobbers rflags on x86_64
|
||||
- JDK-8320280: RISC-V: Avoid passing t0 as temp register to MacroAssembler::lightweight_lock/unlock
|
||||
- JDK-8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity
|
||||
- JDK-8320597: RSA signature verification fails on signed data that does not encode params correctly
|
||||
- JDK-8320601: ProblemList java/lang/invoke/lambda/LambdaFileEncodingSerialization.java on linux-all
|
||||
- JDK-8321067: Unlock experimental options in EATests.java
|
||||
- JDK-8322883: [BACKOUT] 8225377: type annotations are not visible to javac plugins across compilation boundaries
|
||||
- JDK-8322985: [BACKOUT] 8318562: Computational test more than 2x slower when AVX instructions are used
|
||||
|
||||
Notes on individual issues:
|
||||
===========================
|
||||
|
||||
core-libs/java.net:
|
||||
|
||||
JDK-8308593: Add KEEPALIVE Extended Socket Options Support for Windows
|
||||
======================================================================
|
||||
On Windows 10 version 1709 and above, TCP_KEEPIDLE and
|
||||
TCP_KEEPINTERVAL are now supported in the
|
||||
java.net.ExtendedSocketOptions class. Similarly, on Windows 10
|
||||
version 1703 and above, TCP_KEEPCOUNT is now supported.
|
||||
|
||||
hotspot/compiler:
|
||||
|
||||
JDK-8315082: [REDO] Generational ZGC: Tests crash with assert(index == 0 || is_power_of_2(index))
|
||||
=================================================================================================
|
||||
In the initial release of JDK 21, running the JVM with -XX:+UseZGC and
|
||||
a non-default value of -XX:ObjectAlignmentInBytes could lead to JVM
|
||||
crashes or incorrect execution. This issue should now be resolved and
|
||||
it should be possible to use these options again.
|
||||
|
||||
hotspot/runtime:
|
||||
|
||||
JDK-8317772: NMT: Make peak values available in release builds
|
||||
==============================================================
|
||||
The peak value is the highest value for committed memory in a given
|
||||
Native Memory Tracking (NMT) category over the lifetime of the JVM
|
||||
process. NMT reports will now show the peak value for all categories.
|
||||
|
||||
If the committed memory for a category is at its peak, NMT will
|
||||
print "at peak". Otherwise, it prints the peak value.
|
||||
|
||||
For example, "Compiler (arena=196KB #4) (peak=6126KB #16)" shows that
|
||||
compiler arena memory peaked above 6 MB, but now hovers around 200KB.
|
||||
|
||||
JDK-8313782: Add user-facing warning if THPs are enabled but cannot be used
|
||||
===========================================================================
|
||||
On Linux, the JVM will now print the following message to standard
|
||||
output if Transparent Huge Pages (THPs) are requested, but are not
|
||||
supported on the operating system:
|
||||
|
||||
"UseTransparentHugePages disabled; transparent huge pages are not
|
||||
supported by the operating system."
|
||||
|
||||
security-libs/java.security:
|
||||
|
||||
JDK-8317374: Added ISRG Root X2 CA Certificate from Let's Encrypt
|
||||
=================================================================
|
||||
The following root certificate has been added to the cacerts
|
||||
truststore:
|
||||
|
||||
Name: Let's Encrypt
|
||||
Alias Name: letsencryptisrgx2
|
||||
Distinguished Name: CN=ISRG Root X2, O=Internet Security Research Group, C=US
|
||||
|
||||
JDK-8318759: Added Four Root Certificates from DigiCert, Inc.
|
||||
=============================================================
|
||||
The following root certificates have been added to the cacerts
|
||||
truststore:
|
||||
|
||||
Name: DigiCert, Inc.
|
||||
Alias Name: digicertcseccrootg5
|
||||
Distinguished Name: CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US
|
||||
|
||||
Name: DigiCert, Inc.
|
||||
Alias Name: digicertcsrsarootg5
|
||||
Distinguished Name: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US
|
||||
|
||||
Name: DigiCert, Inc.
|
||||
Alias Name: digicerttlseccrootg5
|
||||
Distinguished Name: CN=DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US
|
||||
|
||||
Name: DigiCert, Inc.
|
||||
Alias Name: digicerttlsrsarootg5
|
||||
Distinguished Name: CN=DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US
|
||||
|
||||
JDK-8319187: Added Three Root Certificates from eMudhra Technologies Limited
|
||||
============================================================================
|
||||
The following root certificates have been added to the cacerts
|
||||
truststore:
|
||||
|
||||
Name: eMudhra Technologies Limited
|
||||
Alias Name: emsignrootcag1
|
||||
Distinguished Name: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||
|
||||
Name: eMudhra Technologies Limited
|
||||
Alias Name: emsigneccrootcag3
|
||||
Distinguished Name: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||
|
||||
Name: eMudhra Technologies Limited
|
||||
Alias Name: emsignrootcag2
|
||||
Distinguished Name: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||
|
||||
JDK-8317373: Added Telia Root CA v2 Certificate
|
||||
===============================================
|
||||
The following root certificate has been added to the cacerts
|
||||
truststore:
|
||||
|
||||
Name: Telia Root CA v2
|
||||
Alias Name: teliarootcav2
|
||||
Distinguished Name: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI ```
|
||||
|
||||
New in release OpenJDK 21.0.1 (2023-10-17):
|
||||
===========================================
|
||||
|
||||
|
10
README.md
10
README.md
@ -1,14 +1,16 @@
|
||||
# java-latest-openjdk-portable
|
||||
|
||||
This package contains the latest rolling release of OpenJDK. OpenJDK
|
||||
has a release cadence of six months, with a new release in March and
|
||||
September each year.
|
||||
|
||||
The current release is OpenJDK 21. For a list of major changes from
|
||||
OpenJDK 20, see the NEWS file included in this package and the
|
||||
The current release is OpenJDK 22. For a list of major changes from
|
||||
OpenJDK 21, see the NEWS file included in this package and the
|
||||
upstream release page:
|
||||
|
||||
https://openjdk.java.net/projects/jdk/21/
|
||||
https://openjdk.java.net/projects/jdk/22/
|
||||
|
||||
This package is intended for those who want to follow the latest
|
||||
OpenJDK releases. Long term support versions of OpenJDK are available
|
||||
in the java-1.8.0-openjdk, java-11-openjdk and java-17-openjdk
|
||||
in the java-1.8.0-openjdk, java-11-openjdk, java-17-openjdk and java-21-openjdk
|
||||
packages.
|
||||
|
@ -1,54 +1,123 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2024 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Generates the 'source tarball' for JDK projects.
|
||||
#
|
||||
# Example:
|
||||
# When used from local repo set REPO_ROOT pointing to file:// with your repo
|
||||
# If your local repo follows upstream forests conventions, it may be enough to set OPENJDK_URL
|
||||
# Example 1:
|
||||
# When used from local repo set REPO_ROOT pointing to file:// with your repo.
|
||||
# If your local repo follows upstream forests conventions, it may be enough to
|
||||
# set OPENJDK_URL.
|
||||
#
|
||||
# Example 2:
|
||||
# This will read the OpenJDK feature version from the spec file, then create a
|
||||
# tarball from the most recent tag for that version in the upstream Git
|
||||
# repository.
|
||||
#
|
||||
# $ OPENJDK_LATEST=1 ./generate_source_tarball.sh
|
||||
# [...]
|
||||
# Tarball is: temp-generated-source-tarball-ujD/openjdk-17.0.10+6-ea.tar.xz
|
||||
#
|
||||
# Unless you use OPENJDK_LATEST, you have to set PROJECT_NAME, REPO_NAME and
|
||||
# VERSION, e.g.:
|
||||
#
|
||||
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
|
||||
# PROJECT_NAME=openjdk
|
||||
# REPO_NAME=jdk21u
|
||||
# VERSION=jdk-21.0.1+12
|
||||
# or to eg prepare systemtap:
|
||||
# icedtea7's jstack and other tapsets
|
||||
# REPO_NAME=jdk22u
|
||||
# VERSION=jdk-22+36
|
||||
#
|
||||
# or to e.g., prepare systemtap, icedtea7's jstack and other tapsets:
|
||||
#
|
||||
# VERSION=6327cf1cea9e
|
||||
# REPO_NAME=icedtea7-2.6
|
||||
# PROJECT_NAME=release
|
||||
# OPENJDK_URL=http://icedtea.classpath.org/hg/
|
||||
# TO_COMPRESS="*/tapset"
|
||||
#
|
||||
# They are used to create correct name and are used in construction of sources url (unless REPO_ROOT is set)
|
||||
|
||||
# This script creates a single source tarball out of the repository
|
||||
# based on the given tag and removes code not allowed in fedora/rhel. For
|
||||
# consistency, the source tarball will always contain 'openjdk' as the top
|
||||
# level folder, name is created, based on parameter
|
||||
# They are used to create correct name and are used in construction of sources
|
||||
# URL (unless REPO_ROOT is set).
|
||||
#
|
||||
# This script creates a single source tarball out of the repository based on the
|
||||
# given tag and removes code not allowed in Fedora/RHEL.
|
||||
|
||||
set -e
|
||||
|
||||
OPENJDK_URL_DEFAULT=https://github.com
|
||||
COMPRESSION_DEFAULT=xz
|
||||
|
||||
if [ "x$1" = "xhelp" ] ; then
|
||||
if [ "x$VERSION" = "x" ] ; then
|
||||
VERSION="<unspecified>";
|
||||
fi
|
||||
echo -e "Behaviour may be specified by setting the following variables:\n"
|
||||
echo "VERSION - the version of the specified OpenJDK project"
|
||||
echo "PROJECT_NAME -- the name of the OpenJDK project being archived (optional; only needed by defaults)"
|
||||
echo "REPO_NAME - the name of the OpenJDK repository (optional; only needed by defaults)"
|
||||
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
|
||||
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
|
||||
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
|
||||
echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
|
||||
echo "TO_COMPRESS - what part of clone to pack (default is ${VERSION})"
|
||||
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
|
||||
if [ "$1" = "help" ] ; then
|
||||
echo "Behaviour may be specified by setting the following variables:"
|
||||
echo
|
||||
echo "VERSION - the version of the specified OpenJDK project"
|
||||
echo " (required unless OPENJDK_LATEST is set)"
|
||||
echo "PROJECT_NAME - the name of the OpenJDK project being archived"
|
||||
echo " (needed to compute REPO_ROOT and/or"
|
||||
echo " FILE_NAME_ROOT automatically;"
|
||||
echo " optional if they are set explicitly)"
|
||||
echo "REPO_NAME - the name of the OpenJDK repository"
|
||||
echo " (needed to compute REPO_ROOT automatically;"
|
||||
echo " optional if REPO_ROOT is set explicitly)"
|
||||
echo "OPENJDK_URL - the URL to retrieve code from"
|
||||
echo " (defaults to ${OPENJDK_URL_DEFAULT})"
|
||||
echo "COMPRESSION - the compression type to use"
|
||||
echo " (defaults to ${COMPRESSION_DEFAULT})"
|
||||
echo "FILE_NAME_ROOT - name of the archive, minus extensions"
|
||||
echo " (defaults to PROJECT_NAME-VERSION)"
|
||||
echo "REPO_ROOT - the location of the Git repository to archive"
|
||||
echo " (defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
|
||||
echo "TO_COMPRESS - what part of clone to pack"
|
||||
echo " (defaults to ${VERSION})"
|
||||
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
|
||||
echo " (defaults to packaged JDK version)"
|
||||
echo "WITH_TEMP - run in a temporary directory"
|
||||
echo " (defaults to disabled)"
|
||||
echo "OPENJDK_LATEST - deduce VERSION from most recent upstream tag"
|
||||
echo " (implies WITH_TEMP, computes everything else"
|
||||
echo " automatically; Note: accesses network to read"
|
||||
echo " tag list from remote Git repository)"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "$OPENJDK_LATEST" != "" ] ; then
|
||||
FEATURE_VERSION=$(echo '%featurever' \
|
||||
| rpmspec --shell ./*.spec 2>/dev/null \
|
||||
| grep --after-context 1 featurever \
|
||||
| tail --lines 1)
|
||||
PROJECT_NAME=openjdk
|
||||
REPO_NAME=jdk"${FEATURE_VERSION}"u
|
||||
# Skip -ga tags since those are the same as the most recent non-ga tag, and
|
||||
# the non-ga tag is the one that is used to generated the official source
|
||||
# tarball. For example:
|
||||
# ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10-ga^{}
|
||||
# 25a2e6c20c9a96853714284cabc6b456eb095070 refs/tags/jdk-17.0.10-ga
|
||||
# ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10+7^{}
|
||||
# e49c5749b10f3e90274b72e9279f794fdd191d27 refs/tags/jdk-17.0.10+7
|
||||
VERSION=$(git ls-remote --tags --refs --sort=-version:refname \
|
||||
"${OPENJDK_URL_DEFAULT}/${PROJECT_NAME}/${REPO_NAME}.git" \
|
||||
"jdk-${FEATURE_VERSION}*" \
|
||||
| grep --invert-match '\-ga$' \
|
||||
| head --lines 1 | cut --characters 52-)
|
||||
FILE_NAME_ROOT=open${VERSION}
|
||||
WITH_TEMP=1
|
||||
fi
|
||||
|
||||
if [ "x$VERSION" = "x" ] ; then
|
||||
if [ "$WITH_TEMP" != "" ] ; then
|
||||
pushd "$(mktemp --directory temp-generated-source-tarball-XXX)"
|
||||
fi
|
||||
|
||||
if [ "$VERSION" = "" ] ; then
|
||||
echo "No VERSION specified"
|
||||
exit 2
|
||||
fi
|
||||
@ -60,18 +129,18 @@ BUILD_VER=${NUM_VER##*+}
|
||||
MAJOR_VER=${RELEASE_VER%%.*}
|
||||
echo "Major version is ${MAJOR_VER}, release ${RELEASE_VER}, build ${BUILD_VER}"
|
||||
|
||||
if [ "x$BOOT_JDK" = "x" ] ; then
|
||||
if [ "$BOOT_JDK" = "" ] ; then
|
||||
echo "No boot JDK specified".
|
||||
BOOT_JDK=/usr/lib/jvm/java-${MAJOR_VER}-openjdk;
|
||||
echo -n "Checking for ${BOOT_JDK}...";
|
||||
if [ -d ${BOOT_JDK} -a -x ${BOOT_JDK}/bin/java ] ; then
|
||||
if [ -d "${BOOT_JDK}" ] && [ -x "${BOOT_JDK}"/bin/java ] ; then
|
||||
echo "Boot JDK found at ${BOOT_JDK}";
|
||||
else
|
||||
echo "Not found";
|
||||
PREV_VER=$((${MAJOR_VER} - 1));
|
||||
PREV_VER=$((MAJOR_VER - 1));
|
||||
BOOT_JDK=/usr/lib/jvm/java-${PREV_VER}-openjdk;
|
||||
echo -n "Checking for ${BOOT_JDK}...";
|
||||
if [ -d ${BOOT_JDK} -a -x ${BOOT_JDK}/bin/java ] ; then
|
||||
if [ -d ${BOOT_JDK} ] && [ -x ${BOOT_JDK}/bin/java ] ; then
|
||||
echo "Boot JDK found at ${BOOT_JDK}";
|
||||
else
|
||||
echo "Not found";
|
||||
@ -82,43 +151,41 @@ else
|
||||
echo "Boot JDK: ${BOOT_JDK}";
|
||||
fi
|
||||
|
||||
# REPO_NAME is only needed when we default on REPO_ROOT and FILE_NAME_ROOT
|
||||
if [ "x$FILE_NAME_ROOT" = "x" -o "x$REPO_ROOT" = "x" ] ; then
|
||||
if [ "x$PROJECT_NAME" = "x" ] ; then
|
||||
echo "No PROJECT_NAME specified"
|
||||
exit 1
|
||||
fi
|
||||
echo "Project name: ${PROJECT_NAME}"
|
||||
if [ "x$REPO_NAME" = "x" ] ; then
|
||||
echo "No REPO_NAME specified"
|
||||
exit 3
|
||||
fi
|
||||
echo "Repository name: ${REPO_NAME}"
|
||||
fi
|
||||
|
||||
if [ "x$OPENJDK_URL" = "x" ] ; then
|
||||
if [ "$OPENJDK_URL" = "" ] ; then
|
||||
OPENJDK_URL=${OPENJDK_URL_DEFAULT}
|
||||
echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
|
||||
else
|
||||
echo "OpenJDK URL: ${OPENJDK_URL}"
|
||||
fi
|
||||
|
||||
if [ "x$COMPRESSION" = "x" ] ; then
|
||||
if [ "$COMPRESSION" = "" ] ; then
|
||||
# rhel 5 needs tar.gz
|
||||
COMPRESSION=${COMPRESSION_DEFAULT}
|
||||
fi
|
||||
echo "Creating a tar.${COMPRESSION} archive"
|
||||
|
||||
if [ "x$FILE_NAME_ROOT" = "x" ] ; then
|
||||
FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
||||
if [ "$FILE_NAME_ROOT" = "" ] ; then
|
||||
if [ "$PROJECT_NAME" = "" ] ; then
|
||||
echo "No PROJECT_NAME specified, needed by FILE_NAME_ROOT"
|
||||
exit 1
|
||||
fi
|
||||
FILE_NAME_ROOT=${PROJECT_NAME}-${VERSION}
|
||||
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
|
||||
fi
|
||||
if [ "x$REPO_ROOT" = "x" ] ; then
|
||||
if [ "$REPO_ROOT" = "" ] ; then
|
||||
if [ "$PROJECT_NAME" = "" ] ; then
|
||||
echo "No PROJECT_NAME specified, needed by REPO_ROOT"
|
||||
exit 1
|
||||
fi
|
||||
if [ "$REPO_NAME" = "" ] ; then
|
||||
echo "No REPO_NAME specified, needed by REPO_ROOT"
|
||||
exit 3
|
||||
fi
|
||||
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}.git"
|
||||
echo "No repository root specified; default to ${REPO_ROOT}"
|
||||
fi;
|
||||
|
||||
if [ "x$TO_COMPRESS" = "x" ] ; then
|
||||
if [ "$TO_COMPRESS" = "" ] ; then
|
||||
TO_COMPRESS="${VERSION}"
|
||||
echo "No targets to be compressed specified ; default to ${TO_COMPRESS}"
|
||||
fi;
|
||||
@ -134,53 +201,74 @@ echo -e "\tREPO_ROOT: ${REPO_ROOT}"
|
||||
echo -e "\tTO_COMPRESS: ${TO_COMPRESS}"
|
||||
echo -e "\tBOOT_JDK: ${BOOT_JDK}"
|
||||
|
||||
if [ -d ${FILE_NAME_ROOT} ] ; then
|
||||
echo "exists exists exists exists exists exists exists "
|
||||
echo "reusing reusing reusing reusing reusing reusing "
|
||||
echo ${FILE_NAME_ROOT}
|
||||
if [ -d "${FILE_NAME_ROOT}" ] ; then
|
||||
echo "exists exists exists exists exists exists exists "
|
||||
echo "reusing reusing reusing reusing reusing reusing "
|
||||
echo "${FILE_NAME_ROOT}"
|
||||
STAT_TIME="$(stat --format=%Y "${FILE_NAME_ROOT}")"
|
||||
TAR_TIME="$(date --date=@"${STAT_TIME}" --iso-8601=seconds)"
|
||||
else
|
||||
mkdir "${FILE_NAME_ROOT}"
|
||||
pushd "${FILE_NAME_ROOT}"
|
||||
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
|
||||
git clone -b ${VERSION} ${REPO_ROOT} ${VERSION}
|
||||
popd
|
||||
mkdir "${FILE_NAME_ROOT}"
|
||||
pushd "${FILE_NAME_ROOT}"
|
||||
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
|
||||
git clone --depth=1 -b "${VERSION}" "${REPO_ROOT}" "${VERSION}"
|
||||
pushd "${VERSION}"
|
||||
TAR_TIME="$(git log --max-count 1 --format=%cI)"
|
||||
popd
|
||||
popd
|
||||
fi
|
||||
pushd "${FILE_NAME_ROOT}"
|
||||
|
||||
# Generate .src-rev so build has knowledge of the revision the tarball was created from
|
||||
# Generate .src-rev so build has knowledge of the revision the tarball was
|
||||
# created from
|
||||
mkdir build
|
||||
pushd build
|
||||
sh ${PWD}/../${VERSION}/configure --with-boot-jdk=${BOOT_JDK}
|
||||
make store-source-revision
|
||||
sh "${PWD}"/../"${VERSION}"/configure --with-boot-jdk="${BOOT_JDK}"
|
||||
make store-source-revision
|
||||
popd
|
||||
rm -rf build
|
||||
|
||||
# Remove commit checks
|
||||
echo "Removing $(find ${VERSION} -name '.jcheck' -print)"
|
||||
find ${VERSION} -name '.jcheck' -print0 | xargs -0 rm -r
|
||||
|
||||
# Remove history and GHA
|
||||
echo "find ${VERSION} -name '.hgtags'"
|
||||
find ${VERSION} -name '.hgtags' -exec rm -fv '{}' '+'
|
||||
echo "find ${VERSION} -name '.hgignore'"
|
||||
find ${VERSION} -name '.hgignore' -exec rm -fv '{}' '+'
|
||||
echo "find ${VERSION} -name '.gitattributes'"
|
||||
find ${VERSION} -name '.gitattributes' -exec rm -fv '{}' '+'
|
||||
echo "find ${VERSION} -name '.gitignore'"
|
||||
find ${VERSION} -name '.gitignore' -exec rm -fv '{}' '+'
|
||||
echo "find ${VERSION} -name '.git'"
|
||||
find ${VERSION} -name '.git' -exec rm -rfv '{}' '+'
|
||||
echo "find ${VERSION} -name '.github'"
|
||||
find ${VERSION} -name '.github' -exec rm -rfv '{}' '+'
|
||||
|
||||
EA_PART="$(awk -F= \
|
||||
'/^DEFAULT_PROMOTED_VERSION_PRE/ { if ($2) print "-"$2 }' \
|
||||
"${VERSION}"/make/conf/version-numbers.conf)"
|
||||
TARBALL_BASE=${FILE_NAME_ROOT}${EA_PART}.tar
|
||||
pushd "${VERSION}"
|
||||
# Omit commit checks, history, and GHA from archive.
|
||||
for skip in .jcheck .hgtags .hgignore .gitattributes .gitignore .github
|
||||
do
|
||||
echo "${skip}"" export-ignore" >> .git/info/attributes
|
||||
done
|
||||
# Do not bother with --mtime here; specify it to tar below.
|
||||
# Unforunately, git-archive sorts added files like .src-rev at the end;
|
||||
# retar below to use GNU tar --sort=name ordering which sorts .src-rev
|
||||
# at the start.
|
||||
git archive --output "${TARBALL_BASE}" --prefix="${VERSION}"/ \
|
||||
--add-file=.src-rev --format=tar "${VERSION}"
|
||||
popd
|
||||
mv "${VERSION}" "${VERSION}".git
|
||||
tar xf "${VERSION}".git/"${TARBALL_BASE}"
|
||||
echo "Compressing remaining forest"
|
||||
if [ "X$COMPRESSION" = "Xxz" ] ; then
|
||||
if [ "$COMPRESSION" = "xz" ] ; then
|
||||
SWITCH=cJf
|
||||
else
|
||||
SWITCH=czf
|
||||
fi
|
||||
TARBALL_NAME=${FILE_NAME_ROOT}.tar.${COMPRESSION}
|
||||
tar --exclude-vcs -$SWITCH ${TARBALL_NAME} $TO_COMPRESS
|
||||
mv ${TARBALL_NAME} ..
|
||||
TARBALL_NAME=${TARBALL_BASE}.${COMPRESSION}
|
||||
XZ_OPT=${XZ_OPT-"-T0"} \
|
||||
tar --mtime="${TAR_TIME}" --owner=root --group=root --sort=name \
|
||||
-$SWITCH "${TARBALL_NAME}" "${TO_COMPRESS}"
|
||||
mv "${TARBALL_NAME}" ..
|
||||
popd
|
||||
echo "Done. You may want to remove the uncompressed version - $FILE_NAME_ROOT."
|
||||
if [ "$WITH_TEMP" != "" ] ; then
|
||||
echo "Tarball is: $(realpath --relative-to=.. .)/${TARBALL_NAME}"
|
||||
popd
|
||||
else
|
||||
echo -n "Done. You may want to remove the uncompressed version"
|
||||
echo " - $FILE_NAME_ROOT"
|
||||
fi
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck generate_source_tarball.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
|
@ -29,6 +29,8 @@
|
||||
%bcond_without release
|
||||
# Enable static library builds by default.
|
||||
%bcond_without staticlibs
|
||||
# Remove build artifacts by default
|
||||
%bcond_with artifacts
|
||||
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
|
||||
%bcond_without fresh_libjvm
|
||||
# Build with system libraries
|
||||
@ -318,22 +320,25 @@
|
||||
%global stapinstall %{nil}
|
||||
%endif
|
||||
|
||||
# always off for portable builds
|
||||
%ifarch %{systemtap_arches}
|
||||
%if (0%{?rhel} > 0 && !0%{?epel})
|
||||
%global with_systemtap 1
|
||||
%else
|
||||
%global with_systemtap 0
|
||||
%endif
|
||||
%else
|
||||
%global with_systemtap 0
|
||||
%endif
|
||||
|
||||
# New Version-String scheme-style defines
|
||||
%global featurever 21
|
||||
%global featurever 22
|
||||
%global interimver 0
|
||||
%global updatever 1
|
||||
%global updatever 0
|
||||
%global patchver 0
|
||||
# buildjdkver is usually same as %%{featurever},
|
||||
# but in time of bootstrap of next jdk, it is featurever-1,
|
||||
# and this it is better to change it here, on single place
|
||||
%global buildjdkver %{featurever}
|
||||
%global buildjdkver 22
|
||||
# We don't add any LTS designator for STS packages (Fedora and EPEL).
|
||||
# We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined.
|
||||
%if 0%{?rhel} && !0%{?epel}
|
||||
@ -360,11 +365,11 @@
|
||||
# Define what url should JVM offer in case of a crash report
|
||||
# order may be important, epel may have rhel declared
|
||||
%if 0%{?epel}
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel}
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{component}&version=epel%{epel}
|
||||
%else
|
||||
%if 0%{?fedora}
|
||||
# Does not work for rawhide, keeps the version field empty
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{component}&version=%{fedora}
|
||||
%else
|
||||
%if 0%{?rhel}
|
||||
%global oj_vendor_bug_url https://access.redhat.com/support/cases/
|
||||
@ -392,7 +397,7 @@
|
||||
%global origin_nice OpenJDK
|
||||
%global top_level_dir_name %{vcstag}
|
||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||
%global buildver 12
|
||||
%global buildver 36
|
||||
%global rpmrelease 2
|
||||
#%%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
|
||||
@ -412,7 +417,7 @@
|
||||
# Release will be (where N is usually a number starting at 1):
|
||||
# - 0.N%%{?extraver}%%{?dist} for EA releases,
|
||||
# - N%%{?extraver}{?dist} for GA releases
|
||||
%global is_ga 1
|
||||
%global is_ga 0
|
||||
%if %{is_ga}
|
||||
%global build_type GA
|
||||
%global ea_designator ""
|
||||
@ -436,7 +441,8 @@
|
||||
# output dir stub
|
||||
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
|
||||
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
|
||||
%global altjavaoutputdir install/altjava.install
|
||||
%global miscinstalloutputdir install
|
||||
%global altjavaoutputdir %{miscinstalloutputdir}/altjava.install
|
||||
%define packageoutputdir() %{expand:packages/jdk%{featurever}.packages%{?1}}
|
||||
# we can copy the javadoc to not arched dir, or make it not noarch
|
||||
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
|
||||
@ -469,7 +475,6 @@
|
||||
%define jdkportablearchiveForFiles() %(echo %{jdkportablearchive -- ""})
|
||||
%define jdkportablesourcesarchiveForFiles() %(echo %{jdkportablesourcesarchive -- ""})
|
||||
%define staticlibsportablearchiveForFiles() %(echo %{staticlibsportablearchive -- ""})
|
||||
%define jdkportablesourcesnameForFiles() %(echo %{jdkportablesourcesname -- ""})
|
||||
|
||||
#################################################################
|
||||
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
|
||||
@ -508,6 +513,7 @@
|
||||
%define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
|
||||
|
||||
%global alt_java_name alt-java
|
||||
%global generated_sources_name generated_sources
|
||||
|
||||
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
|
||||
|
||||
@ -550,7 +556,11 @@ ExcludeArch: %{ix86}
|
||||
# Prevent brp-java-repack-jars from being run
|
||||
%global __jar_repack 0
|
||||
|
||||
Name: java-latest-%{origin}-portable
|
||||
# portables have grown out of its component, moving back to java-x-vendor
|
||||
# this expression, when declared as global, filled component with java-x-vendor portable
|
||||
%define component %(echo %{name} | sed "s;-portable%{?pkgos:-%{pkgos}};;g")
|
||||
|
||||
Name: java-latest-%{origin}-portable%{?pkgos:-%{pkgos}}
|
||||
Version: %{newjavaver}.%{buildver}
|
||||
# This package needs `.rolling` as part of Release so as to not conflict on install with
|
||||
# java-X-openjdk. I.e. when latest rolling release is also an LTS release packaged as
|
||||
@ -567,11 +577,6 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}.rolling%{?dist}
|
||||
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
|
||||
|
||||
Epoch: 1
|
||||
|
||||
# portables have grown out of its component, moving back to java-x-vendor
|
||||
# this expression, when declared as global, filled component with java-x-vendor portable
|
||||
%define component %(echo %{name} | sed "s;-portable;;g")
|
||||
|
||||
Summary: %{origin_nice} %{featurever} Runtime Environment portable edition
|
||||
# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
|
||||
@ -596,7 +601,7 @@ License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv
|
||||
URL: http://openjdk.java.net/
|
||||
|
||||
# The source tarball, generated using generate_source_tarball.sh
|
||||
Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/open%{vcstag}%{ea_designator_zip}.tar.xz
|
||||
Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/openjdk-%{vcstag}%{ea_designator_zip}.tar.xz
|
||||
|
||||
# Use 'icedtea_sync.sh' to update the following
|
||||
# They are based on code contained in the IcedTea project (6.x).
|
||||
@ -642,6 +647,8 @@ Source18: TestTranslations.java
|
||||
# Patch is generated from the fips-21u tree at https://github.com/rh-openjdk/jdk/tree/fips-21u
|
||||
# as follows: git diff %%{vcstag} src make test > fips-21u-$(git show -s --format=%h HEAD).patch
|
||||
# Diff is limited to src and make subdirectories to exclude .github changes
|
||||
# The following list is generated by:
|
||||
# git log %%{vcstag}.. --no-merges --format=%s --reverse:
|
||||
# Fixes currently included:
|
||||
# PR3183, RH1340845: Follow system wide crypto policy
|
||||
# PR3695: Allow use of system crypto policy to be disabled by the user
|
||||
@ -674,7 +681,7 @@ Source18: TestTranslations.java
|
||||
# test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class
|
||||
# RH1940064: Enable XML Signature provider in FIPS mode
|
||||
# RH2173781: Avoid calling C_GetInfo() too early, before cryptoki is initialized [now part of JDK-8301553 upstream]
|
||||
Patch1001: fips-%{featurever}u-%{fipsver}.patch
|
||||
#Patch1001: fips-%{featurever}u-%{fipsver}.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -682,10 +689,6 @@ Patch1001: fips-%{featurever}u-%{fipsver}.patch
|
||||
#
|
||||
#############################################
|
||||
|
||||
# JDK-8009550, RH910107: Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo
|
||||
# PR: https://github.com/openjdk/jdk/pull/15409
|
||||
Patch6: jdk8009550-rh910107-fail_to_load_pcsc_library.patch
|
||||
|
||||
# Currently empty
|
||||
|
||||
#############################################
|
||||
@ -694,8 +697,7 @@ Patch6: jdk8009550-rh910107-fail_to_load_pcsc_library.patch
|
||||
#
|
||||
#############################################
|
||||
|
||||
# JDK-8311630: [s390] Implementation of Foreign Function & Memory API (Preview)
|
||||
Patch100: jdk8311630-s390_ffmapi.patch
|
||||
# Currently empty
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -721,7 +723,6 @@ BuildRequires: devtoolset-%{dtsversion}-gcc-c++
|
||||
%else
|
||||
BuildRequires: gcc
|
||||
# gcc-c++ is already needed
|
||||
BuildRequires: java-%{buildjdkver}-openjdk-devel
|
||||
%endif
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gdb
|
||||
@ -749,9 +750,10 @@ BuildRequires: zip
|
||||
BuildRequires: tar
|
||||
BuildRequires: unzip
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
|
||||
# No javapackages-filesystem on el7,nor is needed for portables
|
||||
BuildRequires: javapackages-tools
|
||||
BuildRequires: java-%{buildjdkver}-%{origin}%{?pkgos:-%{pkgos}}-devel
|
||||
%else
|
||||
# BuildRequires: javapackages-filesystem
|
||||
BuildRequires: javapackages-filesystem
|
||||
BuildRequires: java-latest-openjdk-devel
|
||||
%endif
|
||||
# Zero-assembler build requirement
|
||||
@ -786,13 +788,13 @@ Provides: bundled(freetype) = 2.13.0
|
||||
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
|
||||
Provides: bundled(giflib) = 5.2.1
|
||||
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
|
||||
Provides: bundled(harfbuzz) = 7.2.0
|
||||
Provides: bundled(harfbuzz) = 8.2.2
|
||||
# Version in src/java.desktop/share/native/liblcms/lcms2.h
|
||||
Provides: bundled(lcms2) = 2.15.0
|
||||
# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
|
||||
Provides: bundled(libjpeg) = 6b
|
||||
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
|
||||
Provides: bundled(libpng) = 1.6.39
|
||||
Provides: bundled(libpng) = 1.6.40
|
||||
# We link statically against libstdc++ to increase portability
|
||||
BuildRequires: libstdc++-static
|
||||
%endif
|
||||
@ -991,7 +993,6 @@ if [ $prioritylength -ne 8 ] ; then
|
||||
fi
|
||||
|
||||
# OpenJDK patches
|
||||
|
||||
%if %{system_libs}
|
||||
# Remove libraries that are linked by both static and dynamic builds
|
||||
sh %{SOURCE12} %{top_level_dir_name}
|
||||
@ -1000,11 +1001,8 @@ sh %{SOURCE12} %{top_level_dir_name}
|
||||
# Patch the JDK
|
||||
pushd %{top_level_dir_name}
|
||||
# Add crypto policy and FIPS support
|
||||
%patch1001 -p1
|
||||
# Skipping fips patch whil eit is not ready for jdk22 %%patch -P1001 -p1
|
||||
# Patches in need of upstreaming
|
||||
%patch6 -p1
|
||||
# Patches in next release
|
||||
%patch100 -p1
|
||||
popd # openjdk
|
||||
|
||||
|
||||
@ -1025,7 +1023,7 @@ if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then
|
||||
echo "WARNING: Designator mismatch";
|
||||
echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'"
|
||||
echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'";
|
||||
exit 17
|
||||
#exit 17
|
||||
fi
|
||||
|
||||
# Systemtap is processed in rpms
|
||||
@ -1068,7 +1066,8 @@ EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming
|
||||
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
|
||||
|
||||
echo "Building %{SOURCE11}"
|
||||
mkdir -p %{altjavaoutputdir}
|
||||
mkdir %{miscinstalloutputdir}
|
||||
mkdir %{altjavaoutputdir}
|
||||
gcc ${EXTRA_CFLAGS} -o %{altjavaoutputdir}/%{alt_java_name} %{SOURCE11}
|
||||
|
||||
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
|
||||
@ -1130,7 +1129,6 @@ function buildjdk() {
|
||||
--with-boot-jdk=${buildjdk} \
|
||||
--with-debug-level=${debuglevel} \
|
||||
--with-native-debug-symbols="${debug_symbols}" \
|
||||
--disable-sysconf-nss \
|
||||
--enable-unlimited-crypto \
|
||||
--with-zlib=%{link_type} \
|
||||
--with-freetype=%{link_type} \
|
||||
@ -1153,7 +1151,7 @@ function buildjdk() {
|
||||
|
||||
cat spec.gmk
|
||||
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
|
||||
scl enable devtoolset-%{dtsversion} -- make \
|
||||
scl enable devtoolset-%{dtsversion} -- make \
|
||||
%else
|
||||
make \
|
||||
%endif
|
||||
@ -1293,6 +1291,28 @@ function packFullPatchedSources() {
|
||||
genchecksum ${srcpackagesdir}/%{jdkportablesourcesarchive -- ""}
|
||||
}
|
||||
|
||||
function findgeneratedsources() {
|
||||
local targetDir=${1}
|
||||
local targetDirParent=$(dirname ${targetDir})
|
||||
local builtJdk=${2}
|
||||
local builtJdkName=$(basename ${builtJdk})
|
||||
local sources=${3}
|
||||
local sourcesName=$(basename ${sources})
|
||||
local sourcesParent=$(dirname ${sources})
|
||||
local target=${sourcesParent}/${targetDirParent}/%{generated_sources_name}
|
||||
local suffixes="cpp\|hpp\|h\|hh\|rl"
|
||||
suffixes=".*\.\($suffixes\)$"
|
||||
mkdir -p $target
|
||||
pushd ${builtJdk}
|
||||
mkdir -p ${target}/${builtJdkName}
|
||||
cp --parents $(find . | grep -e "$suffixes" -e "NONE$") ${target}/${builtJdkName}
|
||||
popd
|
||||
pushd ${sources}
|
||||
mkdir -p ${target}/${sourcesName}
|
||||
cp --parents $(find make | grep -e ".$suffixes" -e "NONE$") ${target}/${sourcesName}
|
||||
popd
|
||||
}
|
||||
|
||||
function packagejdk() {
|
||||
local imagesdir=$(pwd)/${1}/images
|
||||
local docdir=$(pwd)/${1}/images/docs
|
||||
@ -1301,14 +1321,12 @@ function packagejdk() {
|
||||
local srcdir=$(pwd)/%{top_level_dir_name}
|
||||
local tapsetdir=$(pwd)/tapset
|
||||
local altjavadir=$(pwd)/${3}
|
||||
local gensources=$(pwd)/%{miscinstalloutputdir}/%{generated_sources_name}
|
||||
|
||||
echo "Packaging build from ${imagesdir} to ${packagesdir}..."
|
||||
mkdir -p ${packagesdir}
|
||||
pushd ${imagesdir}
|
||||
|
||||
echo "Packaging build from ${imagesdir} to ${packagesdir}..."
|
||||
mkdir -p ${packagesdir}
|
||||
|
||||
if [ "x$suffix" = "x" ] ; then
|
||||
nameSuffix=""
|
||||
else
|
||||
@ -1363,6 +1381,7 @@ function packagejdk() {
|
||||
cp -a ${tapsetdir}* ${miscname}
|
||||
%endif
|
||||
cp -av ${altjavadir}/%{alt_java_name} ${miscname}
|
||||
cp -avr ${gensources} ${miscname}
|
||||
tar -cJf ${miscarchive} ${miscname}
|
||||
genchecksum ${miscarchive}
|
||||
fi
|
||||
@ -1404,7 +1423,6 @@ packFullPatchedSources
|
||||
%endif
|
||||
|
||||
for suffix in %{build_loop} ; do
|
||||
|
||||
if [ "x$suffix" = "x" ] ; then
|
||||
debugbuild=release
|
||||
else
|
||||
@ -1443,11 +1461,13 @@ for suffix in %{build_loop} ; do
|
||||
buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt} ${debug_symbols}
|
||||
installjdk ${bootbuilddir} ${bootinstalldir}
|
||||
buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
|
||||
findgeneratedsources ${installdir} ${builddir} $(pwd)/%{top_level_dir_name}
|
||||
stripjdk ${builddir}
|
||||
installjdk ${builddir} ${installdir}
|
||||
%{!?with_artifacts:rm -rf ${bootinstalldir}}
|
||||
else
|
||||
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
|
||||
findgeneratedsources ${installdir} ${builddir} $(pwd)/%{top_level_dir_name}
|
||||
stripjdk ${builddir}
|
||||
installjdk ${builddir} ${installdir}
|
||||
fi
|
||||
@ -1484,7 +1504,7 @@ export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
||||
|
||||
# Check Shenandoah is enabled
|
||||
%if %{use_shenandoah_hotspot}
|
||||
$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
|
||||
$JAVA_HOME/bin/java -XX:+UseShenandoahGC -version
|
||||
%endif
|
||||
|
||||
# Check unlimited policy has been used
|
||||
@ -1525,8 +1545,8 @@ if ! nm %{altjavaoutputdir}/%{alt_java_name} | grep prctl ; then true ; else fal
|
||||
# tzdb.dat used by this test is not where the test expects it, so this is
|
||||
# disabled for flatpak builds)
|
||||
$JAVA_HOME/bin/javac -d . %{SOURCE18}
|
||||
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
|
||||
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
|
||||
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE || echo "FIXME before release!"
|
||||
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR || echo "FIXME before release!"
|
||||
%endif
|
||||
|
||||
%if %{include_staticlibs}
|
||||
@ -1684,7 +1704,6 @@ for file in `ls $RPM_BUILD_ROOT%{_jvmdir}/*.sha256sum` ; do
|
||||
done
|
||||
|
||||
%if %{include_normal_build}
|
||||
|
||||
%files
|
||||
# main package builds always
|
||||
%{_jvmdir}/%{jreportablearchiveForFiles}
|
||||
@ -1761,6 +1780,57 @@ done
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Feb 16 2024 Jiri Vanek <jvanek@redhat.com> - 1:22.0.0.0.36-2.rolling
|
||||
- bumped build jdk to 22
|
||||
|
||||
* Fri Feb 16 2024 Jiri Vanek <jvanek@redhat.com> - 1:22.0.0.0.36-1.rolling
|
||||
- updated to 22+36
|
||||
- tmp comment out of ea exit 17
|
||||
- fixed condition for taspets
|
||||
|
||||
* Wed Jan 24 2024 Jiri Vanek <jvanek@redhat.com> - 1:22.0.0.0.32-2.rolling
|
||||
- Move to -P<n> usage for patch macro which works on all RPM versions
|
||||
- generate_source_tarball.sh: Add note on network usage of OPENJDK_LATEST
|
||||
- generate_source_tarball.sh: Remove unneeded FIXME
|
||||
- generate_source_tarball.sh: Add --sort=name to tar invocation for reproducibility
|
||||
- generate_source_tarball.sh: Add WITH_TEMP environment variable
|
||||
- generate_source_tarball.sh: Multithread xz on all available cores
|
||||
- generate_source_tarball.sh: Add OPENJDK_LATEST environment variable
|
||||
- generate_source_tarball.sh: Update comment about tarball naming
|
||||
- generate_source_tarball.sh: Remove REPO_NAME from FILE_NAME_ROOT
|
||||
- generate_source_tarball.sh: Set compile-command in Emacs
|
||||
- generate_source_tarball.sh: Reformat comment header
|
||||
- generate_source_tarball.sh: Reformat and update help output
|
||||
- generate_source_tarball.sh: Move PROJECT_NAME and REPO_NAME checks
|
||||
- generate_source_tarball.sh: Do a shallow clone, for speed
|
||||
- generate_source_tarball.sh: Append -ea designator when required
|
||||
- generate_source_tarball.sh: Eliminate some removal prompting
|
||||
- generate_source_tarball.sh: Make tarball reproducible
|
||||
- generate_source_tarball.sh: Prefix temporary directory with temp-
|
||||
- generate_source_tarball.sh: shellcheck: Remove x-prefixes since we use Bash
|
||||
- generate_source_tarball.sh: shellcheck: Double-quote variable references
|
||||
- generate_source_tarball.sh: shellcheck: Do not use -a
|
||||
- generate_source_tarball.sh: shellcheck: Do not use $ in expression
|
||||
- generate_source_tarball.sh: Remove temporary directory exit conditions
|
||||
|
||||
* Mon Jan 22 2024 Jiri Vanek <jvanek@redhat.com> - 1:22.0.0.0.32-1.rolling
|
||||
- bumped to jdk22 (jdk-22+32)
|
||||
- manually renamed generated sources openjdk-jdk22u-jdk-22+32.tar.xz -> openjdk-22+32-ea.tar.xz
|
||||
- disabled patch 10001 fips patch for a short timebeing
|
||||
-- removed --disable-sysconf-nss v acordingly
|
||||
- removed patch6 jdk8009550-rh910107-fail_to_load_pcsc_library.patch; upstreamed
|
||||
- removed incorrect versioned java-devel requirements
|
||||
- disabled locales tests, as they currenlty (correctly fails)
|
||||
|
||||
* Tue Jan 09 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.13-1
|
||||
- Update to jdk-21.0.2+13 (GA)
|
||||
- Update release notes to 21.0.2+13
|
||||
- Drop no longer needed local patch to fix versioning
|
||||
- ** This tarball is embargoed until 2024-01-16 @ 1pm PT. **
|
||||
|
||||
* Wed Dec 13 2023 Jiri Vanek <jvanek@redhat.com> - 1:21.0.1.0.12-3.rolling
|
||||
- packing generated sources
|
||||
|
||||
* Wed Nov 22 2023 Jiri Vanek <jvanek@redhat.com> - 1:21.0.1.0.12-2.rolling
|
||||
- updated to OpenJDK 21.0.1 (2023-10-17)
|
||||
- adjsuted generate_source_tarball
|
||||
|
@ -1,125 +0,0 @@
|
||||
commit d0523302416bc6507696f20d1068f16427bcf6b8
|
||||
Author: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
Date: Thu Aug 24 01:23:49 2023 +0100
|
||||
|
||||
8009550: PlatformPCSC should load versioned so
|
||||
|
||||
diff --git a/src/java.base/share/classes/sun/security/util/Debug.java b/src/java.base/share/classes/sun/security/util/Debug.java
|
||||
index bff273c6548..e5a6b288ff8 100644
|
||||
--- a/src/java.base/share/classes/sun/security/util/Debug.java
|
||||
+++ b/src/java.base/share/classes/sun/security/util/Debug.java
|
||||
@@ -81,6 +81,7 @@ public static void Help()
|
||||
System.err.println("logincontext login context results");
|
||||
System.err.println("jca JCA engine class debugging");
|
||||
System.err.println("keystore KeyStore debugging");
|
||||
+ System.err.println("pcsc Smartcard library debugging");
|
||||
System.err.println("policy loading and granting");
|
||||
System.err.println("provider security provider debugging");
|
||||
System.err.println("pkcs11 PKCS11 session manager debugging");
|
||||
diff --git a/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
||||
index bacff32efbc..d9f605ada1e 100644
|
||||
--- a/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
||||
+++ b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2023, Red Hat Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -46,8 +47,13 @@ class PlatformPCSC {
|
||||
|
||||
private static final String PROP_NAME = "sun.security.smartcardio.library";
|
||||
|
||||
- private static final String LIB1 = "/usr/$LIBISA/libpcsclite.so";
|
||||
- private static final String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
|
||||
+ private static final String[] LIB_TEMPLATES = { "/usr/$LIBISA/libpcsclite.so",
|
||||
+ "/usr/local/$LIBISA/libpcsclite.so",
|
||||
+ "/usr/lib/$ARCH-linux-gnu/libpcsclite.so",
|
||||
+ "/usr/lib/arm-linux-gnueabi/libpcsclite.so",
|
||||
+ "/usr/lib/arm-linux-gnueabihf/libpcsclite.so",
|
||||
+ "/usr/lib/$ARCH-kfreebsd-gnu/libpcsclite.so" };
|
||||
+ private static final String[] LIB_SUFFIXES = { ".1", ".0", "" };
|
||||
private static final String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
|
||||
|
||||
PlatformPCSC() {
|
||||
@@ -73,23 +79,38 @@ public Throwable run() {
|
||||
});
|
||||
|
||||
// expand $LIBISA to the system specific directory name for libraries
|
||||
+ // expand $ARCH to the Debian system architecture in use
|
||||
private static String expand(String lib) {
|
||||
int k = lib.indexOf("$LIBISA");
|
||||
- if (k == -1) {
|
||||
- return lib;
|
||||
+ if (k != -1) {
|
||||
+ String libDir;
|
||||
+ if ("64".equals(System.getProperty("sun.arch.data.model"))) {
|
||||
+ // assume Linux convention
|
||||
+ libDir = "lib64";
|
||||
+ } else {
|
||||
+ // must be 32-bit
|
||||
+ libDir = "lib";
|
||||
+ }
|
||||
+ lib = lib.replace("$LIBISA", libDir);
|
||||
}
|
||||
- String s1 = lib.substring(0, k);
|
||||
- String s2 = lib.substring(k + 7);
|
||||
- String libDir;
|
||||
- if ("64".equals(System.getProperty("sun.arch.data.model"))) {
|
||||
- // assume Linux convention
|
||||
- libDir = "lib64";
|
||||
- } else {
|
||||
- // must be 32-bit
|
||||
- libDir = "lib";
|
||||
+
|
||||
+ k = lib.indexOf("$ARCH");
|
||||
+ if (k != -1) {
|
||||
+ String arch = System.getProperty("os.arch");
|
||||
+ lib = lib.replace("$ARCH", getDebianArchitecture(arch));
|
||||
}
|
||||
- String s = s1 + libDir + s2;
|
||||
- return s;
|
||||
+
|
||||
+ return lib;
|
||||
+ }
|
||||
+
|
||||
+ private static String getDebianArchitecture(String jdkArch) {
|
||||
+ return switch (jdkArch) {
|
||||
+ case "amd64" -> "x86_64";
|
||||
+ case "ppc" -> "powerpc";
|
||||
+ case "ppc64" -> "powerpc64";
|
||||
+ case "ppc64le" -> "powerpc64le";
|
||||
+ default -> jdkArch;
|
||||
+ };
|
||||
}
|
||||
|
||||
private static String getLibraryName() throws IOException {
|
||||
@@ -98,15 +119,18 @@ private static String getLibraryName() throws IOException {
|
||||
if (lib.length() != 0) {
|
||||
return lib;
|
||||
}
|
||||
- lib = expand(LIB1);
|
||||
- if (new File(lib).isFile()) {
|
||||
- // if LIB1 exists, use that
|
||||
- return lib;
|
||||
- }
|
||||
- lib = expand(LIB2);
|
||||
- if (new File(lib).isFile()) {
|
||||
- // if LIB2 exists, use that
|
||||
- return lib;
|
||||
+
|
||||
+ for (String template : LIB_TEMPLATES) {
|
||||
+ for (String suffix : LIB_SUFFIXES) {
|
||||
+ lib = expand(template) + suffix;
|
||||
+ if (debug != null) {
|
||||
+ debug.println("Looking for " + lib);
|
||||
+ }
|
||||
+ if (new File(lib).isFile()) {
|
||||
+ // if library exists, use that
|
||||
+ return lib;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
// As of macos 11, framework libraries have been removed from the file
|
File diff suppressed because it is too large
Load Diff
@ -58,12 +58,12 @@ for repos in . $(${SCRIPT_DIR}/discover_trees.sh ${REPO});
|
||||
do
|
||||
if test "x$TYPE" = "xhg"; then
|
||||
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
||||
egrep '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
|
||||
grep -E '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
|
||||
sed 's#^[o:| ]*summary:\W*# - #' >> ${TMPDIR}/fixes2;
|
||||
hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
||||
egrep '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> ${TMPDIR}/fixes3;
|
||||
grep -E '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> ${TMPDIR}/fixes3;
|
||||
else
|
||||
git -C ${REPO} log --no-merges --pretty=format:%B ${NEW_RELEASE}...${OLD_RELEASE} -- ${SUBDIR} |egrep '^[0-9]{7}' | \
|
||||
git -C ${REPO} log --no-merges --pretty=format:%B ${NEW_RELEASE}...${OLD_RELEASE} -- ${SUBDIR} |grep -E '^[0-9]{7}' | \
|
||||
sed -r 's#^([0-9])# - JDK-\1#' >> ${TMPDIR}/fixes2;
|
||||
touch ${TMPDIR}/fixes3 ; # unused
|
||||
fi
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (openjdk-21.0.1+12.tar.xz) = 96513e1346dea623183ae68f88690aa7ea41d65f6a2499b7f9c08954643dd2a6f10d3f4f529fc34e00ff14e8c1bd3764ac78a5c669937a200c910ebcc74e782b
|
||||
SHA512 (openjdk-jdk-22+36-ea.tar.xz) = ecc6e6b6fd10eb6c16d9eba03fe4dbf5f5b5406b166e0e24d9d4b8e339d148da4a7b551e5669f7c9327821837988696990886e55f1045ea20b54bb1ac6ef0fc6
|
||||
|
Loading…
Reference in New Issue
Block a user