diff --git a/.gitignore b/.gitignore
index b705f93..fcfb766 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/shenandoah-jdk11-shenandoah-jdk-11.0.8+10-4curve.tar.xz
+SOURCES/jdk-updates-jdk11u-jdk-11.0.9+11-4curve.tar.xz
 SOURCES/tapsets-icedtea-3.15.0.tar.xz
diff --git a/.java-11-openjdk.metadata b/.java-11-openjdk.metadata
index 6163a15..e4fe5f2 100644
--- a/.java-11-openjdk.metadata
+++ b/.java-11-openjdk.metadata
@@ -1,2 +1,2 @@
-96b0432148cbf9743ef57d6645600dbcc5c25bb0 SOURCES/shenandoah-jdk11-shenandoah-jdk-11.0.8+10-4curve.tar.xz
+4a65c2e79897772480e91d1bc60aca9a4c7e20f2 SOURCES/jdk-updates-jdk11u-jdk-11.0.9+11-4curve.tar.xz
 7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz
diff --git a/SOURCES/NEWS b/SOURCES/NEWS
index 426a78c..a50068e 100644
--- a/SOURCES/NEWS
+++ b/SOURCES/NEWS
@@ -3,6 +3,408 @@ 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 11.0.9 (2020-10-20):
+===========================================
+Live versions of these release notes can be found at:
+  * https://bitly.com/openjdk1109
+  * https://builds.shipilev.net/backports-monitor/release-notes-11.0.9.txt
+
+* Security fixes
+  - JDK-8233624: Enhance JNI linkage
+  - JDK-8236196: Improve string pooling
+  - JDK-8236862, CVE-2020-14779: Enhance support of Proxy class
+  - JDK-8237990, CVE-2020-14781: Enhanced LDAP contexts
+  - JDK-8237995, CVE-2020-14782: Enhance certificate processing
+  - JDK-8240124: Better VM Interning
+  - JDK-8241114, CVE-2020-14792: Better range handling
+  - JDK-8242680, CVE-2020-14796: Improved URI Support
+  - JDK-8242685, CVE-2020-14797: Better Path Validation
+  - JDK-8242695, CVE-2020-14798: Enhanced buffer support
+  - JDK-8243302: Advanced class supports
+  - JDK-8244136, CVE-2020-14803: Improved Buffer supports
+  - JDK-8244479: Further constrain certificates
+  - JDK-8244955: Additional Fix for JDK-8240124
+  - JDK-8245407: Enhance zoning of times
+  - JDK-8245412: Better class definitions
+  - JDK-8245417: Improve certificate chain handling
+  - JDK-8248574: Improve jpeg processing
+  - JDK-8249927: Specify limits of jdk.serialProxyInterfaceLimit
+  - JDK-8253019: Enhanced JPEG decoding
+* Other changes
+  - JDK-6532025: GIF reader throws misleading exception with truncated images
+  - JDK-6949753: [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop
+  - JDK-8022535: [TEST BUG] javax/swing/text/html/parser/Test8017492.java fails
+  - JDK-8062947: Fix exception message to correctly represent LDAP connection failure
+  - JDK-8067354: com/sun/jdi/GetLocalVariables4Test.sh failed
+  - JDK-8134599: TEST_BUG: java/rmi/transport/closeServerSocket/CloseServerSocket.java fails intermittently with Address already in use
+  - JDK-8151678: com/sun/jndi/ldap/LdapTimeoutTest.java failed due to timeout on DeadServerNoTimeoutTest is incorrect
+  - JDK-8160768: Add capability to custom resolve host/domain names within the default JNDI LDAP provider
+  - JDK-8172404: Tools should warn if weak algorithms are used before restricting them
+  - JDK-8193367: Annotated type variable bounds crash javac
+  - JDK-8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset
+  - JDK-8203026: java.rmi.NoSuchObjectException: no such object in table
+  - JDK-8203281: [Windows] JComboBox change in ui when editor.setBorder() is called
+  - JDK-8203382: Rename SystemDictionary::initialize_wk_klass to resolve_wk_klass
+  - JDK-8203393: com/sun/jdi/JdbMethodExitTest.sh and JdbExprTest.sh fail due to timeout
+  - JDK-8203928: [Test] Convert non-JDB scaffolding serviceability shell script tests to java
+  - JDK-8204963: javax.swing.border.TitledBorder has a memory leak
+  - JDK-8204994: SA might fail to attach to process with "Windbg Error: WaitForEvent failed"
+  - JDK-8205534: Remove SymbolTable dependency from serviceability agent
+  - JDK-8206309: Tier1 SA tests fail
+  - JDK-8208281: java/nio/channels/AsynchronousSocketChannel/Basic.java timed out
+  - JDK-8209109: [TEST] rewrite com/sun/jdi shell tests to java version - step1
+  - JDK-8209332: [TEST] test/jdk/com/sun/jdi/CatchPatternTest.sh is incorrect
+  - JDK-8209342: Problemlist SA tests on Solaris due to Error attaching to process: Can't create thread_db agent!
+  - JDK-8209343: Test javax/swing/border/TestTitledBorderLeak.java should be marked as headful
+  - JDK-8209517: com/sun/jdi/BreakpointWithFullGC.java fails with timeout
+  - JDK-8209604: [TEST] rewrite com/sun/jdi shell tests to java version - step2
+  - JDK-8209605: com/sun/jdi/BreakpointWithFullGC.java fails with ZGC
+  - JDK-8209608: Problem list com/sun/jdi/BreakpointWithFullGC.java
+  - JDK-8210131: vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ap10t001/TestDescription.java failed with ObjectFree: GetCurrentThreadCpuTimerInfo returned unexpected error code
+  - JDK-8210243: [TEST] rewrite com/sun/jdi shell tests to java version - step3
+  - JDK-8210527: JShell: NullPointerException in jdk.jshell.Eval.translateExceptionStack
+  - JDK-8210560: [TEST] convert com/sun/jdi redefineClass-related tests
+  - JDK-8210725: com/sun/jdi/RedefineClearBreakpoint.java fails with waitForPrompt timed out after 60 seconds
+  - JDK-8210748: [TESTBUG] lib.jdb.Jdb.waitForPrompt() should clarify which output is the pending reply after a timeout
+  - JDK-8210760: [TEST] rewrite com/sun/jdi shell tests to java version - step4
+  - JDK-8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject
+  - JDK-8211292: [TEST] convert com/sun/jdi/DeferredStepTest.sh test
+  - JDK-8211694: JShell: Redeclared variable should be reset
+  - JDK-8212200: assert when shared java.lang.Object is redefined by JVMTI agent
+  - JDK-8212629: [TEST] wrong breakpoint in test/jdk/com/sun/jdi/DeferredStepTest
+  - JDK-8212665: com/sun/jdi/DeferredStepTest.java: jj1 (line 57) - unexpected. lastLine=52, minLine=52, maxLine=55
+  - JDK-8212807: tools/jar/multiRelease/Basic.java times out
+  - JDK-8213182: Minimal VM build failure after JDK-8212200 (assert when shared java.lang.Object is redefined by JVMTI agent)
+  - JDK-8213214: Set -Djava.io.tmpdir= when running tests
+  - JDK-8213275: ReplaceCriticalClasses.java fails with jdk.internal.vm.PostVMInitHook not found
+  - JDK-8213574: Deadlock in string table expansion when dumping lots of CDS classes
+  - JDK-8213703: LambdaConversionException: Invalid receiver type not a subtype of implementation type interface
+  - JDK-8214074: Ghash optimization using AVX instructions
+  - JDK-8214491: Upgrade to JLine 3.9.0
+  - JDK-8214797: TestJmapCoreMetaspace.java timed out
+  - JDK-8215243: JShell tests failing intermitently with \"Problem cleaning up the following threads:\"
+  - JDK-8215244: jdk/jshell/ToolBasicTest.java testHistoryReference failed
+  - JDK-8215354: x86_32 build failures after JDK-8214074 (Ghash optimization using AVX instructions)
+  - JDK-8215438: jshell tool: Ctrl-D causes EOF
+  - JDK-8216021: RunTest.gmk might set concurrency level to 1 on Windows
+  - JDK-8216974: HttpConnection not returned to the pool after 204 response
+  - JDK-8218948: SimpleDateFormat :: format - Zone Names are not reflected correctly during run time
+  - JDK-8219712: code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs
+  - JDK-8220150: macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs
+  - JDK-8221658: aarch64: add necessary predicate for ubfx patterns
+  - JDK-8221759: Crash when completing \"java.io.File.path\"
+  - JDK-8221918: runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java fails: Shared archive not found
+  - JDK-8222074: Enhance auto vectorization for x86
+  - JDK-8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp
+  - JDK-8222769: [TESTBUG] TestJFRNetworkEvents should not rely on hostname command
+  - JDK-8223688: JShell: crash on the instantiation of raw anonymous class
+  - JDK-8223777: In posix_spawn mode, failing to exec() jspawnhelper does not result in an error
+  - JDK-8223940: Private key not supported by chosen signature algorithm
+  - JDK-8224184: jshell got IOException at exiting with AIX
+  - JDK-8224234: compiler/codegen/TestCharVect2.java fails in test_mulc
+  - JDK-8225037: java.net.JarURLConnection::getJarEntry() throws NullPointerException
+  - JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions
+  - JDK-8226536: Catch OOM from deopt that fails rematerializing objects
+  - JDK-8226575: OperatingSystemMXBean should be made container aware
+  - JDK-8226697: Several tests which need the @key headful keyword are missing it.
+  - JDK-8226809: Circular reference in printed stack trace is not correctly indented & ambiguous
+  - JDK-8227059: sun/security/tools/keytool/DefaultSignatureAlgorithm.java timed out
+  - JDK-8227269: Slow class loading when running with JDWP
+  - JDK-8227595: keytool/fakegen/DefaultSignatureAlgorithm.java fails due to "exitValue = 6"
+  - JDK-8228448: Jconsole can't connect to itself
+  - JDK-8228967: Trust/Key store and SSL context utilities for tests
+  - JDK-8229378: jdwp library loader in linker_md.c quietly truncates on buffer overflow
+  - JDK-8229815: Upgrade Jline to 3.12.1
+  - JDK-8230000: some httpclients testng tests run zero test
+  - JDK-8230002: javax/xml/jaxp/unittest/transform/SecureProcessingTest.java runs zero test
+  - JDK-8230010: Remove jdk8037819/BasicTest1.java
+  - JDK-8230094: CCE in createXMLEventWriter(Result) over an arbitrary XMLStreamWriter
+  - JDK-8230402: Allocation of compile task fails with assert: "Leaking compilation tasks?"
+  - JDK-8230767: FlightRecorderListener returns null recording
+  - JDK-8230870: (zipfs) Add a ZIP FS test that is similar to test/jdk/java/util/zip/EntryCount64k.java
+  - JDK-8231209: [REDO] ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread
+  - JDK-8231586: enlarge encoding space for OopMapValue offsets
+  - JDK-8231953: Wrong assumption in assertion in oop::register_oop
+  - JDK-8231968: getCurrentThreadAllocatedBytes default implementation s/b getThreadAllocatedBytes
+  - JDK-8232083: Minimal VM is broken after JDK-8231586
+  - JDK-8232161: Align some one-way conversion in MS950 charset with Windows
+  - JDK-8232855: jshell missing word in /help help
+  - JDK-8233027: OopMapSet::all_do does oms.next() twice during iteration
+  - JDK-8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR
+  - JDK-8233386: Initialize NULL fields for unused decorations
+  - JDK-8233452: java.math.BigDecimal.sqrt() with RoundingMode.FLOOR results in incorrect result
+  - JDK-8233686: XML transformer uses excessive amount of memory
+  - JDK-8233741: AES Countermode (AES-CTR) optimization using AVX512 + VAES instructions
+  - JDK-8233829: javac cannot find non-ASCII module name under non-UTF8 environment
+  - JDK-8233958: Memory retention due to HttpsURLConnection finalizer that serves no purpose
+  - JDK-8234011: (zipfs) Memory leak in ZipFileSystem.releaseDeflater()
+  - JDK-8234058: runtime/CompressedOops/CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr
+  - JDK-8234149: Several regression tests do not dispose Frame at end
+  - JDK-8234347: "Turkey" meta time zone does not generate composed localized names
+  - JDK-8234385: [TESTBUG] java/awt/EventQueue/6980209/bug6980209.java fails in linux nightly
+  - JDK-8234535: Cross compilation fails due to missing CFLAGS for the BUILD_CC
+  - JDK-8234541: C1 emits an empty message when it inlines successfully
+  - JDK-8234687: change javap reporting on unknown attributes
+  - JDK-8236464: SO_LINGER option is ignored by SSLSocket in JDK 11
+  - JDK-8236548: Localized time zone name inconsistency between English and other locales
+  - JDK-8236617: jtreg test containers/docker/TestMemoryAwareness.java fails after 8226575
+  - JDK-8237182: Update copyright header for shenandoah and epsilon files
+  - JDK-8237888: security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java fails when checking validity interval
+  - JDK-8237977: Further update javax/net/ssl/compatibility/Compatibility.java
+  - JDK-8238270: java.net HTTP/2 client does not decrease stream count when receives 204 response
+  - JDK-8238284: [macos] Zero VM build fails due to an obvious typo
+  - JDK-8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10
+  - JDK-8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10
+  - JDK-8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10
+  - JDK-8238448: RSASSA-PSS signature verification fail when using certain odd key sizes
+  - JDK-8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code
+  - JDK-8239083: C1 assert(known_holder == NULL || (known_holder->is_instance_klass() && (!known_holder->is_interface() || ((ciInstanceKlass*)known_holder)->has_nonstatic_concrete_methods())), "should be non-static concrete method");
+  - JDK-8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD
+  - JDK-8240169: javadoc fails to link to non-modular api docs
+  - JDK-8240295: hs_err elapsed time in seconds is not accurate enough
+  - JDK-8240360: NativeLibraryEvent has wrong library name on Linux
+  - JDK-8240676: Meet not symmetric failure when running lucene on jdk8
+  - JDK-8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support
+  - JDK-8241065: Shenandoah: remove leftover code after JDK-8231086
+  - JDK-8241086: Test runtime/NMT/HugeArenaTracking.java is failing on 32bit Windows
+  - JDK-8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException
+  - JDK-8241138: http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector
+  - JDK-8241319: WB_GetCodeBlob doesn't have ResourceMark
+  - JDK-8241478: vmTestbase/gc/gctests/Steal/steal001/steal001.java fails with OOME
+  - JDK-8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure
+  - JDK-8241750: x86_32 build failure after JDK-8227269
+  - JDK-8242184: CRL generation error with RSASSA-PSS
+  - JDK-8242283: Can't start JVM when java home path includes non-ASCII character
+  - JDK-8242556: Cannot load RSASSA-PSS public key with non-null params from byte array
+  - JDK-8243029: Rewrite javax/net/ssl/compatibility/Compatibility.java with a flexible interop test framework
+  - JDK-8243138: Enhance BaseLdapServer to support starttls extended request
+  - JDK-8243320: Add SSL root certificates to Oracle Root CA program
+  - JDK-8243321: Add Entrust root CA - G4 to Oracle Root CA program
+  - JDK-8243389: enhance os::pd_print_cpu_info on linux
+  - JDK-8243453: java --describe-module failed with non-ASCII module name under non-UTF8 environment
+  - JDK-8243470: [macos] bring back O2 opt level for unsafe.cpp
+  - JDK-8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions
+  - JDK-8243925: Toolkit#getScreenInsets() returns wrong value on HiDPI screens (Windows)
+  - JDK-8244087: 2020-04-24 public suffix list update
+  - JDK-8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26
+  - JDK-8244164: AArch64: jaotc generates incorrect code for compressed OOPs with non-zero heap base
+  - JDK-8244196: adjust output in os_linux
+  - JDK-8244225: stringop-overflow warning on strncpy call from compile_the_world_in
+  - JDK-8244287: JFR: Methods samples have line number 0
+  - JDK-8244703: "platform encoding not initialized" exceptions with debugger, JNI
+  - JDK-8244719: CTW: C2 compilation fails with "assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it"
+  - JDK-8244729: Shenandoah: remove resolve paths from SBSA::generate_shenandoah_lrb
+  - JDK-8244763: Update --release 8 symbol information after JSR 337 MR3
+  - JDK-8244818: Java2D Queue Flusher crash while moving application window to external monitor
+  - JDK-8245151: jarsigner should not raise duplicate warnings on verification
+  - JDK-8245616: Bump update version for OpenJDK: jdk-11.0.9
+  - JDK-8245714: "Bad graph detected in build_loop_late" when loads are pinned on loop limit check uncommon branch
+  - JDK-8245801: StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!"
+  - JDK-8245832: JDK build make-static-libs should build all JDK libraries
+  - JDK-8245880: Shenandoah: check class unloading flag early in concurrent code root scan
+  - JDK-8245981: Upgrade to jQuery 3.5.1
+  - JDK-8246027: Minimal fastdebug build broken after JDK-8245801
+  - JDK-8246094: [macos] Sound Recording and playback is not working
+  - JDK-8246153: TestEliminateArrayCopy fails with -XX:+StressReflectiveCode
+  - JDK-8246193: Possible NPE in ENC-PA-REP search in AS-REQ
+  - JDK-8246196: javax/management/MBeanServer/OldMBeanServerTest fails with AssertionError
+  - JDK-8246203: Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN
+  - JDK-8246330: Add TLS Tests for Legacy ECDSA curves
+  - JDK-8246453: TestClone crashes with "all collected exceptions must come from the same place"
+  - JDK-8247246: Add explicit ResolvedJavaType.link and expose presence of default methods
+  - JDK-8247350: [aarch64] assert(false) failed: wrong size of mach node
+  - JDK-8247502: PhaseStringOpts crashes while optimising effectively dead code
+  - JDK-8247615: Initialize the bytes left for the heap sampler
+  - JDK-8247824: CTW: C2 (Shenandoah) compilation fails with SEGV in SBC2Support::pin_and_expand
+  - JDK-8247874: Replacement in VersionProps.java.template not working when --with-vendor-bug-url contains '&'
+  - JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg
+  - JDK-8248214: Add paddings for TaskQueueSuper to reduce false-sharing cache contention
+  - JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield
+  - JDK-8248348: Regression caused by the update to BCEL 6.0
+  - JDK-8248385: [testbug][11u] Adapt TestInitiExceptions to jtreg 5.1
+  - JDK-8248495: [macos] zerovm is broken due to libffi headers location
+  - JDK-8248851: CMS: Missing memory fences between free chunk check and klass read
+  - JDK-8248987: AOT's Linker.java seems to eagerly fail-fast on Windows
+  - JDK-8249159: Downport test rework for SSLSocketTemplate from 8224650
+  - JDK-8249215: JFrame::setVisible crashed with -Dfile.encoding=UTF-8 on Japanese Windows.
+  - JDK-8249251: [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel
+  - JDK-8249255: Build fails if source code in cygwin home dir
+  - JDK-8249277: TestVerifyIterativeGVN.java is failing with timeout in OpenJDK 11
+  - JDK-8249278: Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList
+  - JDK-8249560: Shenandoah: Fix racy GC request handling
+  - JDK-8249801: Shenandoah: Clear soft-refs on requested GC cycle
+  - JDK-8249953: Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases
+  - JDK-8250582: Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets
+  - JDK-8250609: C2 crash in IfNode::fold_compares
+  - JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics
+  - JDK-8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java
+  - JDK-8250787: Provider.put no longer registering aliases in FIPS env
+  - JDK-8250826: jhsdb does not work with coredump which comes from Substrate VM
+  - JDK-8250827: Shenandoah: needs to reset/finish StringTable's dead count before/after parallel walk
+  - JDK-8250844: Make sure {type,obj}ArrayOopDesc accessors check the bounds
+  - JDK-8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher
+  - JDK-8251354: Shenandoah: Fix jdk/jfr/tool/TestPrintJSON.java test failure
+  - JDK-8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U
+  - JDK-8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java
+  - JDK-8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase
+  - JDK-8252120: compiler/oracle/TestCompileCommand.java misspells "occured"
+  - JDK-8252157: JDK-8231209 11u backport breaks jmm binary compatibility
+  - JDK-8252258: [11u] JDK-8242154 changes the default vendor
+  - JDK-8252804: [test] Fix 'ReleaseDeflater.java' test after downport of 8234011
+  - JDK-8253134: JMM_VERSION should remain at 0x20020000 (JDK 10) in JDK 11
+  - JDK-8253283: [11u] Test build/translations/VerifyTranslations.java failing after JDK-8252258
+  - JDK-8253813: Backout JDK-8244287 from 11u: it causes several crashes
+
+Notes on individual issues:
+===========================
+
+core-libs/java.nio.charsets:
+
+JDK-8240196: Modified the MS950 charset Encoder's Conversion Table
+==================================================================
+In this release, some of the one-way byte-to-char mappings have been
+aligned with the preferred mappings provided by the Unicode Consortium
+(https://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit950.txt).
+
+core-libs/java.util:i18n:
+
+JDK-8238914: Localized Time Zone Name Inconsistency Between English and Other Locales
+=====================================================================================
+English time zone names provided by the CLDR locale provider are now
+correctly synthesized following the CLDR spec, rather than substituted
+from the COMPAT provider. For example, SHORT style names are no longer
+synthesized abbreviations of LONG style names, but instead produce GMT
+offset formats.
+
+core-svc/java.lang.management:
+
+JDK-8236876: OperatingSystemMXBean Methods Inside a Container Return Container Specific Data
+============================================================================================
+When executing in a container, or other virtualized operating
+environment, the following `OperatingSystemMXBean` methods in this
+release return container specific information, if
+available. Otherwise, they return host specific data:
+
+* getFreePhysicalMemorySize()
+* getTotalPhysicalMemorySize()
+* getFreeSwapSpaceSize()
+* getTotalSwapSpaceSize()
+* getSystemCpuLoad()
+
+security-libs/java.security:
+
+JDK-8250756: Added Entrust Root Certification Authority - G4 certificate
+========================================================================
+The Entrust root certificate has been added to the cacerts truststore:
+
+Alias Name: entrustrootcag4
+Distinguished Name: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust,  Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US
+
+JDK-8250860: Added 3 SSL Corporation Root CA Certificates
+=========================================================
+The following root certificates have been added to the cacerts truststore for the SSL Corporation:
+
+Alias Name: sslrootrsaca
+Distinguished Name: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US
+
+Alias Name: sslrootevrsaca
+Distinguished Name: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US
+
+Alias Name: sslrooteccca
+Distinguished Name: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US
+
+JDK-8236730: Weak Named Curves in TLS, CertPath, and Signed JAR Disabled by Default
+===================================================================================
+Weak named curves are disabled by default by adding them to the
+following `disabledAlgorithms` security properties:
+
+* jdk.tls.disabledAlgorithms
+* jdk.certpath.disabledAlgorithms
+* jdk.jar.disabledAlgorithms
+
+Red Hat has always disabled many of the curves provided by upstream,
+so the only addition in this release is:
+
+* secp256k1
+
+The curves that remain enabled are:
+
+* secp256r1
+* secp384r1
+* secp521r1
+* X25519
+* X448
+
+When large numbers of weak named curves need to be disabled, adding
+individual named curves to each `disabledAlgorithms` property would be
+overwhelming. To relieve this, a new security property,
+`jdk.disabled.namedCurves`, is implemented that can list the named
+curves common to all of the `disabledAlgorithms` properties. To use
+the new property in the `disabledAlgorithms` properties, precede the
+full property name with the keyword `include`.  Users can still add
+individual named curves to `disabledAlgorithms` properties separate
+from this new property.  No other properties can be included in the
+`disabledAlgorithms` properties.
+
+To restore the named curves, remove the `include
+jdk.disabled.namedCurves` either from specific or from all
+`disabledAlgorithms` security properties. To restore one or more
+curves, remove the specific named curve(s) from the
+`jdk.disabled.namedCurves` property.
+
+JDK-8244286: Tools Warn If Weak Algorithms Are Used Before Restricting Them
+===========================================================================
+The `keytool` and `jarsigner` tools have been updated to warn users
+about weak cryptographic algorithms being used before they are
+disabled. In this release, the tools issue warnings for the SHA-1 hash
+algorithm and 1024-bit RSA/DSA keys.
+
+security-libs/javax.net.ssl:
+
+JDK-8242147: New System Properties to Configure the TLS Signature Schemes
+=========================================================================
+Two new system properties have been added to customize the TLS
+signature schemes in JDK. `jdk.tls.client.SignatureSchemes` has been
+added for the TLS client side, and `jdk.tls.server.SignatureSchemes`
+has been added for the server side.
+
+Each system property contains a comma-separated list of supported
+signature scheme names specifying the signature schemes that could be
+used for the TLS connections.
+
+The names are described in the "Signature Schemes" section of the
+*Java Security Standard Algorithm Names Specification*.
+
+security-libs/javax.security:
+
+JDK-8242059: Support for canonicalize in krb5.conf
+==================================================
+
+The 'canonicalize' flag in the [krb5.conf file][0] is now supported by
+the JDK Kerberos implementation. When set to *true*, RFC 6806 [1] name
+canonicalization is requested by clients in TGT requests to KDC
+services (AS protocol). Otherwise, and by default, it is not
+requested.
+
+The new default behavior is different from previous releases where
+name canonicalization was always requested by clients in TGT requests
+to KDC services (provided that support for RFC 6806[1] was not
+explicitly disabled with the *sun.security.krb5.disableReferrals*
+system or security properties).
+
+[0]: https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html
+[1]: https://tools.ietf.org/html/rfc6806
+
+JDK-8254177: US/Pacific-New Zone name removed as part of tzdata2020b
+====================================================================
+Following JDK's update to tzdata2020b, the long-obsolete files
+pacificnew and systemv have been removed. As a result, the
+"US/Pacific-New" zone name declared in the pacificnew data file is no
+longer available for use.
+
+Information regarding the update can be viewed at
+https://mm.icann.org/pipermail/tz-announce/2020-October/000059.html
+
 New in release OpenJDK 11.0.8 (2020-07-14):
 ===========================================
 Live versions of these release notes can be found at:
diff --git a/SOURCES/jdk8236512-pkcs11_incorrrect_session_closure.patch b/SOURCES/jdk8236512-pkcs11_incorrrect_session_closure.patch
new file mode 100644
index 0000000..bba7287
--- /dev/null
+++ b/SOURCES/jdk8236512-pkcs11_incorrrect_session_closure.patch
@@ -0,0 +1,480 @@
+# HG changeset patch
+# User valeriep
+# Date 1581468987 0
+#      Wed Feb 12 00:56:27 2020 +0000
+# Node ID e47d22d82b0464720ccb7641e290080972b6ce88
+# Parent  5c41dc4c48f85e5a1e1ce6e3836b54674f273367
+8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
+Summary: Removed killSession() calls in certain impl classes when cancelling operations
+Reviewed-by: xuelei
+
+diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
+--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
++++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
+@@ -1,4 +1,5 @@
+-/* Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
++/*
++ * Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -334,25 +335,25 @@
+     }
+ 
+     private void cancelOperation() {
++        // cancel operation by finishing it; avoid killSession as some
++        // hardware vendors may require re-login
++        int bufLen = doFinalLength(0);
++        byte[] buffer = new byte[bufLen];
++        byte[] in = dataBuffer.toByteArray();
++        int inLen = in.length;
+         try {
+-            if (session.hasObjects() == false) {
+-                session = token.killSession(session);
+-                return;
++            if (encrypt) {
++                token.p11.C_Encrypt(session.id(), 0, in, 0, inLen,
++                        0, buffer, 0, bufLen);
+             } else {
+-                // cancel operation by finishing it
+-                int bufLen = doFinalLength(0);
+-                byte[] buffer = new byte[bufLen];
+-
+-                if (encrypt) {
+-                    token.p11.C_Encrypt(session.id(), 0, buffer, 0, bufLen,
+-                            0, buffer, 0, bufLen);
+-                } else {
+-                    token.p11.C_Decrypt(session.id(), 0, buffer, 0, bufLen,
+-                            0, buffer, 0, bufLen);
+-                }
++                token.p11.C_Decrypt(session.id(), 0, in, 0, inLen,
++                        0, buffer, 0, bufLen);
+             }
+         } catch (PKCS11Exception e) {
+-            throw new ProviderException("Cancel failed", e);
++            if (encrypt) {
++                throw new ProviderException("Cancel failed", e);
++            }
++            // ignore failure for decryption
+         }
+     }
+ 
+@@ -434,18 +435,21 @@
+         if (!initialized) {
+             return;
+         }
++        initialized = false;
++
+         try {
+             if (session == null) {
+                 return;
+             }
++
+             if (doCancel && token.explicitCancel) {
+                 cancelOperation();
+             }
+         } finally {
+             p11Key.releaseKeyID();
+             session = token.releaseSession(session);
++            dataBuffer.reset();
+         }
+-        initialized = false;
+     }
+ 
+     // see JCE spec
+diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
+--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
++++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -409,10 +409,12 @@
+             return;
+         }
+         initialized = false;
++
+         try {
+             if (session == null) {
+                 return;
+             }
++
+             if (doCancel && token.explicitCancel) {
+                 cancelOperation();
+             }
+@@ -426,22 +428,21 @@
+ 
+     private void cancelOperation() {
+         token.ensureValid();
+-        if (session.hasObjects() == false) {
+-            session = token.killSession(session);
+-            return;
+-        } else {
+-            try {
+-                // cancel operation by finishing it
+-                int bufLen = doFinalLength(0);
+-                byte[] buffer = new byte[bufLen];
+-                if (encrypt) {
+-                    token.p11.C_EncryptFinal(session.id(), 0, buffer, 0, bufLen);
+-                } else {
+-                    token.p11.C_DecryptFinal(session.id(), 0, buffer, 0, bufLen);
+-                }
+-            } catch (PKCS11Exception e) {
++        // cancel operation by finishing it; avoid killSession as some
++        // hardware vendors may require re-login
++        try {
++            int bufLen = doFinalLength(0);
++            byte[] buffer = new byte[bufLen];
++            if (encrypt) {
++                token.p11.C_EncryptFinal(session.id(), 0, buffer, 0, bufLen);
++            } else {
++                token.p11.C_DecryptFinal(session.id(), 0, buffer, 0, bufLen);
++            }
++        } catch (PKCS11Exception e) {
++            if (encrypt) {
+                 throw new ProviderException("Cancel failed", e);
+             }
++            // ignore failure for decryption
+         }
+     }
+ 
+diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java
+--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java
++++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -124,10 +124,12 @@
+             return;
+         }
+         initialized = false;
++
+         try {
+             if (session == null) {
+                 return;
+             }
++
+             if (doCancel && token.explicitCancel) {
+                 cancelOperation();
+             }
+@@ -139,15 +141,12 @@
+ 
+     private void cancelOperation() {
+         token.ensureValid();
+-        if (session.hasObjects() == false) {
+-            session = token.killSession(session);
+-            return;
+-        } else {
+-            try {
+-                token.p11.C_SignFinal(session.id(), 0);
+-            } catch (PKCS11Exception e) {
+-                throw new ProviderException("Cancel failed", e);
+-            }
++        // cancel operation by finishing it; avoid killSession as some
++        // hardware vendors may require re-login
++        try {
++            token.p11.C_SignFinal(session.id(), 0);
++        } catch (PKCS11Exception e) {
++            throw new ProviderException("Cancel failed", e);
+         }
+     }
+ 
+@@ -209,7 +208,6 @@
+             ensureInitialized();
+             return token.p11.C_SignFinal(session.id(), 0);
+         } catch (PKCS11Exception e) {
+-            reset(true);
+             throw new ProviderException("doFinal() failed", e);
+         } finally {
+             reset(false);
+diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java
+--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java
++++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -223,10 +223,12 @@
+             return;
+         }
+         initialized = false;
++
+         try {
+             if (session == null) {
+                 return;
+             }
++
+             if (doCancel && token.explicitCancel) {
+                 cancelOperation();
+             }
+@@ -242,14 +244,10 @@
+         token.ensureValid();
+         if (DEBUG) System.out.print("Cancelling operation");
+ 
+-        if (session.hasObjects() == false) {
+-            if (DEBUG) System.out.println(" by killing session");
+-            session = token.killSession(session);
+-            return;
+-        }
+-        // "cancel" operation by finishing it
+-        if (mode == M_SIGN) {
+-            try {
++        // cancel operation by finishing it; avoid killSession as some
++        // hardware vendors may require re-login
++        try {
++            if (mode == M_SIGN) {
+                 if (type == T_UPDATE) {
+                     if (DEBUG) System.out.println(" by C_SignFinal");
+                     token.p11.C_SignFinal(session.id(), 0);
+@@ -259,11 +257,7 @@
+                     if (DEBUG) System.out.println(" by C_Sign");
+                     token.p11.C_Sign(session.id(), digest);
+                 }
+-            } catch (PKCS11Exception e) {
+-                throw new ProviderException("cancel failed", e);
+-            }
+-        } else { // M_VERIFY
+-            try {
++            } else { // M_VERIFY
+                 byte[] signature =
+                     new byte[(p11Key.length() + 7) >> 3];
+                 if (type == T_UPDATE) {
+@@ -275,10 +269,12 @@
+                     if (DEBUG) System.out.println(" by C_Verify");
+                     token.p11.C_Verify(session.id(), digest, signature);
+                 }
+-            } catch (PKCS11Exception e) {
+-                // will fail since the signature is incorrect
+-                // XXX check error code
+             }
++        } catch (PKCS11Exception e) {
++            if (mode == M_SIGN) {
++                throw new ProviderException("cancel failed", e);
++            }
++            // ignore failure for verification
+         }
+     }
+ 
+diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java
+--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java
++++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -247,10 +247,12 @@
+             return;
+         }
+         initialized = false;
++
+         try {
+             if (session == null) {
+                 return;
+             }
++
+             if (doCancel && token.explicitCancel) {
+                 cancelOperation();
+             }
+@@ -264,36 +266,33 @@
+     // state variables such as "initialized"
+     private void cancelOperation() {
+         token.ensureValid();
+-        if (session.hasObjects() == false) {
+-            session = token.killSession(session);
+-            return;
+-        } else {
+-            try {
+-                PKCS11 p11 = token.p11;
+-                int inLen = maxInputSize;
+-                int outLen = buffer.length;
+-                long sessId = session.id();
+-                switch (mode) {
+-                case MODE_ENCRYPT:
+-                    p11.C_Encrypt(sessId, 0, buffer, 0, inLen, 0, buffer, 0, outLen);
+-                    break;
+-                case MODE_DECRYPT:
+-                    p11.C_Decrypt(sessId, 0, buffer, 0, inLen, 0, buffer, 0, outLen);
+-                    break;
+-                case MODE_SIGN:
+-                    byte[] tmpBuffer = new byte[maxInputSize];
+-                    p11.C_Sign(sessId, tmpBuffer);
+-                    break;
+-                case MODE_VERIFY:
+-                    p11.C_VerifyRecover(sessId, buffer, 0, inLen, buffer,
+-                            0, outLen);
+-                    break;
+-                default:
+-                    throw new ProviderException("internal error");
+-                }
+-            } catch (PKCS11Exception e) {
+-                // XXX ensure this always works, ignore error
++        // cancel operation by finishing it; avoid killSession as some
++        // hardware vendors may require re-login
++        try {
++            PKCS11 p11 = token.p11;
++            int inLen = maxInputSize;
++            int outLen = buffer.length;
++            long sessId = session.id();
++            switch (mode) {
++            case MODE_ENCRYPT:
++                p11.C_Encrypt(sessId, 0, buffer, 0, inLen, 0, buffer, 0, outLen);
++                break;
++            case MODE_DECRYPT:
++                p11.C_Decrypt(sessId, 0, buffer, 0, inLen, 0, buffer, 0, outLen);
++                break;
++            case MODE_SIGN:
++                byte[] tmpBuffer = new byte[maxInputSize];
++                p11.C_Sign(sessId, tmpBuffer);
++                break;
++            case MODE_VERIFY:
++                p11.C_VerifyRecover(sessId, buffer, 0, inLen, buffer,
++                        0, outLen);
++                break;
++            default:
++                throw new ProviderException("internal error");
+             }
++        } catch (PKCS11Exception e) {
++            // XXX ensure this always works, ignore error
+         }
+     }
+ 
+@@ -362,6 +361,7 @@
+     private int implDoFinal(byte[] out, int outOfs, int outLen)
+             throws BadPaddingException, IllegalBlockSizeException {
+         if (bufOfs > maxInputSize) {
++            reset(true);
+             throw new IllegalBlockSizeException("Data must not be longer "
+                 + "than " + maxInputSize + " bytes");
+         }
+diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java
+--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java
++++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -270,10 +270,12 @@
+             return;
+         }
+         initialized = false;
++
+         try {
+             if (session == null) {
+                 return;
+             }
++
+             if (doCancel && token.explicitCancel) {
+                 cancelOperation();
+             }
+@@ -284,59 +286,51 @@
+     }
+ 
+     private void cancelOperation() {
+-
+         token.ensureValid();
+-        if (session.hasObjects() == false) {
+-            session = token.killSession(session);
+-            return;
+-        } else {
+-            // "cancel" operation by finishing it
+-            // XXX make sure all this always works correctly
++        // cancel operation by finishing it; avoid killSession as some
++        // hardware vendors may require re-login
++        try {
+             if (mode == M_SIGN) {
+-                try {
+-                    if (type == T_UPDATE) {
+-                        token.p11.C_SignFinal(session.id(), 0);
+-                    } else {
+-                        byte[] digest;
+-                        if (type == T_DIGEST) {
+-                            digest = md.digest();
+-                        } else { // T_RAW
+-                            digest = buffer;
+-                        }
+-                        token.p11.C_Sign(session.id(), digest);
++                if (type == T_UPDATE) {
++                    token.p11.C_SignFinal(session.id(), 0);
++                } else {
++                    byte[] digest;
++                    if (type == T_DIGEST) {
++                        digest = md.digest();
++                    } else { // T_RAW
++                        digest = buffer;
+                     }
+-                } catch (PKCS11Exception e) {
+-                    throw new ProviderException("cancel failed", e);
++                    token.p11.C_Sign(session.id(), digest);
+                 }
+             } else { // M_VERIFY
+                 byte[] signature;
+-                try {
+-                    if (keyAlgorithm.equals("DSA")) {
+-                        signature = new byte[40];
+-                    } else {
+-                        signature = new byte[(p11Key.length() + 7) >> 3];
++                if (keyAlgorithm.equals("DSA")) {
++                    signature = new byte[40];
++                } else {
++                    signature = new byte[(p11Key.length() + 7) >> 3];
++                }
++                if (type == T_UPDATE) {
++                    token.p11.C_VerifyFinal(session.id(), signature);
++                } else {
++                    byte[] digest;
++                    if (type == T_DIGEST) {
++                        digest = md.digest();
++                    } else { // T_RAW
++                        digest = buffer;
+                     }
+-                    if (type == T_UPDATE) {
+-                        token.p11.C_VerifyFinal(session.id(), signature);
+-                    } else {
+-                        byte[] digest;
+-                        if (type == T_DIGEST) {
+-                            digest = md.digest();
+-                        } else { // T_RAW
+-                            digest = buffer;
+-                        }
+-                        token.p11.C_Verify(session.id(), digest, signature);
+-                    }
+-                } catch (PKCS11Exception e) {
+-                    long errorCode = e.getErrorCode();
+-                    if ((errorCode == CKR_SIGNATURE_INVALID) ||
+-                        (errorCode == CKR_SIGNATURE_LEN_RANGE)) {
+-                        // expected since signature is incorrect
+-                        return;
+-                    }
+-                    throw new ProviderException("cancel failed", e);
++                    token.p11.C_Verify(session.id(), digest, signature);
+                 }
+             }
++        } catch (PKCS11Exception e) {
++            if (mode == M_VERIFY) {
++                long errorCode = e.getErrorCode();
++                if ((errorCode == CKR_SIGNATURE_INVALID) ||
++                     (errorCode == CKR_SIGNATURE_LEN_RANGE)) {
++                     // expected since signature is incorrect
++                     return;
++                }
++            }
++            throw new ProviderException("cancel failed", e);
+         }
+     }
+ 
diff --git a/SOURCES/jdk8251117-rh1860990-pkcs11_key_length.patch b/SOURCES/jdk8251117-rh1860990-pkcs11_key_length.patch
deleted file mode 100644
index 727ba2d..0000000
--- a/SOURCES/jdk8251117-rh1860990-pkcs11_key_length.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-# HG changeset patch
-# User mbalao
-# Date 1596572361 10800
-#      Tue Aug 04 17:19:21 2020 -0300
-# Node ID d8a0513b92ee262d4e64c1e13d43e1b3f3e5c5d5
-# Parent  a259b5b1bc7cc4dd0d8fa19e8bdbf96a4e76224f
-8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher
-Reviewed-by: valeriep
-Contributed-by: zzambers@redhat.com
-
-diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
-+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
-@@ -279,7 +279,9 @@
-         SecureRandom sr)
-         throws InvalidKeyException, InvalidAlgorithmParameterException {
-         reset(true);
--        if (fixedKeySize != -1 && key.getEncoded().length != fixedKeySize) {
-+        if (fixedKeySize != -1 &&
-+                ((key instanceof P11Key) ? ((P11Key) key).length() >> 3 :
-+                            key.getEncoded().length) != fixedKeySize) {
-             throw new InvalidKeyException("Key size is invalid");
-         }
-         P11Key newKey = P11SecretKeyFactory.convertKey(token, key, ALGO);
-diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
-+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
-@@ -345,7 +345,9 @@
-             SecureRandom random)
-             throws InvalidKeyException, InvalidAlgorithmParameterException {
-         reset(true);
--        if (fixedKeySize != -1 && key.getEncoded().length != fixedKeySize) {
-+        if (fixedKeySize != -1 &&
-+                ((key instanceof P11Key) ? ((P11Key) key).length() >> 3 :
-+                            key.getEncoded().length) != fixedKeySize) {
-             throw new InvalidKeyException("Key size is invalid");
-         }
-         switch (opmode) {
diff --git a/SOURCES/jdk8252258-rh1868406-fix_bad_vendor.patch b/SOURCES/jdk8252258-rh1868406-fix_bad_vendor.patch
deleted file mode 100644
index c5a6191..0000000
--- a/SOURCES/jdk8252258-rh1868406-fix_bad_vendor.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/make/autoconf/version-numbers b/make/autoconf/version-numbers
---- a/make/autoconf/version-numbers
-+++ b/make/autoconf/version-numbers
-@@ -43,7 +43,7 @@
- PRODUCT_NAME=OpenJDK
- PRODUCT_SUFFIX="Runtime Environment"
- JDK_RC_PLATFORM_NAME=Platform
--COMPANY_NAME=N/A
-+COMPANY_NAME="Oracle Corporation"
- HOTSPOT_VM_DISTRO="OpenJDK"
- VENDOR_URL=https://openjdk.java.net/
- VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
diff --git a/SOURCES/jdk8254177-tzdata2020b.patch b/SOURCES/jdk8254177-tzdata2020b.patch
new file mode 100644
index 0000000..a9f3282
--- /dev/null
+++ b/SOURCES/jdk8254177-tzdata2020b.patch
@@ -0,0 +1,2041 @@
+# 8254177: (tz) Upgrade time-zone data to tzdata2020b
+
+diff --git a/make/data/tzdata/VERSION b/make/data/tzdata/VERSION
+--- a/make/data/tzdata/VERSION
++++ b/make/data/tzdata/VERSION
+@@ -21,4 +21,4 @@
+ # or visit www.oracle.com if you need additional information or have any
+ # questions.
+ #
+-tzdata2020a
++tzdata2020b
+diff --git a/make/data/tzdata/africa b/make/data/tzdata/africa
+--- a/make/data/tzdata/africa
++++ b/make/data/tzdata/africa
+@@ -87,7 +87,7 @@
+ # Corrections are welcome.
+ 
+ # Algeria
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Algeria	1916	only	-	Jun	14	23:00s	1:00	S
+ Rule	Algeria	1916	1919	-	Oct	Sun>=1	23:00s	0	-
+ Rule	Algeria	1917	only	-	Mar	24	23:00s	1:00	S
+@@ -110,10 +110,9 @@
+ Rule	Algeria	1978	only	-	Sep	22	 3:00	0	-
+ Rule	Algeria	1980	only	-	Apr	25	 0:00	1:00	S
+ Rule	Algeria	1980	only	-	Oct	31	 2:00	0	-
+-# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
+-# more precise 0:09:21.
++# See Europe/Paris for PMT-related transitions.
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+-Zone	Africa/Algiers	0:12:12 -	LMT	1891 Mar 15  0:01
++Zone	Africa/Algiers	0:12:12 -	LMT	1891 Mar 16
+ 			0:09:21	-	PMT	1911 Mar 11 # Paris Mean Time
+ 			0:00	Algeria	WE%sT	1940 Feb 25  2:00
+ 			1:00	Algeria	CE%sT	1946 Oct  7
+@@ -199,7 +198,7 @@
+ # Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this
+ # did not apply to Cairo, Alexandria, or Port Said.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Egypt	1940	only	-	Jul	15	0:00	1:00	S
+ Rule	Egypt	1940	only	-	Oct	 1	0:00	0	-
+ Rule	Egypt	1941	only	-	Apr	15	0:00	1:00	S
+@@ -434,7 +433,7 @@
+ # now Ghana observed different DST regimes in different years.  For
+ # lack of better info, use Shanks except treat the minus sign as a
+ # typo, and assume DST started in 1920 not 1936.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Ghana	1920	1942	-	Sep	 1	0:00	0:20	-
+ Rule	Ghana	1920	1942	-	Dec	31	0:00	0	-
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -524,7 +523,7 @@
+ # From Paul Eggert (2013-10-25):
+ # For now, assume they're reverting to the pre-2012 rules of permanent UT +02.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Libya	1951	only	-	Oct	14	2:00	1:00	S
+ Rule	Libya	1952	only	-	Jan	 1	0:00	0	-
+ Rule	Libya	1953	only	-	Oct	 9	2:00	1:00	S
+@@ -647,7 +646,7 @@
+ # "The trial ended on March 29, 2009, when the clocks moved back by one hour
+ # at 2am (or 02:00) local time..."
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule Mauritius	1982	only	-	Oct	10	0:00	1:00	-
+ Rule Mauritius	1983	only	-	Mar	21	0:00	0	-
+ Rule Mauritius	2008	only	-	Oct	lastSun	2:00	1:00	-
+@@ -898,17 +897,30 @@
+ # https://maroc-diplomatique.net/maroc-le-retour-a-lheure-gmt-est-prevu-dimanche-prochain/
+ # http://aujourdhui.ma/actualite/gmt1-retour-a-lheure-normale-dimanche-prochain-1
+ #
+-# From Paul Eggert (2020-04-14):
++# From Milamber (2020-05-31)
++# In Morocco (where I live), the end of Ramadan (Arabic month) is followed by
++# the Eid al-Fitr, and concretely it's 1 or 2 day offs for the people (with
++# traditional visiting of family, big lunches/dinners, etc.).  So for this
++# year the astronomical calculations don't include the following 2 days off in
++# the calc.  These 2 days fall in a Sunday/Monday, so it's not acceptable by
++# people to have a time shift during these 2 days off.  Perhaps you can modify
++# the (predicted) rules for next years: if the end of Ramadan is a (probable)
++# Friday or Saturday (and so the 2 days off are on a weekend), the next time
++# shift will be the next weekend.
++#
++# From Paul Eggert (2020-05-31):
+ # For now, guess that in the future Morocco will fall back at 03:00
+ # the last Sunday before Ramadan, and spring forward at 02:00 the
+-# first Sunday after the day after Ramadan.  To implement this,
+-# transition dates for 2021 through 2087 were determined by running
+-# the following program under GNU Emacs 26.3.
+-# (let ((islamic-year 1442))
++# first Sunday after two days after Ramadan.  To implement this,
++# transition dates and times for 2019 through 2087 were determined by
++# running the following program under GNU Emacs 26.3.  (This algorithm
++# also produces the correct transition dates for 2016 through 2018,
++# though the times differ due to Morocco's time zone change in 2018.)
++# (let ((islamic-year 1440))
+ #   (require 'cal-islam)
+ #   (while (< islamic-year 1511)
+ #     (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
+-#           (b (1+ (calendar-islamic-to-absolute (list 10 1 islamic-year))))
++#           (b (+ 2 (calendar-islamic-to-absolute (list 10 1 islamic-year))))
+ #           (sunday 0))
+ #       (while (/= sunday (mod (setq a (1- a)) 7)))
+ #       (while (/= sunday (mod b 7))
+@@ -923,7 +935,7 @@
+ #         (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
+ #     (setq islamic-year (+ 1 islamic-year))))
+ 
+-# RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	-
+ Rule	Morocco	1939	only	-	Nov	19	 0:00	0	-
+ Rule	Morocco	1940	only	-	Feb	25	 0:00	1:00	-
+@@ -974,7 +986,7 @@
+ Rule	Morocco	2022	only	-	Mar	27	 3:00	-1:00	-
+ Rule	Morocco	2022	only	-	May	 8	 2:00	0	-
+ Rule	Morocco	2023	only	-	Mar	19	 3:00	-1:00	-
+-Rule	Morocco	2023	only	-	Apr	23	 2:00	0	-
++Rule	Morocco	2023	only	-	Apr	30	 2:00	0	-
+ Rule	Morocco	2024	only	-	Mar	10	 3:00	-1:00	-
+ Rule	Morocco	2024	only	-	Apr	14	 2:00	0	-
+ Rule	Morocco	2025	only	-	Feb	23	 3:00	-1:00	-
+@@ -990,7 +1002,7 @@
+ Rule	Morocco	2029	only	-	Dec	30	 3:00	-1:00	-
+ Rule	Morocco	2030	only	-	Feb	10	 2:00	0	-
+ Rule	Morocco	2030	only	-	Dec	22	 3:00	-1:00	-
+-Rule	Morocco	2031	only	-	Jan	26	 2:00	0	-
++Rule	Morocco	2031	only	-	Feb	 2	 2:00	0	-
+ Rule	Morocco	2031	only	-	Dec	14	 3:00	-1:00	-
+ Rule	Morocco	2032	only	-	Jan	18	 2:00	0	-
+ Rule	Morocco	2032	only	-	Nov	28	 3:00	-1:00	-
+@@ -1006,7 +1018,7 @@
+ Rule	Morocco	2037	only	-	Oct	 4	 3:00	-1:00	-
+ Rule	Morocco	2037	only	-	Nov	15	 2:00	0	-
+ Rule	Morocco	2038	only	-	Sep	26	 3:00	-1:00	-
+-Rule	Morocco	2038	only	-	Oct	31	 2:00	0	-
++Rule	Morocco	2038	only	-	Nov	 7	 2:00	0	-
+ Rule	Morocco	2039	only	-	Sep	18	 3:00	-1:00	-
+ Rule	Morocco	2039	only	-	Oct	23	 2:00	0	-
+ Rule	Morocco	2040	only	-	Sep	 2	 3:00	-1:00	-
+@@ -1022,7 +1034,7 @@
+ Rule	Morocco	2045	only	-	Jul	 9	 3:00	-1:00	-
+ Rule	Morocco	2045	only	-	Aug	20	 2:00	0	-
+ Rule	Morocco	2046	only	-	Jul	 1	 3:00	-1:00	-
+-Rule	Morocco	2046	only	-	Aug	 5	 2:00	0	-
++Rule	Morocco	2046	only	-	Aug	12	 2:00	0	-
+ Rule	Morocco	2047	only	-	Jun	23	 3:00	-1:00	-
+ Rule	Morocco	2047	only	-	Jul	28	 2:00	0	-
+ Rule	Morocco	2048	only	-	Jun	 7	 3:00	-1:00	-
+@@ -1038,7 +1050,7 @@
+ Rule	Morocco	2053	only	-	Apr	13	 3:00	-1:00	-
+ Rule	Morocco	2053	only	-	May	25	 2:00	0	-
+ Rule	Morocco	2054	only	-	Apr	 5	 3:00	-1:00	-
+-Rule	Morocco	2054	only	-	May	10	 2:00	0	-
++Rule	Morocco	2054	only	-	May	17	 2:00	0	-
+ Rule	Morocco	2055	only	-	Mar	28	 3:00	-1:00	-
+ Rule	Morocco	2055	only	-	May	 2	 2:00	0	-
+ Rule	Morocco	2056	only	-	Mar	12	 3:00	-1:00	-
+@@ -1054,7 +1066,7 @@
+ Rule	Morocco	2061	only	-	Jan	16	 3:00	-1:00	-
+ Rule	Morocco	2061	only	-	Feb	27	 2:00	0	-
+ Rule	Morocco	2062	only	-	Jan	 8	 3:00	-1:00	-
+-Rule	Morocco	2062	only	-	Feb	12	 2:00	0	-
++Rule	Morocco	2062	only	-	Feb	19	 2:00	0	-
+ Rule	Morocco	2062	only	-	Dec	31	 3:00	-1:00	-
+ Rule	Morocco	2063	only	-	Feb	 4	 2:00	0	-
+ Rule	Morocco	2063	only	-	Dec	16	 3:00	-1:00	-
+@@ -1070,7 +1082,7 @@
+ Rule	Morocco	2068	only	-	Oct	21	 3:00	-1:00	-
+ Rule	Morocco	2068	only	-	Dec	 2	 2:00	0	-
+ Rule	Morocco	2069	only	-	Oct	13	 3:00	-1:00	-
+-Rule	Morocco	2069	only	-	Nov	17	 2:00	0	-
++Rule	Morocco	2069	only	-	Nov	24	 2:00	0	-
+ Rule	Morocco	2070	only	-	Oct	 5	 3:00	-1:00	-
+ Rule	Morocco	2070	only	-	Nov	 9	 2:00	0	-
+ Rule	Morocco	2071	only	-	Sep	20	 3:00	-1:00	-
+@@ -1086,7 +1098,7 @@
+ Rule	Morocco	2076	only	-	Jul	26	 3:00	-1:00	-
+ Rule	Morocco	2076	only	-	Sep	 6	 2:00	0	-
+ Rule	Morocco	2077	only	-	Jul	18	 3:00	-1:00	-
+-Rule	Morocco	2077	only	-	Aug	22	 2:00	0	-
++Rule	Morocco	2077	only	-	Aug	29	 2:00	0	-
+ Rule	Morocco	2078	only	-	Jul	10	 3:00	-1:00	-
+ Rule	Morocco	2078	only	-	Aug	14	 2:00	0	-
+ Rule	Morocco	2079	only	-	Jun	25	 3:00	-1:00	-
+@@ -1096,13 +1108,13 @@
+ Rule	Morocco	2081	only	-	Jun	 1	 3:00	-1:00	-
+ Rule	Morocco	2081	only	-	Jul	13	 2:00	0	-
+ Rule	Morocco	2082	only	-	May	24	 3:00	-1:00	-
+-Rule	Morocco	2082	only	-	Jun	28	 2:00	0	-
++Rule	Morocco	2082	only	-	Jul	 5	 2:00	0	-
+ Rule	Morocco	2083	only	-	May	16	 3:00	-1:00	-
+ Rule	Morocco	2083	only	-	Jun	20	 2:00	0	-
+ Rule	Morocco	2084	only	-	Apr	30	 3:00	-1:00	-
+ Rule	Morocco	2084	only	-	Jun	11	 2:00	0	-
+ Rule	Morocco	2085	only	-	Apr	22	 3:00	-1:00	-
+-Rule	Morocco	2085	only	-	May	27	 2:00	0	-
++Rule	Morocco	2085	only	-	Jun	 3	 2:00	0	-
+ Rule	Morocco	2086	only	-	Apr	14	 3:00	-1:00	-
+ Rule	Morocco	2086	only	-	May	19	 2:00	0	-
+ Rule	Morocco	2087	only	-	Mar	30	 3:00	-1:00	-
+@@ -1203,7 +1215,7 @@
+ # Use plain "WAT" and "CAT" for the time zone abbreviations, to be compatible
+ # with Namibia's neighbors.
+ 
+-# RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ # Vanguard section, for zic and other parsers that support negative DST.
+ Rule	Namibia	1994	only	-	Mar	21	0:00	-1:00	WAT
+ Rule	Namibia	1994	2017	-	Sep	Sun>=1	2:00	0	CAT
+@@ -1326,7 +1338,7 @@
+ # See Africa/Nairobi.
+ 
+ # South Africa
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	SA	1942	1943	-	Sep	Sun>=15	2:00	1:00	-
+ Rule	SA	1943	1944	-	Mar	Sun>=15	2:00	0	-
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -1359,7 +1371,7 @@
+ # Abdalla of NTC, archived at:
+ # https://mm.icann.org/pipermail/tz/2017-October/025333.html
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Sudan	1970	only	-	May	 1	0:00	1:00	S
+ Rule	Sudan	1970	1985	-	Oct	15	0:00	0	-
+ Rule	Sudan	1971	only	-	Apr	30	0:00	1:00	S
+@@ -1447,7 +1459,7 @@
+ # http://www.almadenahnews.com/newss/news.php?c=118&id=38036
+ # http://www.worldtimezone.com/dst_news/dst_news_tunis02.html
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Tunisia	1939	only	-	Apr	15	23:00s	1:00	S
+ Rule	Tunisia	1939	only	-	Nov	18	23:00s	0	-
+ Rule	Tunisia	1940	only	-	Feb	25	23:00s	1:00	S
+@@ -1474,9 +1486,7 @@
+ Rule	Tunisia	2006	2008	-	Mar	lastSun	 2:00s	1:00	S
+ Rule	Tunisia	2006	2008	-	Oct	lastSun	 2:00s	0	-
+ 
+-# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
+-# more precise 0:09:21.
+-# Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
++# See Europe/Paris for PMT-related transitions.
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+ Zone	Africa/Tunis	0:40:44 -	LMT	1881 May 12
+ 			0:09:21	-	PMT	1911 Mar 11 # Paris Mean Time
+diff --git a/make/data/tzdata/antarctica b/make/data/tzdata/antarctica
+--- a/make/data/tzdata/antarctica
++++ b/make/data/tzdata/antarctica
+@@ -93,15 +93,30 @@
+ # Australian Antarctica Division informed us that Casey changed time
+ # zone to UTC+11 in "the morning of 22nd October 2016".
+ 
++# From Steffen Thorsen (2020-10-02, as corrected):
++# Based on information we have received from the Australian Antarctic
++# Division, Casey station and Macquarie Island station will move to Tasmanian
++# daylight savings time on Sunday 4 October. This will take effect from 0001
++# hrs on Sunday 4 October 2020 and will mean Casey and Macquarie Island will
++# be on the same time zone as Hobart.  Some past dates too for this 3 hour
++# time change back and forth between UTC+8 and UTC+11 for Casey:
++# - 2018 Oct  7 4:00 - 2019 Mar 17 3:00 - 2019 Oct  4 3:00 - 2020 Mar  8 3:00
++# and now - 2020 Oct  4 0:01
++
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+-Zone Antarctica/Casey	0	-	-00	1969
+-			8:00	-	+08	2009 Oct 18  2:00
++Zone Antarctica/Casey	 0	-	-00	1969
++			 8:00	-	+08	2009 Oct 18  2:00
+ 			11:00	-	+11	2010 Mar  5  2:00
+-			8:00	-	+08	2011 Oct 28  2:00
++			 8:00	-	+08	2011 Oct 28  2:00
+ 			11:00	-	+11	2012 Feb 21 17:00u
+-			8:00	-	+08	2016 Oct 22
++			 8:00	-	+08	2016 Oct 22
+ 			11:00	-	+11	2018 Mar 11  4:00
+-			8:00	-	+08
++			 8:00	-	+08	2018 Oct  7  4:00
++			11:00	-	+11	2019 Mar 17  3:00
++			 8:00	-	+08	2019 Oct  4  3:00
++			11:00	-	+11	2020 Mar  8  3:00
++			 8:00	-	+08	2020 Oct  4  0:01
++			11:00	-	+11
+ Zone Antarctica/Davis	0	-	-00	1957 Jan 13
+ 			7:00	-	+07	1964 Nov
+ 			0	-	-00	1969 Feb
+@@ -247,7 +262,7 @@
+ # suggested by Bengt-Inge Larsson comment them out for now, and approximate
+ # with only UTC and CEST.  Uncomment them when 2014b is more prevalent.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ #Rule	Troll	2005	max	-	Mar	 1	1:00u	1:00	+01
+ Rule	Troll	2005	max	-	Mar	lastSun	1:00u	2:00	+02
+ #Rule	Troll	2005	max	-	Oct	lastSun	1:00u	1:00	+01
+diff --git a/make/data/tzdata/asia b/make/data/tzdata/asia
+--- a/make/data/tzdata/asia
++++ b/make/data/tzdata/asia
+@@ -93,7 +93,7 @@
+ ###############################################################################
+ 
+ # These rules are stolen from the 'europe' file.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	EUAsia	1981	max	-	Mar	lastSun	 1:00u	1:00	S
+ Rule	EUAsia	1979	1995	-	Sep	lastSun	 1:00u	0	-
+ Rule	EUAsia	1996	max	-	Oct	lastSun	 1:00u	0	-
+@@ -137,7 +137,7 @@
+ # or
+ # (brief)
+ # http://www.worldtimezone.com/dst_news/dst_news_armenia03.html
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule Armenia	2011	only	-	Mar	lastSun	 2:00s	1:00	-
+ Rule Armenia	2011	only	-	Oct	lastSun	 2:00s	0	-
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -163,7 +163,7 @@
+ # http://vestnikkavkaza.net/news/Azerbaijani-Cabinet-of-Ministers-cancels-daylight-saving-time.html
+ # http://en.apa.az/xeber_azerbaijan_abolishes_daylight_savings_ti_240862.html
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Azer	1997	2015	-	Mar	lastSun	 4:00	1:00	-
+ Rule	Azer	1997	2015	-	Oct	lastSun	 5:00	0	-
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -250,7 +250,7 @@
+ # http://www.thedailystar.net/newDesign/latest_news.php?nid=22817
+ # http://www.worldtimezone.com/dst_news/dst_news_bangladesh06.html
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Dhaka	2009	only	-	Jun	19	23:00	1:00	-
+ Rule	Dhaka	2009	only	-	Dec	31	24:00	0	-
+ 
+@@ -326,7 +326,7 @@
+ # generally esteemed a success, it was announced early in 1920 that it would
+ # not be repeated."
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Shang	1919	only	-	Apr	12	24:00	1:00	D
+ Rule	Shang	1919	only	-	Sep	30	24:00	0	S
+ 
+@@ -422,7 +422,7 @@
+ # the Yangtze river delta area during that period of time although the scope
+ # of such use will need to be investigated to determine.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Shang	1940	only	-	Jun	 1	 0:00	1:00	D
+ Rule	Shang	1940	only	-	Oct	12	24:00	0	S
+ Rule	Shang	1941	only	-	Mar	15	 0:00	1:00	D
+@@ -485,7 +485,7 @@
+ # to begin on 17 April.
+ # http://data.people.com.cn/pic/101p/1988/04/1988041201.jpg
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	PRC	1986	only	-	May	 4	 2:00	1:00	D
+ Rule	PRC	1986	1991	-	Sep	Sun>=11	 2:00	0	S
+ Rule	PRC	1987	1991	-	Apr	Sun>=11	 2:00	1:00	D
+@@ -869,7 +869,7 @@
+ # or dates for the 1942 and 1945 transitions.
+ # The Japanese occupation of Hong Kong began 1941-12-25.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	HK	1946	only	-	Apr	21	0:00	1:00	S
+ Rule	HK	1946	only	-	Dec	1	3:30s	0	-
+ Rule	HK	1947	only	-	Apr	13	3:30s	1:00	S
+@@ -996,7 +996,7 @@
+ # until 1945-09-21 at 01:00, overriding Shanks & Pottenger.
+ # Likewise, use Yu-Cheng Chuang's data for DST in Taiwan.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Taiwan	1946	only	-	May	15	0:00	1:00	D
+ Rule	Taiwan	1946	only	-	Oct	1	0:00	0	S
+ Rule	Taiwan	1947	only	-	Apr	15	0:00	1:00	D
+@@ -1122,7 +1122,7 @@
+ # The 1904 decree says that Macau changed from the meridian of
+ # Fortaleza do Monte, presumably the basis for the 7:34:10 for LMT.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Macau	1942	1943	-	Apr	30	23:00	1:00	-
+ Rule	Macau	1942	only	-	Nov	17	23:00	0	-
+ Rule	Macau	1943	only	-	Sep	30	23:00	0	S
+@@ -1180,7 +1180,7 @@
+ # Cyprus to remain united in time.  Cyprus Mail 2017-10-17.
+ # https://cyprus-mail.com/2017/10/17/cyprus-remain-united-time/
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Cyprus	1975	only	-	Apr	13	0:00	1:00	S
+ Rule	Cyprus	1975	only	-	Oct	12	0:00	0	-
+ Rule	Cyprus	1976	only	-	May	15	0:00	1:00	S
+@@ -1557,7 +1557,7 @@
+ # be changed back to its previous state on the 24 hours of the
+ # thirtieth day of Shahrivar.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Iran	1978	1980	-	Mar	20	24:00	1:00	-
+ Rule	Iran	1978	only	-	Oct	20	24:00	0	-
+ Rule	Iran	1979	only	-	Sep	18	24:00	0	-
+@@ -1699,7 +1699,7 @@
+ # We have published a short article in English about the change:
+ # https://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Iraq	1982	only	-	May	1	0:00	1:00	-
+ Rule	Iraq	1982	1984	-	Oct	1	0:00	0	-
+ Rule	Iraq	1983	only	-	Mar	31	0:00	1:00	-
+@@ -1722,6 +1722,10 @@
+ 
+ # Israel
+ 
++# For more info about the motivation for DST in Israel, see:
++# Barak Y. Israel's Daylight Saving Time controversy. Israel Affairs.
++# 2020-08-11. https://doi.org/10.1080/13537121.2020.1806564
++
+ # From Ephraim Silverberg (2001-01-11):
+ #
+ # I coined "IST/IDT" circa 1988.  Until then there were three
+@@ -1743,7 +1747,7 @@
+ # family is from India).
+ 
+ # From Shanks & Pottenger:
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Zion	1940	only	-	Jun	 1	0:00	1:00	D
+ Rule	Zion	1942	1944	-	Nov	 1	0:00	0	S
+ Rule	Zion	1943	only	-	Apr	 1	2:00	1:00	D
+@@ -1835,7 +1839,7 @@
+ # (except in 2002) is three nights before Yom Kippur [Day of Atonement]
+ # (the eve of the 7th of Tishrei in the lunar Hebrew calendar).
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Zion	1989	only	-	Apr	30	0:00	1:00	D
+ Rule	Zion	1989	only	-	Sep	 3	0:00	0	S
+ Rule	Zion	1990	only	-	Mar	25	0:00	1:00	D
+@@ -1851,7 +1855,7 @@
+ # Ministry of Interior, Jerusalem, Israel.  The spokeswoman can be reached by
+ # calling the office directly at 972-2-6701447 or 972-2-6701448.
+ 
+-# Rule	NAME    FROM    TO      TYPE    IN      ON      AT      SAVE    LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Zion	1994	only	-	Apr	 1	0:00	1:00	D
+ Rule	Zion	1994	only	-	Aug	28	0:00	0	S
+ Rule	Zion	1995	only	-	Mar	31	0:00	1:00	D
+@@ -1871,7 +1875,7 @@
+ #
+ #       where YYYY is the relevant year.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Zion	1996	only	-	Mar	15	0:00	1:00	D
+ Rule	Zion	1996	only	-	Sep	16	0:00	0	S
+ Rule	Zion	1997	only	-	Mar	21	0:00	1:00	D
+@@ -1894,7 +1898,7 @@
+ #
+ #	ftp://ftp.cs.huji.ac.il/pub/tz/announcements/2000-2004.ps.gz
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Zion	2000	only	-	Apr	14	2:00	1:00	D
+ Rule	Zion	2000	only	-	Oct	 6	1:00	0	S
+ Rule	Zion	2001	only	-	Apr	 9	1:00	1:00	D
+@@ -1916,7 +1920,7 @@
+ #
+ #	ftp://ftp.cs.huji.ac.il/pub/tz/announcements/2005+beyond.ps
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Zion	2005	2012	-	Apr	Fri<=1	2:00	1:00	D
+ Rule	Zion	2005	only	-	Oct	 9	2:00	0	S
+ Rule	Zion	2006	only	-	Oct	 1	2:00	0	S
+@@ -1936,7 +1940,7 @@
+ # As of 2013, DST starts at 02:00 on the Friday before the last Sunday
+ # in March.  DST ends at 02:00 on the last Sunday of October.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Zion	2013	max	-	Mar	Fri>=23	2:00	1:00	D
+ Rule	Zion	2013	max	-	Oct	lastSun	2:00	0	S
+ 
+@@ -2036,7 +2040,7 @@
+ # do in any POSIX or C platform.  The "25:00" assumes zic from 2007 or later,
+ # which should be safe now.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Japan	1948	only	-	May	Sat>=1	24:00	1:00	D
+ Rule	Japan	1948	1951	-	Sep	Sat>=8	25:00	0	S
+ Rule	Japan	1949	only	-	Apr	Sat>=1	24:00	1:00	D
+@@ -2113,7 +2117,7 @@
+ # From Paul Eggert (2013-12-11):
+ # As Steffen suggested, consider the past 21-month experiment to be DST.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Jordan	1973	only	-	Jun	6	0:00	1:00	S
+ Rule	Jordan	1973	1975	-	Oct	1	0:00	0	-
+ Rule	Jordan	1974	1977	-	May	1	0:00	1:00	S
+@@ -2439,7 +2443,7 @@
+ # Our government cancels daylight saving time 6th of August 2005.
+ # From 2005-08-12 our GMT-offset is +6, w/o any daylight saving.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Kyrgyz	1992	1996	-	Apr	Sun>=7	0:00s	1:00	-
+ Rule	Kyrgyz	1992	1996	-	Sep	lastSun	0:00	0	-
+ Rule	Kyrgyz	1997	2005	-	Mar	lastSun	2:30	1:00	-
+@@ -2495,7 +2499,7 @@
+ # follow and continued to use GMT+9:00 for interoperability.
+ 
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	ROK	1948	only	-	Jun	 1	 0:00	1:00	D
+ Rule	ROK	1948	only	-	Sep	12	24:00	0	S
+ Rule	ROK	1949	only	-	Apr	 3	 0:00	1:00	D
+@@ -2583,7 +2587,7 @@
+ 
+ 
+ # Lebanon
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Lebanon	1920	only	-	Mar	28	0:00	1:00	S
+ Rule	Lebanon	1920	only	-	Oct	25	0:00	0	-
+ Rule	Lebanon	1921	only	-	Apr	3	0:00	1:00	S
+@@ -2613,7 +2617,7 @@
+ 			2:00	Lebanon	EE%sT
+ 
+ # Malaysia
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	NBorneo	1935	1941	-	Sep	14	0:00	0:20	-
+ Rule	NBorneo	1935	1941	-	Dec	14	0:00	0	-
+ #
+@@ -2758,7 +2762,7 @@
+ # September daylight saving time ends.  Source:
+ # http://zasag.mn/news/view/8969
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Mongol	1983	1984	-	Apr	1	0:00	1:00	-
+ Rule	Mongol	1983	only	-	Oct	1	0:00	0	-
+ # Shanks & Pottenger and IATA SSIM say 1990s switches occurred at 00:00,
+@@ -2946,7 +2950,7 @@
+ # "People laud PM's announcement to end DST"
+ # http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule Pakistan	2002	only	-	Apr	Sun>=2	0:00	1:00	S
+ Rule Pakistan	2002	only	-	Oct	Sun>=2	0:00	0	-
+ Rule Pakistan	2008	only	-	Jun	1	0:00	1:00	S
+@@ -3248,7 +3252,7 @@
+ # From Tim Parenti (2016-10-19):
+ # Predict fall transitions on October's last Saturday at 01:00 from now on.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
+ Rule EgyptAsia	1957	1958	-	Oct	 1	0:00	0	-
+ Rule EgyptAsia	1958	only	-	May	 1	0:00	1:00	S
+@@ -3348,7 +3352,7 @@
+ # influence of the sources.  There is no current abbreviation for DST,
+ # so use "PDT", the usual American style.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Phil	1936	only	-	Nov	1	0:00	1:00	D
+ Rule	Phil	1937	only	-	Feb	1	0:00	0	S
+ Rule	Phil	1954	only	-	Apr	12	0:00	1:00	D
+@@ -3496,7 +3500,7 @@
+ 			5:30	-	+0530
+ 
+ # Syria
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Syria	1920	1923	-	Apr	Sun>=15	2:00	1:00	S
+ Rule	Syria	1920	1923	-	Oct	Sun>=1	2:00	0	-
+ Rule	Syria	1962	only	-	Apr	29	2:00	1:00	S
+diff --git a/make/data/tzdata/australasia b/make/data/tzdata/australasia
+--- a/make/data/tzdata/australasia
++++ b/make/data/tzdata/australasia
+@@ -36,7 +36,7 @@
+ 
+ # Please see the notes below for the controversy about "EST" versus "AEST" etc.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Aus	1917	only	-	Jan	 1	0:01	1:00	D
+ Rule	Aus	1917	only	-	Mar	25	2:00	0	S
+ Rule	Aus	1942	only	-	Jan	 1	2:00	1:00	D
+@@ -55,7 +55,7 @@
+ 			 9:30	Aus	AC%sT
+ # Western Australia
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	AW	1974	only	-	Oct	lastSun	2:00s	1:00	D
+ Rule	AW	1975	only	-	Mar	Sun>=1	2:00s	0	S
+ Rule	AW	1983	only	-	Oct	lastSun	2:00s	1:00	D
+@@ -93,7 +93,7 @@
+ # applies to all of the Whitsundays.
+ # http://www.australia.gov.au/about-australia/australian-story/austn-islands
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	AQ	1971	only	-	Oct	lastSun	2:00s	1:00	D
+ Rule	AQ	1972	only	-	Feb	lastSun	2:00s	0	S
+ Rule	AQ	1989	1991	-	Oct	lastSun	2:00s	1:00	D
+@@ -109,7 +109,7 @@
+ 			10:00	Holiday	AE%sT
+ 
+ # South Australia
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	AS	1971	1985	-	Oct	lastSun	2:00s	1:00	D
+ Rule	AS	1986	only	-	Oct	19	2:00s	1:00	D
+ Rule	AS	1987	2007	-	Oct	lastSun	2:00s	1:00	D
+@@ -137,7 +137,7 @@
+ # http://www.bom.gov.au/climate/averages/tables/dst_times.shtml
+ # says King Island didn't observe DST from WWII until late 1971.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	AT	1967	only	-	Oct	Sun>=1	2:00s	1:00	D
+ Rule	AT	1968	only	-	Mar	lastSun	2:00s	0	S
+ Rule	AT	1968	1985	-	Oct	lastSun	2:00s	1:00	D
+@@ -170,7 +170,7 @@
+ 			10:00	AT	AE%sT
+ 
+ # Victoria
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	AV	1971	1985	-	Oct	lastSun	2:00s	1:00	D
+ Rule	AV	1972	only	-	Feb	lastSun	2:00s	0	S
+ Rule	AV	1973	1985	-	Mar	Sun>=1	2:00s	0	S
+@@ -191,7 +191,7 @@
+ 			10:00	AV	AE%sT
+ 
+ # New South Wales
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	AN	1971	1985	-	Oct	lastSun	2:00s	1:00	D
+ Rule	AN	1972	only	-	Feb	27	2:00s	0	S
+ Rule	AN	1973	1981	-	Mar	Sun>=1	2:00s	0	S
+@@ -220,7 +220,7 @@
+ 			9:30	AS	AC%sT
+ 
+ # Lord Howe Island
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	LH	1981	1984	-	Oct	lastSun	2:00	1:00	-
+ Rule	LH	1982	1985	-	Mar	Sun>=1	2:00	0	-
+ Rule	LH	1985	only	-	Oct	lastSun	2:00	0:30	-
+@@ -275,8 +275,9 @@
+ 			10:00	Aus	AE%sT	1919 Apr  1  0:00s
+ 			0	-	-00	1948 Mar 25
+ 			10:00	Aus	AE%sT	1967
+-			10:00	AT	AE%sT	2010 Apr  4  3:00
+-			11:00	-	+11
++			10:00	AT	AE%sT	2010
++			10:00	1:00	AEDT	2011
++			10:00	AT	AE%sT
+ 
+ # Christmas
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -403,7 +404,7 @@
+ # From Michael Deckers (2019-08-06):
+ # https://www.laws.gov.fj/LawsAsMade/downloadfile/848
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	-
+ Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
+ Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	-
+@@ -432,7 +433,7 @@
+ 
+ # Guam
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ # http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf
+ # http://documents.guam.gov/wp-content/uploads/E.O.-59-7-Guam-Daylight-Savings-Time-May-6-1959.pdf
+ Rule	Guam	1959	only	-	Jun	27	2:00	1:00	D
+@@ -543,7 +544,7 @@
+ 			12:00	-	+12
+ 
+ # New Caledonia
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	NC	1977	1978	-	Dec	Sun>=1	0:00	1:00	-
+ Rule	NC	1978	1979	-	Feb	27	0:00	0	-
+ Rule	NC	1996	only	-	Dec	 1	2:00s	1:00	-
+@@ -558,7 +559,7 @@
+ 
+ # New Zealand
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	NZ	1927	only	-	Nov	 6	2:00	1:00	S
+ Rule	NZ	1928	only	-	Mar	 4	2:00	0	M
+ Rule	NZ	1928	1933	-	Oct	Sun>=8	2:00	0:30	S
+@@ -610,7 +611,7 @@
+ 
+ # Cook Is
+ # From Shanks & Pottenger:
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Cook	1978	only	-	Nov	12	0:00	0:30	-
+ Rule	Cook	1979	1991	-	Mar	Sun>=1	0:00	0	-
+ Rule	Cook	1979	1990	-	Oct	lastSun	0:00	0:30	-
+@@ -755,7 +756,7 @@
+ # That web page currently lists transitions for 2012/3 and 2013/4.
+ # Assume the pattern instituted in 2012 will continue indefinitely.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	WS	2010	only	-	Sep	lastSun	0:00	1	-
+ Rule	WS	2011	only	-	Apr	Sat>=1	4:00	0	-
+ Rule	WS	2011	only	-	Sep	lastSat	3:00	1	-
+@@ -799,7 +800,7 @@
+ 			13:00	-	+13
+ 
+ # Tonga
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Tonga	1999	only	-	Oct	 7	2:00s	1:00	-
+ Rule	Tonga	2000	only	-	Mar	19	2:00s	0	-
+ Rule	Tonga	2000	2001	-	Nov	Sun>=1	2:00	1:00	-
+@@ -880,7 +881,7 @@
+ 
+ 
+ # Vanuatu
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Vanuatu	1983	only	-	Sep	25	0:00	1:00	-
+ Rule	Vanuatu	1984	1991	-	Mar	Sun>=23	0:00	0	-
+ Rule	Vanuatu	1984	only	-	Oct	23	0:00	1:00	-
+diff --git a/make/data/tzdata/europe b/make/data/tzdata/europe
+--- a/make/data/tzdata/europe
++++ b/make/data/tzdata/europe
+@@ -411,7 +411,7 @@
+ # http://www.irishstatutebook.ie/eli/1926/sro/919/made/en/print
+ # http://www.irishstatutebook.ie/eli/1947/sro/71/made/en/print
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ # Summer Time Act, 1916
+ Rule	GB-Eire	1916	only	-	May	21	2:00s	1:00	BST
+ Rule	GB-Eire	1916	only	-	Oct	 1	2:00s	0	GMT
+@@ -552,7 +552,7 @@
+ # The following is like GB-Eire and EU, except with standard time in
+ # summer and negative daylight saving time in winter.  It is for when
+ # negative SAVE values are used.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Eire	1971	only	-	Oct	31	 2:00u	-1:00	-
+ Rule	Eire	1972	1980	-	Mar	Sun>=16	 2:00u	0	-
+ Rule	Eire	1972	1980	-	Oct	Sun>=23	 2:00u	-1:00	-
+@@ -589,7 +589,7 @@
+ # predecessor organization, the European Communities.
+ # For brevity they are called "EU rules" elsewhere in this file.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	EU	1977	1980	-	Apr	Sun>=1	 1:00u	1:00	S
+ Rule	EU	1977	only	-	Sep	lastSun	 1:00u	0	-
+ Rule	EU	1978	only	-	Oct	 1	 1:00u	0	-
+@@ -629,13 +629,13 @@
+ # corrected in version 2008d). The circumstantial evidence is simply the
+ # tz database itself, as seen below:
+ #
+-# Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15  0:01
++# Zone Europe/Paris ...
+ #    0:00 France WE%sT 1945 Sep 16  3:00
+ #
+-# Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
++# Zone Europe/Monaco ...
+ #    0:00 France WE%sT 1945 Sep 16  3:00
+ #
+-# Zone Europe/Belgrade 1:22:00 - LMT 1884
++# Zone Europe/Belgrade ...
+ #    1:00 1:00 CEST 1945 Sep 16  2:00s
+ #
+ # Rule France 1945 only - Sep 16  3:00 0 -
+@@ -681,7 +681,7 @@
+ #
+ # The 1917-1921 decree URLs are from Alexander Belopolsky (2016-08-23).
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Russia	1917	only	-	Jul	 1	23:00	1:00	MST  # Moscow Summer Time
+ #
+ # Decree No. 142 (1917-12-22) http://istmat.info/node/28137
+@@ -795,7 +795,7 @@
+ 
+ 
+ # Albania
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Albania	1940	only	-	Jun	16	0:00	1:00	S
+ Rule	Albania	1942	only	-	Nov	 2	3:00	0	-
+ Rule	Albania	1943	only	-	Mar	29	2:00	1:00	S
+@@ -849,7 +849,7 @@
+ # In 1946 the end of DST was on Monday, 7 October 1946, at 3:00 am.
+ # Shanks had this right.  Source: Die Weltpresse, 5. Oktober 1946, page 5.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Austria	1920	only	-	Apr	 5	2:00s	1:00	S
+ Rule	Austria	1920	only	-	Sep	13	2:00s	0	-
+ Rule	Austria	1946	only	-	Apr	14	2:00s	1:00	S
+@@ -936,7 +936,7 @@
+ # The 1918 rules are listed for completeness; they apply to unoccupied Belgium.
+ # Assume Brussels switched to WET in 1918 when the armistice took effect.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Belgium	1918	only	-	Mar	 9	 0:00s	1:00	S
+ Rule	Belgium	1918	1919	-	Oct	Sat>=1	23:00s	0	-
+ Rule	Belgium	1919	only	-	Mar	 1	23:00s	1:00	S
+@@ -996,7 +996,7 @@
+ # EET -> EETDST is in 03:00 Local time in last Sunday of March ...
+ # EETDST -> EET is in 04:00 Local time in last Sunday of October
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Bulg	1979	only	-	Mar	31	23:00	1:00	S
+ Rule	Bulg	1979	only	-	Oct	 1	 1:00	0	-
+ Rule	Bulg	1980	1982	-	Apr	Sat>=1	23:00	1:00	S
+@@ -1028,7 +1028,7 @@
+ # We know of no English-language name for historical Czech winter time;
+ # abbreviate it as "GMT", as it happened to be GMT.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Czech	1945	only	-	Apr	Mon>=1	2:00s	1:00	S
+ Rule	Czech	1945	only	-	Oct	 1	2:00s	0	-
+ Rule	Czech	1946	only	-	May	 6	2:00s	1:00	S
+@@ -1084,7 +1084,7 @@
+ # Hence the "02:00" of the 1980 law refers to standard time, not
+ # wall-clock time, and so the EU rules were in effect in 1980.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Denmark	1916	only	-	May	14	23:00	1:00	S
+ Rule	Denmark	1916	only	-	Sep	30	23:00	0	-
+ Rule	Denmark	1940	only	-	May	15	 0:00	1:00	S
+@@ -1186,7 +1186,7 @@
+ # http://naalakkersuisut.gl/~/media/Nanoq/Files/Attached%20Files/Engelske-tekster/Legislation/Executive%20Order%20National%20Park.rtf
+ # It is their only National Park.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Thule	1991	1992	-	Mar	lastSun	2:00	1:00	D
+ Rule	Thule	1991	1992	-	Sep	lastSun	2:00	0	S
+ Rule	Thule	1993	2006	-	Apr	Sun>=1	2:00	1:00	D
+@@ -1317,7 +1317,7 @@
+ # From Paul Eggert (2014-06-14):
+ # Go with Oja over Shanks.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Finland	1942	only	-	Apr	2	24:00	1:00	S
+ Rule	Finland	1942	only	-	Oct	4	1:00	0	-
+ Rule	Finland	1981	1982	-	Mar	lastSun	2:00	1:00	S
+@@ -1349,10 +1349,58 @@
+ # Françoise Gauquelin, Problèmes de l'heure résolus en astrologie,
+ # Guy Trédaniel, Paris 1987
+ 
++# From Michael Deckers (2020-06-11):
++# the law of 1891 <https://gallica.bnf.fr/ark:/12148/bpt6k64415343.texteImage>
++# was published on 1891-03-15, so it could only take force on 1891-03-16.
++
++# From Michael Deckers (2020-06-10):
++# Le Gaulois, 1911-03-11, page 1/6, online at
++# https://www.retronews.fr/societe/echo-de-presse/2018/01/29/1911-change-lheure-de-paris
++# ... [ Instantly, all pressure driven clock dials halted...  Nine minutes and
++#       twenty-one seconds later the hands resumed their circular motion. ]
++# There are also precise reports about how the change was prepared in train
++# stations: all the publicly visible clocks stopped at midnight railway time
++# (or were covered), only the chief of service had a watch, labeled
++# "Heure ancienne", that he kept running until it reached 00:04:21, when
++# he announced "Heure nouvelle".  See the "Le Petit Journal 1911-03-11".
++# https://gallica.bnf.fr/ark:/12148/bpt6k6192911/f1.item.zoom
++#
++# From Michael Deckers (2020-06-12):
++# That "all French clocks stopped" for 00:09:21 is a misreading of French
++# newspapers; this sort of adjustment applies only to certain
++# remote-controlled clocks ("pendules pneumatiques", of which there existed
++# perhaps a dozen in Paris, and which simply could not be set back remotely),
++# but not to all the clocks in all French towns and villages.  For instance,
++# the following story in the "Courrier de Saône-et-Loire" 1911-03-11, page 2:
++# only works if legal time was stepped back (was not monotone): ...
++#   [One can observe that children who had been born at midnight less 5
++#    minutes and who had died at midnight of the old time, would turn out to
++#    be dead before being born, time having been set back and having
++#    suppressed 9 minutes and 25 seconds of their existence, that is, more
++#    than they could spend.]
++#
++# From Paul Eggert (2020-06-12):
++# French time in railway stations was legally five minutes behind civil time,
++# which explains why railway "old time" ran to 00:04:21 instead of to 00:09:21.
++# The law's text (which Michael Deckers noted is at
++# <https://gallica.bnf.fr/ark:/12148/bpt6k2022333z/f2>) says only that
++# at 1911-03-11 00:00 legal time was that of Paris mean time delayed by
++# nine minutes and twenty-one seconds, and does not say how the
++# transition from Paris mean time was to occur.
++#
++# tzdb has no way to represent stopped clocks.  As the railway practice
++# was to keep a watch running on "old time" to decide when to restart
++# the other clocks, this could be modeled as a transition for "old time" at
++# 00:09:21.  However, since the law was ambiguous and clocks outside railway
++# stations were probably done haphazardly with the popular impression being
++# that the transition was done at 00:00 "old time", simply leave the time
++# blank; this causes zic to default to 00:00 "old time" which is good enough.
++# Do something similar for the 1891-03-16 transition.  There are similar
++# problems in Algiers, Monaco and Tunis.
+ 
+ #
+ # Shank & Pottenger seem to use '24:00' ambiguously; resolve it with Whitman.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	France	1916	only	-	Jun	14	23:00s	1:00	S
+ Rule	France	1916	1919	-	Oct	Sun>=1	23:00s	0	-
+ Rule	France	1917	only	-	Mar	24	23:00s	1:00	S
+@@ -1412,13 +1460,11 @@
+ # go with Excoffier's 28/3/76 0hUT and 25/9/76 23hUT.
+ Rule	France	1976	only	-	Mar	28	 1:00	1:00	S
+ Rule	France	1976	only	-	Sep	26	 1:00	0	-
+-# Shanks & Pottenger give 0:09:20 for Paris Mean Time, and Whitman 0:09:05,
+-# but Howse quotes the actual French legislation as saying 0:09:21.
+-# Go with Howse.  Howse writes that the time in France was officially based
++# Howse writes that the time in France was officially based
+ # on PMT-0:09:21 until 1978-08-09, when the time base finally switched to UTC.
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+-Zone	Europe/Paris	0:09:21 -	LMT	1891 Mar 15  0:01
+-			0:09:21	-	PMT	1911 Mar 11  0:01 # Paris MT
++Zone	Europe/Paris	0:09:21 -	LMT	1891 Mar 16
++			0:09:21	-	PMT	1911 Mar 11 # Paris Mean Time
+ # Shanks & Pottenger give 1940 Jun 14 0:00; go with Excoffier and Le Corre.
+ 			0:00	France	WE%sT	1940 Jun 14 23:00
+ # Le Corre says Paris stuck with occupied-France time after the liberation;
+@@ -1447,7 +1493,7 @@
+ # this was equivalent to UT +03, not +04.
+ 
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Germany	1946	only	-	Apr	14	2:00s	1:00	S
+ Rule	Germany	1946	only	-	Oct	 7	2:00s	0	-
+ Rule	Germany	1947	1949	-	Oct	Sun>=1	2:00s	0	-
+@@ -1499,7 +1545,7 @@
+ 			1:00	EU	CE%sT
+ 
+ # Greece
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ # Whitman gives 1932 Jul 5 - Nov 1; go with Shanks & Pottenger.
+ Rule	Greece	1932	only	-	Jul	 7	0:00	1:00	S
+ Rule	Greece	1932	only	-	Sep	 1	0:00	0	-
+@@ -1534,38 +1580,69 @@
+ 			2:00	EU	EE%sT
+ 
+ # Hungary
+-# From Paul Eggert (2014-07-15):
+-# Dates for 1916-1945 are taken from:
+-# Oross A. Jelen a múlt jövője: a nyári időszámítás Magyarországon 1916-1945.
+-# National Archives of Hungary (2012-10-29).
+-# http://mnl.gov.hu/a_het_dokumentuma/a_nyari_idoszamitas_magyarorszagon_19161945.html
+-# This source does not always give times, which are taken from Shanks
+-# & Pottenger (which disagree about the dates).
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
+-Rule	Hungary	1918	only	-	Apr	 1	 3:00	1:00	S
+-Rule	Hungary	1918	only	-	Sep	16	 3:00	0	-
+-Rule	Hungary	1919	only	-	Apr	15	 3:00	1:00	S
+-Rule	Hungary	1919	only	-	Nov	24	 3:00	0	-
++
++# From Michael Deckers (2020-06-09):
++# an Austrian encyclopedia of railroads of 1913, online at
++# http://www.zeno.org/Roell-1912/A/Eisenbahnzeit
++# says that the switch [to CET] happened on 1890-11-01.
++
++# From Géza Nyáry (2020-06-07):
++# Data for 1918-1983 are based on the archive database of Library Hungaricana.
++# The dates are collected from original, scanned governmental orders,
++# bulletins, instructions and public press.
++# [See URLs below.]
++
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
++# https://library.hungaricana.hu/hu/view/OGYK_RT_1918/?pg=238
++# https://library.hungaricana.hu/hu/view/OGYK_RT_1919/?pg=808
++# https://library.hungaricana.hu/hu/view/OGYK_RT_1920/?pg=201
++Rule	Hungary	1918	1919	-	Apr	15	 2:00	1:00	S
++Rule	Hungary	1918	1920	-	Sep	Mon>=15	 3:00	0	-
++Rule	Hungary	1920	only	-	Apr	 5	 2:00	1:00	S
++# https://library.hungaricana.hu/hu/view/OGYK_RT_1945/?pg=882
+ Rule	Hungary	1945	only	-	May	 1	23:00	1:00	S
+-Rule	Hungary	1945	only	-	Nov	 1	 0:00	0	-
++Rule	Hungary	1945	only	-	Nov	 1	 1:00	0	-
++# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1946_03/?pg=49
+ Rule	Hungary	1946	only	-	Mar	31	 2:00s	1:00	S
+-Rule	Hungary	1946	1949	-	Oct	Sun>=1	 2:00s	0	-
++# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1946_09/?pg=54
++Rule	Hungary	1946	only	-	Oct	 7	 2:00	0	-
++# https://library.hungaricana.hu/hu/view/KulfBelfHirek_1947_04_1__001-123/?pg=90
++# https://library.hungaricana.hu/hu/view/DunantuliNaplo_1947_09/?pg=128
++# https://library.hungaricana.hu/hu/view/KulfBelfHirek_1948_03_3__001-123/?pg=304
++# https://library.hungaricana.hu/hu/view/Zala_1948_09/?pg=64
++# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=53
++# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=160
++# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1949_09/?pg=94
+ Rule	Hungary	1947	1949	-	Apr	Sun>=4	 2:00s	1:00	S
+-Rule	Hungary	1950	only	-	Apr	17	 2:00s	1:00	S
+-Rule	Hungary	1950	only	-	Oct	23	 2:00s	0	-
+-Rule	Hungary	1954	1955	-	May	23	 0:00	1:00	S
+-Rule	Hungary	1954	1955	-	Oct	 3	 0:00	0	-
+-Rule	Hungary	1956	only	-	Jun	Sun>=1	 0:00	1:00	S
+-Rule	Hungary	1956	only	-	Sep	lastSun	 0:00	0	-
+-Rule	Hungary	1957	only	-	Jun	Sun>=1	 1:00	1:00	S
+-Rule	Hungary	1957	only	-	Sep	lastSun	 3:00	0	-
+-Rule	Hungary	1980	only	-	Apr	 6	 1:00	1:00	S
++Rule	Hungary	1947	1949	-	Oct	Sun>=1	 2:00s	0	-
++# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1954/?pg=513
++Rule	Hungary	1954	only	-	May	23	 0:00	1:00	S
++Rule	Hungary	1954	only	-	Oct	 3	 0:00	0	-
++# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1955/?pg=398
++Rule	Hungary	1955	only	-	May	22	 2:00	1:00	S
++Rule	Hungary	1955	only	-	Oct	 2	 3:00	0	-
++# https://library.hungaricana.hu/hu/view/HevesMegyeiNepujsag_1956_06/?pg=0
++# https://library.hungaricana.hu/hu/view/EszakMagyarorszag_1956_06/?pg=6
++# https://library.hungaricana.hu/hu/view/SzolnokMegyeiNeplap_1957_04/?pg=120
++# https://library.hungaricana.hu/hu/view/PestMegyeiHirlap_1957_09/?pg=143
++Rule	Hungary	1956	1957	-	Jun	Sun>=1	 2:00	1:00	S
++Rule	Hungary	1956	1957	-	Sep	lastSun	 3:00	0	-
++# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1980/?pg=1227
++Rule	Hungary	1980	only	-	Apr	 6	 0:00	1:00	S
++Rule	Hungary	1980	only	-	Sep	28	 1:00	0	-
++# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1981_01/?pg=79
++# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1982/?pg=115
++# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1983/?pg=85
++Rule	Hungary	1981	1983	-	Mar	lastSun	 0:00	1:00	S
++Rule	Hungary	1981	1983	-	Sep	lastSun	 1:00	0	-
++#
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+-Zone	Europe/Budapest	1:16:20 -	LMT	1890 Oct
++Zone	Europe/Budapest	1:16:20 -	LMT	1890 Nov  1
+ 			1:00	C-Eur	CE%sT	1918
+-			1:00	Hungary	CE%sT	1941 Apr  8
++# https://library.hungaricana.hu/hu/view/OGYK_RT_1941/?pg=1204
++			1:00	Hungary	CE%sT	1941 Apr  7 23:00
+ 			1:00	C-Eur	CE%sT	1945
+-			1:00	Hungary	CE%sT	1980 Sep 28  2:00s
++			1:00	Hungary	CE%sT	1984
+ 			1:00	EU	CE%sT
+ 
+ # Iceland
+@@ -1601,7 +1678,7 @@
+ # The information below is taken from the 1988 Almanak; see
+ # http://www.almanak.hi.is/klukkan.html
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Iceland	1917	1919	-	Feb	19	23:00	1:00	-
+ Rule	Iceland	1917	only	-	Oct	21	 1:00	0	-
+ Rule	Iceland	1918	1919	-	Nov	16	 1:00	0	-
+@@ -1693,7 +1770,7 @@
+ # to 1944-06-04; although Rome was an open city during this period, it
+ # was effectively controlled by Germany.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Italy	1916	only	-	Jun	 3	24:00	1:00	S
+ Rule	Italy	1916	1917	-	Sep	30	24:00	0	-
+ Rule	Italy	1917	only	-	Mar	31	24:00	1:00	S
+@@ -1803,7 +1880,7 @@
+ # urged Lithuania and Estonia to adopt a similar time policy, but it
+ # appears that they will not do so....
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Latvia	1989	1996	-	Mar	lastSun	 2:00s	1:00	S
+ Rule	Latvia	1989	1996	-	Sep	lastSun	 2:00s	0	-
+ 
+@@ -1896,7 +1973,7 @@
+ # Luxembourg
+ # Whitman disagrees with most of these dates in minor ways;
+ # go with Shanks & Pottenger.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Lux	1916	only	-	May	14	23:00	1:00	S
+ Rule	Lux	1916	only	-	Oct	 1	 1:00	0	-
+ Rule	Lux	1917	only	-	Apr	28	23:00	1:00	S
+@@ -1937,7 +2014,7 @@
+ # From Paul Eggert (2016-10-21):
+ # Assume 1900-1972 was like Rome, overriding Shanks.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Malta	1973	only	-	Mar	31	0:00s	1:00	S
+ Rule	Malta	1973	only	-	Sep	29	0:00s	0	-
+ Rule	Malta	1974	only	-	Apr	21	0:00s	1:00	S
+@@ -2010,7 +2087,7 @@
+ # says the 2014-03-30 spring-forward transition was at 02:00 local time.
+ # Guess that since 1997 Moldova has switched one hour before the EU.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Moldova	1997	max	-	Mar	lastSun	 2:00	1:00	S
+ Rule	Moldova	1997	max	-	Oct	lastSun	 3:00	0	-
+ 
+@@ -2028,11 +2105,24 @@
+ 			2:00	Moldova	EE%sT
+ 
+ # Monaco
+-# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
+-# more precise 0:09:21.
++#
++# From Michael Deckers (2020-06-12):
++# In the "Journal de Monaco" of 1892-05-24, online at
++# https://journaldemonaco.gouv.mc/var/jdm/storage/original/application/b1c67c12c5af11b41ea888fb048e4fe8.pdf
++# we read: ...
++#  [In virtue of a Sovereign Ordinance of the May 13 of the current [year],
++#   legal time in the Principality will be set to, from the date of June 1,
++#   1892 onwards, to the meridian of Paris, as in France.]
++# In the "Journal de Monaco" of 1911-03-28, online at
++# https://journaldemonaco.gouv.mc/var/jdm/storage/original/application/de74ffb7db53d4f599059fe8f0ed482a.pdf
++# we read an ordinance of 1911-03-16: ...
++#  [Legal time in the Principality will be set, from the date of promulgation
++#   of the present ordinance, to legal time in France....  Consequently, legal
++#   time will be retarded by 9 minutes and 21 seconds.]
++#
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+-Zone	Europe/Monaco	0:29:32 -	LMT	1891 Mar 15
+-			0:09:21	-	PMT	1911 Mar 11 # Paris Mean Time
++Zone	Europe/Monaco	0:29:32 -	LMT	1892 Jun  1
++			0:09:21	-	PMT	1911 Mar 29 # Paris Mean Time
+ 			0:00	France	WE%sT	1945 Sep 16  3:00
+ 			1:00	France	CE%sT	1977
+ 			1:00	EU	CE%sT
+@@ -2080,7 +2170,7 @@
+ # The data entries before 1945 are taken from
+ # https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Neth	1916	only	-	May	 1	0:00	1:00	NST	# Netherlands Summer Time
+ Rule	Neth	1916	only	-	Oct	 1	0:00	0	AMT	# Amsterdam Mean Time
+ Rule	Neth	1917	only	-	Apr	16	2:00s	1:00	NST
+@@ -2117,7 +2207,7 @@
+ # Norway
+ # http://met.no/met/met_lex/q_u/sommertid.html (2004-01) agrees with Shanks &
+ # Pottenger.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Norway	1916	only	-	May	22	1:00	1:00	S
+ Rule	Norway	1916	only	-	Sep	30	0:00	0	-
+ Rule	Norway	1945	only	-	Apr	 2	2:00s	1:00	S
+@@ -2186,7 +2276,7 @@
+ # The 1919 dates and times can be found in Tygodnik Urzędowy nr 1 (1919-03-20),
+ # <http://www.wbc.poznan.pl/publication/32156> pp 1-2.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Poland	1918	1919	-	Sep	16	2:00s	0	-
+ Rule	Poland	1919	only	-	Apr	15	2:00s	1:00	S
+ Rule	Poland	1944	only	-	Apr	 3	2:00s	1:00	S
+@@ -2257,7 +2347,7 @@
+ # Guess that the Azores changed to EU rules in 1992 (since that's when Portugal
+ # harmonized with EU rules), and that they stayed +0:00 that winter.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ # DSH writes that despite Decree 1,469 (1915), the change to the clocks was not
+ # done every year, depending on what Spain did, because of railroad schedules.
+ # Go with Shanks & Pottenger.
+@@ -2370,7 +2460,7 @@
+ # assume that Romania and Moldova switched to EU rules in 1997,
+ # the same year as Bulgaria.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Romania	1932	only	-	May	21	 0:00s	1:00	S
+ Rule	Romania	1932	1939	-	Oct	Sun>=1	 0:00s	0	-
+ Rule	Romania	1933	1939	-	Apr	Sun>=2	 0:00s	1:00	S
+@@ -3468,14 +3558,14 @@
+ # fallback transition from the next day's 00:59... to 00:00.
+ 
+ # From Michael Deckers (2016-12-15):
+-# The Royal Decree of 1900-06-26 quoted by Planesas, online at
++# The Royal Decree of 1900-07-26 quoted by Planesas, online at
+ # https://www.boe.es/datos/pdfs/BOE//1900/209/A00383-00384.pdf
+ # says in its article 5 (my translation):
+ # These dispositions will enter into force beginning with the
+ # instant at which, according to the time indicated in article 1,
+ # the 1st day of January of 1901 will begin.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Spain	1918	only	-	Apr	15	23:00	1:00	S
+ Rule	Spain	1918	1919	-	Oct	 6	24:00s	0	-
+ Rule	Spain	1919	only	-	Apr	 6	23:00	1:00	S
+@@ -3612,7 +3702,7 @@
+ # By the end of the 18th century clocks and watches became commonplace
+ # and their performance improved enormously.  Communities began to keep
+ # mean time in preference to apparent time - Geneva from 1780 ....
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ # From Whitman (who writes "Midnight?"):
+ # Rule	Swiss	1940	only	-	Nov	 2	0:00	1:00	S
+ # Rule	Swiss	1940	only	-	Dec	31	0:00	0	-
+@@ -3699,7 +3789,7 @@
+ # 1853-07-16, though it probably occurred at some other date in Zurich, and
+ # legal civil time probably changed at still some other transition date.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Swiss	1941	1942	-	May	Mon>=1	1:00	1:00	S
+ Rule	Swiss	1941	1942	-	Oct	Mon>=1	2:00	0	-
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -3848,7 +3938,7 @@
+ # Although Google Translate misfires on that source, it looks like
+ # Turkey reversed last month's decision, and so will stay at +03.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Turkey	1916	only	-	May	 1	0:00	1:00	S
+ Rule	Turkey	1916	only	-	Oct	 1	0:00	0	-
+ Rule	Turkey	1920	only	-	Mar	28	0:00	1:00	S
+@@ -4006,7 +4096,7 @@
+ 			2:00	1:00	EEST	1991 Sep 29  3:00
+ 			2:00	E-Eur	EE%sT	1995
+ 			2:00	EU	EE%sT
+-# Ruthenia used CET 1990/1991.
++# Transcarpathia used CET 1990/1991.
+ # "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but
+ # "Uzhgorod" is more common in English.
+ Zone Europe/Uzhgorod	1:29:12 -	LMT	1890 Oct
+diff --git a/make/data/tzdata/leapseconds b/make/data/tzdata/leapseconds
+--- a/make/data/tzdata/leapseconds
++++ b/make/data/tzdata/leapseconds
+@@ -91,11 +91,11 @@
+ # Any additional leap seconds will come after this.
+ # This Expires line is commented out for now,
+ # so that pre-2020a zic implementations do not reject this file.
+-#Expires 2020	Dec	28	00:00:00
++#Expires 2021	Jun	28	00:00:00
+ 
+ # POSIX timestamps for the data in this file:
+ #updated 1467936000 (2016-07-08 00:00:00 UTC)
+-#expires 1609113600 (2020-12-28 00:00:00 UTC)
++#expires 1624838400 (2021-06-28 00:00:00 UTC)
+ 
+-#	Updated through IERS Bulletin C59
+-#	File expires on:  28 December 2020
++#	Updated through IERS Bulletin C60
++#	File expires on:  28 June 2021
+diff --git a/make/data/tzdata/northamerica b/make/data/tzdata/northamerica
+--- a/make/data/tzdata/northamerica
++++ b/make/data/tzdata/northamerica
+@@ -193,7 +193,7 @@
+ # U.S. government action.  So even though the "US" rules have changed
+ # in the latest release, other countries won't be affected.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	US	1918	1919	-	Mar	lastSun	2:00	1:00	D
+ Rule	US	1918	1919	-	Oct	lastSun	2:00	0	S
+ Rule	US	1942	only	-	Feb	9	2:00	1:00	W # War
+@@ -370,7 +370,7 @@
+ # Eastern time (i.e., -4:56:01.6) just before the 1883 switch.  Round to the
+ # nearest second.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	NYC	1920	only	-	Mar	lastSun	2:00	1:00	D
+ Rule	NYC	1920	only	-	Oct	lastSun	2:00	0	S
+ Rule	NYC	1921	1966	-	Apr	lastSun	2:00	1:00	D
+@@ -454,7 +454,7 @@
+ # The Tennessean 2007-05-11, republished 2015-04-06.
+ # https://www.tennessean.com/story/insider/extras/2015/04/06/archives-seigenthaler-for-100-years-the-tennessean-had-it-covered/25348545/
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	Chicago	1920	only	-	Jun	13	2:00	1:00	D
+ Rule	Chicago	1920	1921	-	Oct	lastSun	2:00	0	S
+ Rule	Chicago	1921	only	-	Mar	lastSun	2:00	1:00	D
+@@ -523,7 +523,7 @@
+ # El Paso Times. 2018-10-24 06:40 -06.
+ # https://www.elpasotimes.com/story/news/local/el-paso/2018/10/24/el-pasoans-were-time-rebels-fought-stay-mountain-zone/1744509002/
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	Denver	1920	1921	-	Mar	lastSun	2:00	1:00	D
+ Rule	Denver	1920	only	-	Oct	lastSun	2:00	0	S
+ Rule	Denver	1921	only	-	May	22	2:00	0	S
+@@ -576,7 +576,7 @@
+ # https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props
+ # https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	CA	1948	only	-	Mar	14	2:01	1:00	D
+ Rule	CA	1949	only	-	Jan	 1	2:00	0	S
+ Rule	CA	1950	1966	-	Apr	lastSun	1:00	1:00	D
+@@ -934,7 +934,7 @@
+ # going to switch from Central to Eastern Time on March 11, 2007....
+ # http://www.indystar.com/apps/pbcs.dll/article?AID=/20070207/LOCAL190108/702070524/0/LOCAL
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule Indianapolis 1941	only	-	Jun	22	2:00	1:00	D
+ Rule Indianapolis 1941	1954	-	Sep	lastSun	2:00	0	S
+ Rule Indianapolis 1946	1954	-	Apr	lastSun	2:00	1:00	D
+@@ -953,7 +953,7 @@
+ #
+ # Eastern Crawford County, Indiana, left its clocks alone in 1974,
+ # as well as from 1976 through 2005.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	Marengo	1951	only	-	Apr	lastSun	2:00	1:00	D
+ Rule	Marengo	1951	only	-	Sep	lastSun	2:00	0	S
+ Rule	Marengo	1954	1960	-	Apr	lastSun	2:00	1:00	D
+@@ -972,7 +972,7 @@
+ # Daviess, Dubois, Knox, and Martin Counties, Indiana,
+ # switched from eastern to central time in April 2006, then switched back
+ # in November 2007.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule Vincennes	1946	only	-	Apr	lastSun	2:00	1:00	D
+ Rule Vincennes	1946	only	-	Sep	lastSun	2:00	0	S
+ Rule Vincennes	1953	1954	-	Apr	lastSun	2:00	1:00	D
+@@ -997,7 +997,7 @@
+ # The Indianapolis News, Friday 27 October 1967 states that Perry County
+ # returned to CST.  It went again to EST on 27 April 1969, as documented by the
+ # Indianapolis star of Saturday 26 April.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule Perry	1955	only	-	May	 1	0:00	1:00	D
+ Rule Perry	1955	1960	-	Sep	lastSun	2:00	0	S
+ Rule Perry	1956	1963	-	Apr	lastSun	2:00	1:00	D
+@@ -1014,7 +1014,7 @@
+ #
+ # Pike County, Indiana moved from central to eastern time in 1977,
+ # then switched back in 2006, then switched back again in 2007.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	Pike	1955	only	-	May	 1	0:00	1:00	D
+ Rule	Pike	1955	1960	-	Sep	lastSun	2:00	0	S
+ Rule	Pike	1956	1964	-	Apr	lastSun	2:00	1:00	D
+@@ -1035,7 +1035,7 @@
+ # An article on page A3 of the Sunday, 1991-10-27 Washington Post
+ # notes that Starke County switched from Central time to Eastern time as of
+ # 1991-10-27.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	Starke	1947	1961	-	Apr	lastSun	2:00	1:00	D
+ Rule	Starke	1947	1954	-	Sep	lastSun	2:00	0	S
+ Rule	Starke	1955	1956	-	Oct	lastSun	2:00	0	S
+@@ -1052,7 +1052,7 @@
+ #
+ # Pulaski County, Indiana, switched from eastern to central time in
+ # April 2006 and then switched back in March 2007.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	Pulaski	1946	1960	-	Apr	lastSun	2:00	1:00	D
+ Rule	Pulaski	1946	1954	-	Sep	lastSun	2:00	0	S
+ Rule	Pulaski	1955	1956	-	Oct	lastSun	2:00	0	S
+@@ -1094,7 +1094,7 @@
+ #
+ # Part of Kentucky left its clocks alone in 1974.
+ # This also includes Clark, Floyd, and Harrison counties in Indiana.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule Louisville	1921	only	-	May	1	2:00	1:00	D
+ Rule Louisville	1921	only	-	Sep	1	2:00	0	S
+ Rule Louisville	1941	only	-	Apr	lastSun	2:00	1:00	D
+@@ -1208,7 +1208,7 @@
+ # election Michigan voters narrowly repealed DST, effective 1969.
+ #
+ # Most of Michigan observed DST from 1973 on, but was a bit late in 1975.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule	Detroit	1948	only	-	Apr	lastSun	2:00	1:00	D
+ Rule	Detroit	1948	only	-	Sep	lastSun	2:00	0	S
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -1225,7 +1225,7 @@
+ #
+ # Dickinson, Gogebic, Iron, and Menominee Counties, Michigan,
+ # switched from EST to CST/CDT in 1973.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
+ Rule Menominee	1946	only	-	Apr	lastSun	2:00	1:00	D
+ Rule Menominee	1946	only	-	Sep	lastSun	2:00	0	S
+ Rule Menominee	1966	only	-	Apr	lastSun	2:00	1:00	D
+@@ -1395,7 +1395,7 @@
+ # Oct 31, to Oct 27, 1918 (and Sunday is a more likely transition day
+ # than Thursday) in all Canadian rulesets.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Canada	1918	only	-	Apr	14	2:00	1:00	D
+ Rule	Canada	1918	only	-	Oct	27	2:00	0	S
+ Rule	Canada	1942	only	-	Feb	 9	2:00	1:00	W # War
+@@ -1418,7 +1418,7 @@
+ # that follows the rules is the southeast corner, including Port Hope
+ # Simpson and Mary's Harbour, but excluding, say, Black Tickle.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	StJohns	1917	only	-	Apr	 8	2:00	1:00	D
+ Rule	StJohns	1917	only	-	Sep	17	2:00	0	S
+ # Whitman gives 1919 Apr 5 and 1920 Apr 5; go with Shanks & Pottenger.
+@@ -1520,7 +1520,7 @@
+ # bill say that it is "accommodating the customs and practices" of those
+ # regions, which suggests that they have always been in-line with Halifax.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Halifax	1916	only	-	Apr	 1	0:00	1:00	D
+ Rule	Halifax	1916	only	-	Oct	 1	0:00	0	S
+ Rule	Halifax	1920	only	-	May	 9	0:00	1:00	D
+@@ -1586,7 +1586,7 @@
+ # clear that this was the case since at least 1993.
+ # For now, assume it started in 1993.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Moncton	1933	1935	-	Jun	Sun>=8	1:00	1:00	D
+ Rule	Moncton	1933	1935	-	Sep	Sun>=8	1:00	0	S
+ Rule	Moncton	1936	1938	-	Jun	Sun>=1	1:00	1:00	D
+@@ -1795,7 +1795,7 @@
+ #   With some exceptions, the use of daylight saving may be said to be limited
+ # to those cities and towns lying between Quebec city and Windsor, Ont.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Toronto	1919	only	-	Mar	30	23:30	1:00	D
+ Rule	Toronto	1919	only	-	Oct	26	0:00	0	S
+ Rule	Toronto	1920	only	-	May	 2	2:00	1:00	D
+@@ -1893,7 +1893,7 @@
+ # starting 1966.  Since 02:00s is clearly correct for 1967 on, assume
+ # it was also 02:00s in 1966.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Winn	1916	only	-	Apr	23	0:00	1:00	D
+ Rule	Winn	1916	only	-	Sep	17	0:00	0	S
+ Rule	Winn	1918	only	-	Apr	14	2:00	1:00	D
+@@ -1984,7 +1984,7 @@
+ # long and rather painful to read.
+ # http://www.qp.gov.sk.ca/documents/English/Statutes/Statutes/T14.pdf
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Regina	1918	only	-	Apr	14	2:00	1:00	D
+ Rule	Regina	1918	only	-	Oct	27	2:00	0	S
+ Rule	Regina	1930	1934	-	May	Sun>=1	0:00	1:00	D
+@@ -2034,7 +2034,7 @@
+ # Boyer JP. Forcing Choice: The Risky Reward of Referendums. Dundum. 2017.
+ # ISBN 978-1459739123.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Edm	1918	1919	-	Apr	Sun>=8	2:00	1:00	D
+ Rule	Edm	1918	only	-	Oct	27	2:00	0	S
+ Rule	Edm	1919	only	-	May	27	2:00	0	S
+@@ -2143,7 +2143,7 @@
+ # https://searcharchives.vancouver.ca/daylight-saving-1918-starts-again-july-7-1941-start-d-s-sept-27-end-of-d-s-1941
+ # We have no further details, so omit them for now.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Vanc	1918	only	-	Apr	14	2:00	1:00	D
+ Rule	Vanc	1918	only	-	Oct	27	2:00	0	S
+ Rule	Vanc	1942	only	-	Feb	 9	2:00	1:00	W # War
+@@ -2472,7 +2472,19 @@
+ # consistency with nearby Dawson Creek, Creston, and Fort Nelson.
+ # https://yukon.ca/en/news/yukon-end-seasonal-time-change
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# From Andrew G. Smith (2020-09-24):
++# Yukon has completed its regulatory change to be on UTC -7 year-round....
++# http://www.gov.yk.ca/legislation/regs/oic2020_125.pdf
++# What we have done is re-defined Yukon Standard Time, as we are
++# authorized to do under section 33 of our Interpretation Act:
++# http://www.gov.yk.ca/legislation/acts/interpretation_c.pdf
++#
++# From Paul Eggert (2020-09-24):
++# tzdb uses the obsolete YST abbreviation for standard time in Yukon through
++# about 1970, and uses PST for standard time in Yukon since then.  Consistent
++# with that, use MST for -07, the new standard time in Yukon effective Nov. 1.
++
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	NT_YK	1918	only	-	Apr	14	2:00	1:00	D
+ Rule	NT_YK	1918	only	-	Oct	27	2:00	0	S
+ Rule	NT_YK	1919	only	-	May	25	2:00	1:00	D
+@@ -2526,12 +2538,12 @@
+ Zone America/Whitehorse	-9:00:12 -	LMT	1900 Aug 20
+ 			-9:00	NT_YK	Y%sT	1967 May 28  0:00
+ 			-8:00	NT_YK	P%sT	1980
+-			-8:00	Canada	P%sT	2020 Mar  8  2:00
++			-8:00	Canada	P%sT	2020 Nov  1
+ 			-7:00	-	MST
+ Zone America/Dawson	-9:17:40 -	LMT	1900 Aug 20
+ 			-9:00	NT_YK	Y%sT	1973 Oct 28  0:00
+ 			-8:00	NT_YK	P%sT	1980
+-			-8:00	Canada	P%sT	2020 Mar  8  2:00
++			-8:00	Canada	P%sT	2020 Nov  1
+ 			-7:00	-	MST
+ 
+ 
+@@ -2746,7 +2758,7 @@
+ # 5- The islands, reefs and keys shall take their timezone from the
+ #    longitude they are located at.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Mexico	1939	only	-	Feb	5	0:00	1:00	D
+ Rule	Mexico	1939	only	-	Jun	25	0:00	0	S
+ Rule	Mexico	1940	only	-	Dec	9	0:00	1:00	D
+@@ -2951,7 +2963,7 @@
+ # rules to sync with the U.S. starting in 2007....
+ # http://www.jonesbahamas.com/?c=45&a=10412
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Bahamas	1964	1975	-	Oct	lastSun	2:00	0	S
+ Rule	Bahamas	1964	1975	-	Apr	lastSun	2:00	1:00	D
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -2963,7 +2975,7 @@
+ 
+ # For 1899 Milne gives -3:58:29.2; round that.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Barb	1977	only	-	Jun	12	2:00	1:00	D
+ Rule	Barb	1977	1978	-	Oct	Sun>=1	2:00	0	S
+ Rule	Barb	1978	1980	-	Apr	Sun>=15	2:00	1:00	D
+@@ -2976,7 +2988,7 @@
+ 
+ # Belize
+ # Whitman entirely disagrees with Shanks; go with Shanks & Pottenger.
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Belize	1918	1942	-	Oct	Sun>=2	0:00	0:30	-0530
+ Rule	Belize	1919	1943	-	Feb	Sun>=9	0:00	0	CST
+ Rule	Belize	1973	only	-	Dec	 5	0:00	1:00	CDT
+@@ -3013,7 +3025,7 @@
+ 
+ # Milne gives -5:36:13.3 as San José mean time; round to nearest.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	CR	1979	1980	-	Feb	lastSun	0:00	1:00	D
+ Rule	CR	1979	1980	-	Jun	Sun>=1	0:00	0	S
+ Rule	CR	1991	1992	-	Jan	Sat>=15	0:00	1:00	D
+@@ -3187,7 +3199,7 @@
+ # From Paul Eggert (2012-11-03):
+ # For now, assume the future rule is first Sunday in November.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Cuba	1928	only	-	Jun	10	0:00	1:00	D
+ Rule	Cuba	1928	only	-	Oct	10	0:00	0	S
+ Rule	Cuba	1940	1942	-	Jun	Sun>=1	0:00	1:00	D
+@@ -3256,7 +3268,7 @@
+ # decided to revert.
+ 
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	DR	1966	only	-	Oct	30	0:00	1:00	EDT
+ Rule	DR	1967	only	-	Feb	28	0:00	0	EST
+ Rule	DR	1969	1973	-	Oct	lastSun	0:00	0:30	-0430
+@@ -3273,7 +3285,7 @@
+ 
+ # El Salvador
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Salv	1987	1988	-	May	Sun>=1	0:00	1:00	D
+ Rule	Salv	1987	1988	-	Sep	lastSun	0:00	0	S
+ # There are too many San Salvadors elsewhere, so use America/El_Salvador
+@@ -3302,7 +3314,7 @@
+ # (2006-04-19), says DST ends at 24:00.  See
+ # http://www.sieca.org.gt/Sitio_publico/Energeticos/Doc/Medidas/Cambio_Horario_Nac_190406.pdf
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Guat	1973	only	-	Nov	25	0:00	1:00	D
+ Rule	Guat	1974	only	-	Feb	24	0:00	0	S
+ Rule	Guat	1983	only	-	May	21	0:00	1:00	D
+@@ -3383,7 +3395,7 @@
+ # I have not been able to find a more authoritative source:
+ # https://www.haitilibre.com/en/news-20319-haiti-notices-time-change-in-haiti.html
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Haiti	1983	only	-	May	8	0:00	1:00	D
+ Rule	Haiti	1984	1987	-	Apr	lastSun	0:00	1:00	D
+ Rule	Haiti	1983	1987	-	Oct	lastSun	0:00	0	S
+@@ -3431,7 +3443,7 @@
+ # http://www.laprensahn.com/pais_nota.php?id04962=7386
+ # So it seems that Honduras will not enter DST this year....
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Hond	1987	1988	-	May	Sun>=1	0:00	1:00	D
+ Rule	Hond	1987	1988	-	Sep	lastSun	0:00	0	S
+ Rule	Hond	2006	only	-	May	Sun>=1	0:00	1:00	D
+@@ -3522,7 +3534,7 @@
+ # The natural sun time is restored in all the national territory, in that the
+ # time is returned one hour at 01:00 am of October 1 of 2006.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Nic	1979	1980	-	Mar	Sun>=16	0:00	1:00	D
+ Rule	Nic	1979	1980	-	Jun	Mon>=23	0:00	0	S
+ Rule	Nic	2005	only	-	Apr	10	0:00	1:00	D
+diff --git a/make/data/tzdata/pacificnew b/make/data/tzdata/pacificnew
+deleted file mode 100644
+--- a/make/data/tzdata/pacificnew
++++ /dev/null
+@@ -1,52 +0,0 @@
+-#
+-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+-#
+-# This code is free software; you can redistribute it and/or modify it
+-# under the terms of the GNU General Public License version 2 only, as
+-# published by the Free Software Foundation.  Oracle designates this
+-# particular file as subject to the "Classpath" exception as provided
+-# by Oracle in the LICENSE file that accompanied this code.
+-#
+-# This code 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 General Public License
+-# version 2 for more details (a copy is included in the LICENSE file that
+-# accompanied this code).
+-#
+-# You should have received a copy of the GNU General Public License version
+-# 2 along with this work; if not, write to the Free Software Foundation,
+-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+-#
+-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+-# or visit www.oracle.com if you need additional information or have any
+-# questions.
+-#
+-# tzdb data for proposed US election time (this file is obsolete)
+-
+-# This file is in the public domain, so clarified as of
+-# 2009-05-17 by Arthur David Olson.
+-
+-# From Arthur David Olson (1989-04-05):
+-# On 1989-04-05, the U. S. House of Representatives passed (238-154) a bill
+-# establishing "Pacific Presidential Election Time"; it was not acted on
+-# by the Senate or signed into law by the President.
+-# You might want to change the "PE" (Presidential Election) below to
+-# "Q" (Quadrennial) to maintain three-character zone abbreviations.
+-# If you're really conservative, you might want to change it to "D".
+-# Avoid "L" (Leap Year), which won't be true in 2100.
+-
+-# If Presidential Election Time is ever established, replace "XXXX" below
+-# with the year the law takes effect and uncomment the "##" lines.
+-
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
+-## Rule	Twilite	XXXX	max	-	Apr	Sun>=1	2:00	1:00	D
+-## Rule	Twilite	XXXX	max	uspres	Oct	lastSun	2:00	1:00	PE
+-## Rule	Twilite	XXXX	max	uspres	Nov	Sun>=7	2:00	0	S
+-## Rule	Twilite	XXXX	max	nonpres	Oct	lastSun	2:00	0	S
+-
+-# Zone	NAME			STDOFF	RULES/SAVE	FORMAT	[UNTIL]
+-## Zone	America/Los_Angeles-PET	-8:00	US		P%sT	XXXX
+-##				-8:00	Twilite		P%sT
+-
+-# For now...
+-Link	America/Los_Angeles	US/Pacific-New	##
+diff --git a/make/data/tzdata/southamerica b/make/data/tzdata/southamerica
+--- a/make/data/tzdata/southamerica
++++ b/make/data/tzdata/southamerica
+@@ -71,7 +71,7 @@
+ # I am sending modifications to the Argentine time zone table...
+ # AR was chosen because they are the ISO letters that represent Argentina.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Arg	1930	only	-	Dec	 1	0:00	1:00	-
+ Rule	Arg	1931	only	-	Apr	 1	0:00	0	-
+ Rule	Arg	1931	only	-	Oct	15	0:00	1:00	-
+@@ -792,7 +792,7 @@
+ # From Paul Eggert (2013-10-17):
+ # For now, assume western Amazonas will change as well.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ # Decree 20,466 <http://pcdsh01.on.br/HV20466.htm> (1931-10-01)
+ # Decree 21,896 <http://pcdsh01.on.br/HV21896.htm> (1932-01-10)
+ Rule	Brazil	1931	only	-	Oct	 3	11:00	1:00	-
+@@ -1281,7 +1281,7 @@
+ # For now, assume that they will not revert,
+ # since they have extended the expiration date once already.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Chile	1927	1931	-	Sep	 1	0:00	1:00	-
+ Rule	Chile	1928	1932	-	Apr	 1	0:00	0	-
+ Rule	Chile	1968	only	-	Nov	 3	4:00u	1:00	-
+@@ -1381,7 +1381,7 @@
+ # Milne gives 4:56:16.4 for Bogotá time in 1899; round to nearest.  He writes,
+ # "A variation of fifteen minutes in the public clocks of Bogota is not rare."
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	CO	1992	only	-	May	 3	0:00	1:00	-
+ Rule	CO	1993	only	-	Apr	 4	0:00	0	-
+ # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
+@@ -1441,7 +1441,7 @@
+ # (Not one step back), the clocks went back in 1993 and the experiment was not
+ # repeated.  For now, assume transitions were at 00:00 local time country-wide.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Ecuador	1992	only	-	Nov	28	0:00	1:00	-
+ Rule	Ecuador	1993	only	-	Feb	 5	0:00	0	-
+ #
+@@ -1535,7 +1535,7 @@
+ # For now we will assume permanent -03 for the Falklands
+ # until advised differently (to apply for 2012 and beyond, after the 2011
+ # experiment was apparently successful.)
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Falk	1937	1938	-	Sep	lastSun	0:00	1:00	-
+ Rule	Falk	1938	1942	-	Mar	Sun>=19	0:00	0	-
+ Rule	Falk	1939	only	-	Oct	1	0:00	1:00	-
+@@ -1581,7 +1581,7 @@
+ # No time of the day is established for the adjustment, so people normally
+ # adjust their clocks at 0 hour of the given dates.
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Para	1975	1988	-	Oct	 1	0:00	1:00	-
+ Rule	Para	1975	1978	-	Mar	 1	0:00	0	-
+ Rule	Para	1979	1991	-	Apr	 1	0:00	0	-
+@@ -1674,7 +1674,7 @@
+ # From Paul Eggert (2006-03-22):
+ # Shanks & Pottenger don't have this transition.  Assume 1986 was like 1987.
+ 
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Peru	1938	only	-	Jan	 1	0:00	1:00	-
+ Rule	Peru	1938	only	-	Apr	 1	0:00	0	-
+ Rule	Peru	1938	1939	-	Sep	lastSun	0:00	1:00	-
+@@ -1770,7 +1770,7 @@
+ # https://www.impo.com.uy/diariooficial/1926/03/10/2
+ # https://www.impo.com.uy/diariooficial/1926/03/18/2
+ #
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
++# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
+ Rule	Uruguay	1923	1925	-	Oct	 1	 0:00	0:30	-
+ Rule	Uruguay	1924	1926	-	Apr	 1	 0:00	0	-
+ # From Tim Parenti (2018-02-15):
+diff --git a/make/data/tzdata/systemv b/make/data/tzdata/systemv
+deleted file mode 100644
+--- a/make/data/tzdata/systemv
++++ /dev/null
+@@ -1,62 +0,0 @@
+-#
+-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+-#
+-# This code is free software; you can redistribute it and/or modify it
+-# under the terms of the GNU General Public License version 2 only, as
+-# published by the Free Software Foundation.  Oracle designates this
+-# particular file as subject to the "Classpath" exception as provided
+-# by Oracle in the LICENSE file that accompanied this code.
+-#
+-# This code 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 General Public License
+-# version 2 for more details (a copy is included in the LICENSE file that
+-# accompanied this code).
+-#
+-# You should have received a copy of the GNU General Public License version
+-# 2 along with this work; if not, write to the Free Software Foundation,
+-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+-#
+-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+-# or visit www.oracle.com if you need additional information or have any
+-# questions.
+-#
+-# tzdb data for System V rules (this file is obsolete)
+-
+-# This file is in the public domain, so clarified as of
+-# 2009-05-17 by Arthur David Olson.
+-
+-# Old rules, should the need arise.
+-# No attempt is made to handle Newfoundland, since it cannot be expressed
+-# using the System V "TZ" scheme (half-hour offset), or anything outside
+-# North America (no support for non-standard DST start/end dates), nor
+-# the changes in the DST rules in the US after 1976 (which occurred after
+-# the old rules were written).
+-#
+-# If you need the old rules, uncomment ## lines.
+-# Compile this *without* leap second correction for true conformance.
+-
+-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
+-Rule	SystemV	min	1973	-	Apr	lastSun	2:00	1:00	D
+-Rule	SystemV	min	1973	-	Oct	lastSun	2:00	0	S
+-Rule	SystemV	1974	only	-	Jan	6	2:00	1:00	D
+-Rule	SystemV	1974	only	-	Nov	lastSun	2:00	0	S
+-Rule	SystemV	1975	only	-	Feb	23	2:00	1:00	D
+-Rule	SystemV	1975	only	-	Oct	lastSun	2:00	0	S
+-Rule	SystemV	1976	max	-	Apr	lastSun	2:00	1:00	D
+-Rule	SystemV	1976	max	-	Oct	lastSun	2:00	0	S
+-
+-# Zone	NAME		STDOFF	RULES/SAVE	FORMAT	[UNTIL]
+-## Zone	SystemV/AST4ADT	-4:00	SystemV		A%sT
+-## Zone	SystemV/EST5EDT	-5:00	SystemV		E%sT
+-## Zone	SystemV/CST6CDT	-6:00	SystemV		C%sT
+-## Zone	SystemV/MST7MDT	-7:00	SystemV		M%sT
+-## Zone	SystemV/PST8PDT	-8:00	SystemV		P%sT
+-## Zone	SystemV/YST9YDT	-9:00	SystemV		Y%sT
+-## Zone	SystemV/AST4	-4:00	-		AST
+-## Zone	SystemV/EST5	-5:00	-		EST
+-## Zone	SystemV/CST6	-6:00	-		CST
+-## Zone	SystemV/MST7	-7:00	-		MST
+-## Zone	SystemV/PST8	-8:00	-		PST
+-## Zone	SystemV/YST9	-9:00	-		YST
+-## Zone	SystemV/HST10	-10:00	-		HST
+diff --git a/make/gendata/GendataTZDB.gmk b/make/gendata/GendataTZDB.gmk
+--- a/make/gendata/GendataTZDB.gmk
++++ b/make/gendata/GendataTZDB.gmk
+@@ -29,7 +29,7 @@
+ # Time zone data file creation
+ #
+ TZDATA_DIR := $(TOPDIR)/make/data/tzdata
+-TZDATA_TZFILE := africa antarctica asia australasia europe northamerica pacificnew southamerica backward etcetera gmt jdk11_backward
++TZDATA_TZFILE := africa antarctica asia australasia europe northamerica southamerica backward etcetera gmt jdk11_backward
+ TZDATA_TZFILES := $(addprefix $(TZDATA_DIR)/,$(TZDATA_TZFILE))
+ 
+ GENDATA_TZDB_DAT := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)/tzdb.dat
+diff --git a/src/java.base/aix/conf/tzmappings b/src/java.base/aix/conf/tzmappings
+--- a/src/java.base/aix/conf/tzmappings
++++ b/src/java.base/aix/conf/tzmappings
+@@ -568,7 +568,6 @@
+ US/Michigan	America/New_York
+ US/Mountain	America/Denver
+ US/Pacific	America/Los_Angeles
+-US/Pacific-New	America/Los_Angeles
+ US/Samoa	Pacific/Pago_Pago
+ USAST-2	Africa/Johannesburg
+ USAST-2USADT	Europe/Istanbul
+diff --git a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
+--- a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
++++ b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
+@@ -1063,7 +1063,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
+@@ -1035,7 +1035,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
+--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
++++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
+@@ -1037,7 +1037,6 @@
+             {"US/Michigan", EST},
+             {"US/Mountain", MST},
+             {"US/Pacific", PST},
+-            {"US/Pacific-New", PST},
+             {"US/Samoa", SAMOA},
+             {"VST", ICT},
+             {"W-SU", MSK},
+diff --git a/test/jdk/java/time/test/java/time/format/ZoneName.java b/test/jdk/java/time/test/java/time/format/ZoneName.java
+--- a/test/jdk/java/time/test/java/time/format/ZoneName.java
++++ b/test/jdk/java/time/test/java/time/format/ZoneName.java
+@@ -589,7 +589,6 @@
+         "US/Michigan", "America_Eastern", "America/New_York",
+         "US/Mountain", "America_Mountain", "America/Denver",
+         "US/Pacific", "America_Pacific", "America/Los_Angeles",
+-        "US/Pacific-New", "America_Pacific", "America/Los_Angeles",
+         "US/Samoa", "Samoa", "Pacific/Pago_Pago",
+         "W-SU", "Moscow", "Europe/Moscow",
+ 
+@@ -973,7 +972,6 @@
+         "US/Michigan", "America/Detroit",
+         "US/Mountain", "America/Denver",
+         "US/Pacific", "America/Los_Angeles",
+-        "US/Pacific-New", "America/Los_Angeles",
+         "US/Samoa", "Pacific/Pago_Pago",
+         "UTC", "Etc/UTC",
+         "Universal", "Etc/UTC",
+diff --git a/test/jdk/java/time/test/java/time/zone/TestZoneRules.java b/test/jdk/java/time/test/java/time/zone/TestZoneRules.java
+--- a/test/jdk/java/time/test/java/time/zone/TestZoneRules.java
++++ b/test/jdk/java/time/test/java/time/zone/TestZoneRules.java
+@@ -88,7 +88,7 @@
+             {CASABLANCA, LocalDate.of(2019, 5, 6), ZoneOffset.ofHours(0), ZoneOffset.ofHours(0), false},
+             {CASABLANCA, LocalDate.of(2037, 10, 5), ZoneOffset.ofHours(0), ZoneOffset.ofHours(0), false},
+             {CASABLANCA, LocalDate.of(2037, 11, 16), ZoneOffset.ofHours(1), ZoneOffset.ofHours(0), true},
+-            {CASABLANCA, LocalDate.of(2038, 11, 1), ZoneOffset.ofHours(1), ZoneOffset.ofHours(0), true},
++            {CASABLANCA, LocalDate.of(2038, 11, 8), ZoneOffset.ofHours(1), ZoneOffset.ofHours(0), true},
+         };
+     }
+ 
+diff --git a/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java b/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
+--- a/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
++++ b/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
+@@ -48,7 +48,7 @@
+         String TESTDIR = System.getProperty("test.dir", ".");
+         Path tzdir = Paths.get(System.getProperty("test.root"),
+             "..", "..", "make", "data", "tzdata");
+-        String tzfiles = "africa antarctica asia australasia europe northamerica pacificnew southamerica backward etcetera systemv gmt";
++        String tzfiles = "africa antarctica asia australasia europe northamerica southamerica backward etcetera gmt";
+         Path jdk_tzdir = Paths.get(System.getProperty("test.src"), "tzdata_jdk");
+         String jdk_tzfiles = "jdk11_backward";
+         String zidir = TESTDIR + File.separator + "zi";
+@@ -215,8 +215,9 @@
+ 
+         // test getAvailableIDs(raw);
+         zids_new = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
+-        //Arrays.sort(zids_new);
++        Arrays.sort(zids_new);
+         zids_old = ZoneInfoOld.getAvailableIDs(-8 * 60 * 60 * 1000);
++        Arrays.sort(zids_old);
+         if (!Arrays.equals(zids_new, zids_old)) {
+             System.out.println("------------------------");
+             System.out.println("NEW.getAvailableIDs(-8:00)");
diff --git a/SOURCES/rh1883849-cryptoki_access_to_sunjce_with_security_manager.patch b/SOURCES/rh1883849-cryptoki_access_to_sunjce_with_security_manager.patch
new file mode 100644
index 0000000..57bb977
--- /dev/null
+++ b/SOURCES/rh1883849-cryptoki_access_to_sunjce_with_security_manager.patch
@@ -0,0 +1,60 @@
+# HG changeset patch
+# User Zdenek Zambersky <zzambers@redhat.com>
+# Date 1601403587 -7200
+#      Tue Sep 29 20:19:47 2020 +0200
+# Node ID f77ac813eee61b2e9616b2d71a2c5372d0cbd158
+# Parent  d484fdfcc7d5c21812de8a0712236d077b0f2dde
+Fixed default policy for jdk.crypto.cryptoki
+
+diff -r d484fdfcc7d5 -r f77ac813eee6 src/java.base/share/lib/security/default.policy
+--- openjdk.orig/src/java.base/share/lib/security/default.policy	Wed Sep 02 07:36:15 2020 +0200
++++ openjdk/src/java.base/share/lib/security/default.policy	Tue Sep 29 20:19:47 2020 +0200
+@@ -124,6 +124,8 @@
+ grant codeBase "jrt:/jdk.crypto.cryptoki" {
+     permission java.lang.RuntimePermission
+                    "accessClassInPackage.sun.security.*";
++    permission java.lang.RuntimePermission
++                   "accessClassInPackage.com.sun.crypto.provider";
+     permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.ch";
+     permission java.lang.RuntimePermission "loadLibrary.j2pkcs11";
+     permission java.util.PropertyPermission "sun.security.pkcs11.allowSingleThreadedModules", "read";
+# HG changeset patch
+# User Zdenek Zambersky <zzambers@redhat.com>
+# Date 1601419086 -7200
+#      Wed Sep 30 00:38:06 2020 +0200
+# Node ID 02c8b154f728be3dd06239a98519d654e2127186
+# Parent  f77ac813eee61b2e9616b2d71a2c5372d0cbd158
+P11Util: Create provider in priviledged block
+
+diff -r f77ac813eee6 -r 02c8b154f728 src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Util.java
+--- openjdk.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Util.java	Tue Sep 29 20:19:47 2020 +0200
++++ openjdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Util.java	Wed Sep 30 00:38:06 2020 +0200
+@@ -87,14 +87,20 @@
+         }
+         p = Security.getProvider(providerName);
+         if (p == null) {
+-            try {
+-                @SuppressWarnings("deprecation")
+-                Object o = Class.forName(className).newInstance();
+-                p = (Provider)o;
+-            } catch (Exception e) {
+-                throw new ProviderException
+-                        ("Could not find provider " + providerName, e);
+-            }
++            p = AccessController.doPrivileged(
++                new PrivilegedAction<Provider>() {
++                    public Provider run() {
++                        try {
++                            @SuppressWarnings("deprecation")
++                            Object o = Class.forName(className).newInstance();
++                            return (Provider) o;
++                        } catch (Exception e) {
++                            throw new ProviderException
++                                ("Could not find provider " + providerName, e);
++                        }
++                    }
++                }
++            );
+         }
+         return p;
+     }
diff --git a/SPECS/java-11-openjdk.spec b/SPECS/java-11-openjdk.spec
index f28e61d..b3b999c 100644
--- a/SPECS/java-11-openjdk.spec
+++ b/SPECS/java-11-openjdk.spec
@@ -81,15 +81,34 @@
 # we need to distinguish between big and little endian PPC64
 %global ppc64le         ppc64le
 %global ppc64be         ppc64 ppc64p7
+# Set of architectures which support multiple ABIs
 %global multilib_arches %{power64} sparc64 x86_64
-%global jit_arches      %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm} s390x
-%global aot_arches      x86_64 %{aarch64}
+# Set of architectures for which we build slowdebug builds
+%global debug_arches    %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x
+# Set of architectures for which we build fastdebug builds
 %global fastdebug_arches x86_64
+# Set of architectures with a Just-In-Time (JIT) compiler
+%global jit_arches      %{debug_arches} %{arm}
+# Set of architectures which run a full bootstrap cycle
+%global bootstrap_arches %{jit_arches}
+# Set of architectures which support SystemTap tapsets
+%global systemtap_arches %{jit_arches}
+# Set of architectures with a Ahead-Of-Time (AOT) compiler
+%global aot_arches      x86_64 %{aarch64}
+# Set of architectures which support the serviceability agent
+%global sa_arches       %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
+# Set of architectures which support class data sharing
+# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
+# However, it does segfault on the Zero assembler port, so currently JIT only
+%global share_arches    %{jit_arches}
+# Set of architectures for which we build the Shenandoah garbage collector
+%global shenandoah_arches x86_64 %{aarch64}
+# Set of architectures for which we build the Z garbage collector
+%global zgc_arches x86_64
 
 # By default, we build a debug build during main build on JIT architectures
 %if %{with slowdebug}
-%ifarch %{jit_arches}
-%ifnarch %{arm}
+%ifarch %{debug_arches}
 %global include_debug_build 1
 %else
 %global include_debug_build 0
@@ -97,15 +116,23 @@
 %else
 %global include_debug_build 0
 %endif
-%else
-%global include_debug_build 0
-%endif
 
-# On x86_64 and AArch64, we use the Shenandoah HotSpot
-%ifarch x86_64 %{aarch64}
+# On certain architectures, we compile the Shenandoah GC
+%ifarch %{shenandoah_arches}
 %global use_shenandoah_hotspot 1
+%global shenandoah_feature shenandoahgc
 %else
 %global use_shenandoah_hotspot 0
+%global shenandoah_feature -shenandoahgc
+%endif
+
+# On certain architectures, we compile the ZGC
+%ifarch %{zgc_arches}
+%global use_zgc_hotspot 1
+%global zgc_feature zgc
+%else
+%global use_zgc_hotspot 0
+%global zgc_feature -zgc
 %endif
 
 # By default, we build a fastdebug build during main build only on fastdebug architectures
@@ -135,7 +162,7 @@
 # Test slowdebug first as it provides the best diagnostics
 %global rev_build_loop  %{slowdebug_build} %{fastdebug_build} %{normal_build}
 
-%ifarch %{jit_arches}
+%ifarch %{bootstrap_arches}
 %global bootstrap_build 1
 %else
 %global bootstrap_build 1
@@ -225,7 +252,7 @@
 %global stapinstall %{nil}
 %endif
 
-%ifarch %{jit_arches}
+%ifarch %{systemtap_arches}
 %global with_systemtap 1
 %else
 %global with_systemtap 0
@@ -233,14 +260,15 @@
 
 # New Version-String scheme-style defines
 %global majorver 11
-%global securityver 8
+# If you bump majorver, you must also bump vendor_version_string
+# Used via new version scheme. JDK 11 was
+# GA'ed in September 2018 => 18.9
+%global vendor_version_string 18.9
+%global securityver 9
 # buildjdkver is usually same as %%{majorver},
 # but in time of bootstrap of next jdk, it is majorver-1, 
 # and this it is better to change it here, on single place
 %global buildjdkver %{majorver}
-# Used via new version scheme. JDK 11 was
-# GA'ed in September 2018 => 18.9
-%global vendor_version_string 18.9
 # Add LTS designator for RHEL builds
 %if 0%{?rhel}
   %global lts_designator "LTS"
@@ -251,9 +279,24 @@
 %endif
 
 # Define vendor information used by OpenJDK
-%global oj_vendor "Oracle Corporation"
-%global oj_vendor_url "https://openjdk.java.net/"
-%global oj_vendor_bug_url "https://bugreport.java.com/bugreport/"
+%global oj_vendor Red Hat, Inc.
+%global oj_vendor_url "https://www.redhat.com/"
+# Define what url should JVM offer in case of a crash report
+# order may be important, epel may have rhel declared
+%if 0%{?epel}
+%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel}
+%else
+%if 0%{?fedora}
+# Does not work for rawhide, keeps the version field empty
+%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
+%else
+%if 0%{?rhel}
+%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name}
+%else
+%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi
+%endif
+%endif
+%endif
 
 # Define IcedTea version used for SystemTap tapsets and desktop file
 %global icedteaver      3.15.0
@@ -263,8 +306,8 @@
 %global origin_nice     OpenJDK
 %global top_level_dir_name   %{origin}
 %global minorver        0
-%global buildver        10
-%global rpmrelease      6
+%global buildver        11
+%global rpmrelease      2
 #%%global tagsuffix     %%{nil}
 # priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
 %if %is_system_jdk
@@ -365,13 +408,9 @@ exit 0
 
 
 %define post_headless() %{expand:
-%ifarch %{jit_arches}
-# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
-%ifnarch %{ppc64le}
-# see https://bugzilla.redhat.com/show_bug.cgi?id=513605
+%ifarch %{share_arches}
 %{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
 %endif
-%endif
 
 PRIORITY=%{priority}
 if [ "%{?1}" == %{debug_suffix} ]; then
@@ -464,11 +503,9 @@ alternatives \\
 %endif
   --slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
   --slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
-%ifarch %{jit_arches}
-%ifnarch s390x
+%ifarch %{sa_arches}
   --slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
 %endif
-%endif
   --slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
   --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
   --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
@@ -660,12 +697,10 @@ exit 0
 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
-# Zero and S390x don't have SA
-%ifarch %{jit_arches}
-%ifnarch s390x
+# Some architectures don't have the serviceability agent
+%ifarch %{sa_arches}
 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
 %endif
-%endif
 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libunpack.so
@@ -683,11 +718,9 @@ exit 0
 %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
 %{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
-%ifarch %{jit_arches}
-%ifnarch %{power64}
+%ifarch %{share_arches}
 %attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
 %endif
-%endif
 %dir %{etcjavasubdir}
 %dir %{etcjavadir -- %{?1}}
 %dir %{etcjavadir -- %{?1}}/lib
@@ -758,12 +791,10 @@ exit 0
 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
-# Zero and S390x don't have SA
-%ifarch %{jit_arches}
-%ifnarch s390x
+# Some architectures don't have the serviceability agent
+%ifarch %{sa_arches}
 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
 %endif
-%endif
 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
@@ -861,22 +892,10 @@ exit 0
 }
 
 %define files_static_libs() %{expand:
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjli.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfdlibm.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.a
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc/lib*.a
 }
 
 %define files_javadoc() %{expand:
@@ -934,7 +953,8 @@ Requires: ca-certificates
 # Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
 Requires: javapackages-filesystem
 # Require zone-info data provided by tzdata-java sub-package
-# 2020a required as of JDK-8243541 in 11.0.8+4
+# 2020b required as of JDK-8254177 in October CPU
+# Temporarily held at 2020a until 2020b has shipped
 Requires: tzdata-java >= 2020a
 # for support of kernel stream control
 # libsctp.so.1 is being `dlopen`ed on demand
@@ -1097,7 +1117,7 @@ URL:      http://openjdk.java.net/
 
 # to regenerate source0 (jdk) run update_package.sh
 # update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
-Source0: shenandoah-jdk%{majorver}-shenandoah-jdk-%{newjavaver}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz
+Source0: jdk-updates-jdk%{majorver}u-jdk-%{newjavaver}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz
 
 # Use 'icedtea_sync.sh' to update the following
 # They are based on code contained in the IcedTea project (3.x).
@@ -1150,6 +1170,8 @@ Patch1003: rh1842572-rsa_default_for_keytool.patch
 Patch1004: rh1860986-disable_tlsv1.3_in_fips_mode.patch
 # RH1868740: FIPS: IllegalAccessException by pkcs11 provider
 Patch1005: rh1868740-cryptoki_access_to_sunjce.patch
+# RH1883849: FIPS: IllegalAccessException by pkcs11 provider with security manager on
+Patch1006: rh1883849-cryptoki_access_to_sunjce_with_security_manager.patch
 
 #############################################
 #
@@ -1175,30 +1197,24 @@ Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
 Patch6:    rh1566890-CVE_2018_3639-speculative_store_bypass.patch
 # PR3695: Allow use of system crypto policy to be disabled by the user
 Patch7: pr3695-toggle_system_crypto_policy.patch
-# S390 ambiguous log2_intptr call
-Patch8: s390-8214206_fix.patch
 # RH1868754: FIPS: Ciphers remain in broken state (unusable), after being supplied with wrongly sized buffer
 Patch11: rh1868754-pkcs11_cancel_on_failure.patch
 
 #############################################
 #
-# Patches appearing in 11.0.9
+# Patches appearing in 11.0.10
 #
 # This section includes patches which are present
 # in the listed OpenJDK 11u release and should be
 # able to be removed once that release is out
 # and used by this RPM.
 #############################################
-# JDK-8251117, RH1860990: Cannot check P11Key size in P11Cipher and P11AEADCipher
-Patch9: jdk8251117-rh1860990-pkcs11_key_length.patch
-# JDK-8252258, RH1868406: [11u] JDK-8242154 changes the default vendor
-Patch10: jdk8252258-rh1868406-fix_bad_vendor.patch
-
-#############################################
-#
-# JDK 9+ only patches
-#
-#############################################
+# JDK-8222286: S390 ambiguous log2_intptr call
+Patch8: s390-8214206_fix.patch
+# JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b
+Patch9: jdk8254177-tzdata2020b.patch
+# JDK-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
+Patch10: jdk8236512-pkcs11_incorrrect_session_closure.patch
 
 BuildRequires: autoconf
 BuildRequires: automake
@@ -1236,7 +1252,8 @@ BuildRequires: java-%{buildjdkver}-openjdk-devel
 %ifnarch %{jit_arches}
 BuildRequires: libffi-devel
 %endif
-# 2020a required as of JDK-8243541 in 11.0.8+4
+# 2020b required as of JDK-8254177 in October CPU
+# Temporarily held at 2020a until 2020b has shipped
 BuildRequires: tzdata-java >= 2020a
 # Earlier versions have a bug in tree vectorization on PPC
 BuildRequires: gcc >= 4.8.3-8
@@ -1572,6 +1589,7 @@ popd # openjdk
 %patch1003
 %patch1004
 %patch1005
+%patch1006
 
 # Extract systemtap tapsets
 %if %{with_systemtap}
@@ -1680,6 +1698,10 @@ bash ../configure \
     --with-version-pre="%{ea_designator}" \
     --with-version-opt=%{lts_designator} \
     --with-vendor-version-string="%{vendor_version_string}" \
+    --with-vendor-name="%{oj_vendor}" \
+    --with-vendor-url="%{oj_vendor_url}" \
+    --with-vendor-bug-url="%{oj_vendor_bug_url}" \
+    --with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
     --with-boot-jdk=/usr/lib/jvm/java-%{buildjdkver}-openjdk \
     --with-debug-level=$debugbuild \
     --with-native-debug-symbols=internal \
@@ -1696,9 +1718,7 @@ bash ../configure \
     --with-extra-ldflags="%{ourldflags}" \
     --with-num-cores="$NUM_PROC" \
     --disable-javac-server \
-%ifarch x86_64
-    --with-jvm-features=zgc \
-%endif
+    --with-jvm-features="%{shenandoah_feature},%{zgc_feature}" \
     --disable-warnings-as-errors
 
 # Debug builds don't need same targets as release for
@@ -1772,7 +1792,7 @@ $JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
 
 # Check correct vendor values have been set
 $JAVA_HOME/bin/javac -d . %{SOURCE16}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") %{oj_vendor} %{oj_vendor_url} %{oj_vendor_bug_url}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" %{oj_vendor_url} %{oj_vendor_bug_url}
 
 # Check debug symbols in static libraries (smoke test)
 export STATIC_LIBS_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{static_libs_image}
@@ -1912,8 +1932,9 @@ pushd %{buildoutputdir $suffix}/images/%{jdkimage}
 
 popd
 # Install static libs artefacts
+mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
 cp -a %{buildoutputdir -- $suffix}/images/%{static_libs_image}/lib/*.a \
-  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib
+  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
 
 
 if ! echo $suffix | grep -q "debug" ; then
@@ -2218,6 +2239,98 @@ end
 %endif
 
 %changelog
+* Wed Oct 21 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-2
+- Add backport of JDK-8236512 to correct use of killSession
+- Resolves: rhbz#1889497
+
+* Mon Oct 19 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.9.11-2
+- Fix directory ownership of static-libs package
+- Resolves: rhbz#1876665
+
+* Thu Oct 15 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-1
+- Delay tzdata 2020b dependency until tzdata update has shipped.
+- Resolves: rhbz#1876665
+
+* Thu Oct 15 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-1
+- Update to jdk-11.0.9+11
+- Update release notes for 11.0.9 release.
+- Add backport of JDK-8254177 to update to tzdata 2020b
+- Require tzdata 2020b due to resource changes in JDK-8254177
+- This tarball is embargoed until 2020-10-20 @ 1pm PT.
+- Resolves: rhbz#1876665
+
+* Thu Oct 15 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.10-0.3.ea
+- Improve quoting of vendor name
+- Resolves: rhbz#1883849
+
+* Wed Oct 14 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.10-0.3.ea
+- Set vendor property and vendor URLs
+- Made URLs to be preconfigured by OS
+- Moved vendor_version_string to a better place
+- Resolves: rhbz#1883849
+
+* Wed Oct 14 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.10-0.2.ea
+- Add patch to allow the PKCS11 provider access to the SunJCE provider with the security manager enabled
+- Resolves: rhbz#1883849
+
+* Tue Oct 13 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.10-0.1.ea
+- Update to jdk-11.0.9+10 (EA)
+- Resolves: rhbz#1876665
+
+* Tue Oct 13 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.9-0.1.ea
+- Update to jdk-11.0.9+9 (EA)
+- Resolves: rhbz#1876665
+
+* Tue Oct 13 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.8-0.1.ea
+- Update to jdk-11.0.9+8 (EA)
+- Remove JDK-8252258/RH1868406 now applied upstream.
+- Resolves: rhbz#1876665
+
+* Tue Oct 13 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.7-0.1.ea
+- Update to jdk-11.0.9+7 (EA)
+- Resolves: rhbz#1876665
+
+* Mon Oct 12 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.9.6-0.2.ea
+- Update static-libs packaging to new layout
+- Resolves: rhbz#1876665
+
+* Sat Oct 10 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.6-0.1.ea
+- Update to jdk-11.0.9+6 (EA)
+- Update tarball generation script to use PR3802, handling JDK-8233228 & JDK-8177334
+- Resolves: rhbz#1876665
+
+* Thu Oct 08 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.5-0.1.ea
+- Update to jdk-11.0.9+5 (EA)
+- Resolves: rhbz#1876665
+
+* Thu Oct 08 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.4-0.1.ea
+- Update to jdk-11.0.9+4 (EA)
+- Resolves: rhbz#1876665
+
+* Wed Oct 07 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.3-0.1.ea
+- Update to jdk-11.0.9+3 (EA)
+- Remove JDK-8251117/RH1860990 as now applied upstream.
+- Resolves: rhbz#1876665
+
+* Mon Oct 05 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.2-0.2.ea
+- Following JDK-8005165, class data sharing can be enabled on all JIT architectures
+- Resolves: rhbz#1876665
+
+* Mon Oct 05 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.2-0.1.ea
+- Update to jdk-11.0.9+2 (EA)
+- With Shenandoah now upstream in OpenJDK 11, we can use jdk-updates/jdk11 directly
+- Resolves: rhbz#1876665
+
+* Mon Oct 05 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.1-0.1.ea
+- Cleanup architecture and JVM feature handling in preparation for using upstreamed Shenandoah.
+- Resolves: rhbz#1876665
+
+* Mon Sep 28 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.1-0.0.ea
+- Update to shenandoah-jdk-11.0.9+1 (EA)
+- Switch to EA mode for 11.0.9 pre-release builds.
+- JDK-8245832 increases the set of static libraries, so try and include them all with a wildcard.
+- Resolves: rhbz#1876665
+
 * Thu Sep 17 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.10-6
 - Add patch to cancel PKCS#11 operations on failure (RH1868754)
 - Add patch to allow the PKCS11 provider access to the SunJCE provider (RH1868740)