Blame SOURCES/jdk8294357-tzdata2022d.patch

f078e6
commit f67b4de8a07b8158be1dfb5b09cdb4cc5b7ac93b
f078e6
Author: David Alvarez <alvdavi@amazon.com>
f078e6
Date:   Tue Oct 11 20:04:39 2022 +0000
f078e6
f078e6
    8294357: (tz) Update Timezone Data to 2022d
f078e6
    
f078e6
    Reviewed-by: phh
f078e6
    Backport-of: f01573368f905f27d26f1d07d9cfd26dcc736a54
f078e6
f078e6
diff --git a/make/data/tzdata/VERSION b/make/data/tzdata/VERSION
f078e6
index decb8716b22..889d0e6dad7 100644
f078e6
--- a/make/data/tzdata/VERSION
f078e6
+++ b/make/data/tzdata/VERSION
f078e6
@@ -21,4 +21,4 @@
f078e6
 # or visit www.oracle.com if you need additional information or have any
f078e6
 # questions.
f078e6
 #
f078e6
-tzdata2022c
f078e6
+tzdata2022d
f078e6
diff --git a/make/data/tzdata/asia b/make/data/tzdata/asia
f078e6
index 3a150b0f36b..f9df7432947 100644
f078e6
--- a/make/data/tzdata/asia
f078e6
+++ b/make/data/tzdata/asia
f078e6
@@ -3398,10 +3398,6 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
f078e6
 # The winter time in 2015 started on October 23 at 01:00.
f078e6
 # https://wafa.ps/ar_page.aspx?id=CgpCdYa670694628582aCgpCdY
f078e6
 # http://www.palestinecabinet.gov.ps/portal/meeting/details/27583
f078e6
-#
f078e6
-# From Paul Eggert (2019-04-10):
f078e6
-# For now, guess spring-ahead transitions are at 00:00 on the Saturday
f078e6
-# preceding March's last Sunday (i.e., Sat>=24).
f078e6
 
f078e6
 # From P Chan (2021-10-18):
f078e6
 # http://wafa.ps/Pages/Details/34701
f078e6
@@ -3418,6 +3414,18 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
f078e6
 # From Heba Hamad (2022-03-10):
f078e6
 # summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM.
f078e6
 
f078e6
+# From Heba Hamad (2022-08-30):
f078e6
+# winter time will begin in Palestine from Saturday 10-29, 02:00 AM by
f078e6
+# 60 minutes backwards.  Also the state of Palestine adopted the summer
f078e6
+# and winter time for the years: 2023,2024,2025,2026 ...
f078e6
+# https://mm.icann.org/pipermail/tz/attachments/20220830/9f024566/Time-0001.pdf
f078e6
+# (2022-08-31): ... the Saturday before the last Sunday in March and October
f078e6
+# at 2:00 AM ,for the years from 2023 to 2026.
f078e6
+# (2022-09-05): https://mtit.pna.ps/Site/New/1453
f078e6
+#
f078e6
+# From Paul Eggert (2022-08-31):
f078e6
+# For now, assume that this rule will also be used after 2026.
f078e6
+
f078e6
 # Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
f078e6
 Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
f078e6
 Rule EgyptAsia	1957	1958	-	Oct	 1	0:00	0	-
f078e6
@@ -3448,14 +3456,16 @@ Rule Palestine	2013	only	-	Sep	27	0:00	0	-
f078e6
 Rule Palestine	2014	only	-	Oct	24	0:00	0	-
f078e6
 Rule Palestine	2015	only	-	Mar	28	0:00	1:00	S
f078e6
 Rule Palestine	2015	only	-	Oct	23	1:00	0	-
f078e6
-Rule Palestine	2016	2018	-	Mar	Sat>=24	1:00	1:00	S
f078e6
-Rule Palestine	2016	2018	-	Oct	Sat>=24	1:00	0	-
f078e6
+Rule Palestine	2016	2018	-	Mar	Sat<=30	1:00	1:00	S
f078e6
+Rule Palestine	2016	2018	-	Oct	Sat<=30	1:00	0	-
f078e6
 Rule Palestine	2019	only	-	Mar	29	0:00	1:00	S
f078e6
-Rule Palestine	2019	only	-	Oct	Sat>=24	0:00	0	-
f078e6
-Rule Palestine	2020	2021	-	Mar	Sat>=24	0:00	1:00	S
f078e6
+Rule Palestine	2019	only	-	Oct	Sat<=30	0:00	0	-
f078e6
+Rule Palestine	2020	2021	-	Mar	Sat<=30	0:00	1:00	S
f078e6
 Rule Palestine	2020	only	-	Oct	24	1:00	0	-
f078e6
-Rule Palestine	2021	max	-	Oct	Fri>=23	1:00	0	-
f078e6
-Rule Palestine	2022	max	-	Mar	Sun>=25	0:00	1:00	S
f078e6
+Rule Palestine	2021	only	-	Oct	29	1:00	0	-
f078e6
+Rule Palestine	2022	only	-	Mar	27	0:00	1:00	S
f078e6
+Rule Palestine	2022	max	-	Oct	Sat<=30	2:00	0	-
f078e6
+Rule Palestine	2023	max	-	Mar	Sat<=30	2:00	1:00	S
f078e6
 
f078e6
 # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
f078e6
 Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
f078e6
diff --git a/make/data/tzdata/backward b/make/data/tzdata/backward
f078e6
index d4a29e8cf29..7765d99aedf 100644
f078e6
--- a/make/data/tzdata/backward
f078e6
+++ b/make/data/tzdata/backward
f078e6
@@ -113,6 +113,8 @@ Link	Etc/UTC			Etc/UCT
f078e6
 Link	Europe/London		Europe/Belfast
f078e6
 Link	Europe/Kyiv		Europe/Kiev
f078e6
 Link	Europe/Chisinau		Europe/Tiraspol
f078e6
+Link	Europe/Kyiv		Europe/Uzhgorod
f078e6
+Link	Europe/Kyiv		Europe/Zaporozhye
f078e6
 Link	Europe/London		GB
f078e6
 Link	Europe/London		GB-Eire
f078e6
 Link	Etc/GMT			GMT+0
f078e6
diff --git a/make/data/tzdata/europe b/make/data/tzdata/europe
f078e6
index 879b5337536..accc845dbaf 100644
f078e6
--- a/make/data/tzdata/europe
f078e6
+++ b/make/data/tzdata/europe
f078e6
@@ -2638,10 +2638,14 @@ Zone Europe/Simferopol	 2:16:24 -	LMT	1880
f078e6
 # From Alexander Krivenyshev (2014-03-17):
f078e6
 # time change at 2:00 (2am) on March 30, 2014
f078e6
 # https://vz.ru/news/2014/3/17/677464.html
f078e6
-# From Paul Eggert (2014-03-30):
f078e6
-# Simferopol and Sevastopol reportedly changed their central town clocks
f078e6
-# late the previous day, but this appears to have been ceremonial
f078e6
-# and the discrepancies are small enough to not worry about.
f078e6
+# From Tim Parenti (2022-07-01), per Paul Eggert (2014-03-30):
f078e6
+# The clocks at the railway station in Simferopol were put forward from 22:00
f078e6
+# to 24:00 the previous day in a "symbolic ceremony"; however, per
f078e6
+# contemporaneous news reports, "ordinary Crimeans [made] the daylight savings
f078e6
+# time switch at 2am" on Sunday.
f078e6
+# https://www.business-standard.com/article/pti-stories/crimea-to-set-clocks-to-russia-time-114033000014_1.html
f078e6
+# https://www.reuters.com/article/us-ukraine-crisis-crimea-time/crimea-switches-to-moscow-time-amid-incorporation-frenzy-idUKBREA2S0LT20140329
f078e6
+# https://www.bbc.com/news/av/world-europe-26806583
f078e6
 			 2:00	EU	EE%sT	2014 Mar 30  2:00
f078e6
 			 4:00	-	MSK	2014 Oct 26  2:00s
f078e6
 			 3:00	-	MSK
f078e6
@@ -3774,8 +3778,8 @@ Link	Europe/Istanbul	Asia/Istanbul	# Istanbul is in both continents.
f078e6
 # US colleague David Cochrane) are still trying to get more
f078e6
 # information upon these local deviations from Kiev rules.
f078e6
 #
f078e6
-# From Paul Eggert (2022-02-08):
f078e6
-# For now, assume that Ukraine's other three zones followed the same rules,
f078e6
+# From Paul Eggert (2022-08-27):
f078e6
+# For now, assume that Ukraine's zones all followed the same rules,
f078e6
 # except that Crimea switched to Moscow time in 1994 as described elsewhere.
f078e6
 
f078e6
 # From Igor Karpov, who works for the Ukrainian Ministry of Justice,
f078e6
@@ -3845,21 +3849,7 @@ Link	Europe/Istanbul	Asia/Istanbul	# Istanbul is in both continents.
f078e6
 # * Ukrainian Government's Resolution of 20.03.1992, No. 139.
f078e6
 # http://www.uazakon.com/documents/date_8u/pg_grcasa.htm
f078e6
 
f078e6
-# From Paul Eggert (2022-04-12):
f078e6
-# As is usual in tzdb, Ukrainian zones use the most common English spellings.
f078e6
-# In particular, tzdb's name Europe/Kyiv uses the most common spelling in
f078e6
-# English for Ukraine's capital.  Although tzdb's former name was Europe/Kiev,
f078e6
-# "Kyiv" is now more common due to widespread reporting of the current conflict.
f078e6
-# Conversely, tzdb continues to use the names Europe/Uzhgorod and
f078e6
-# Europe/Zaporozhye; this is similar to tzdb's use of Europe/Prague, which is
f078e6
-# certainly wrong as a transliteration of the Czech "Praha".
f078e6
-# English-language spelling of Ukrainian names is in flux, and
f078e6
-# some day "Uzhhorod" or "Zaporizhzhia" may become substantially more
f078e6
-# common in English; in the meantime, do not change these
f078e6
-# English spellings as that means less disruption for our users.
f078e6
-
f078e6
 # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
f078e6
-# This represents most of Ukraine.  See above for the spelling of "Kyiv".
f078e6
 Zone Europe/Kyiv	2:02:04 -	LMT	1880
f078e6
 			2:02:04	-	KMT	1924 May  2 # Kyiv Mean Time
f078e6
 			2:00	-	EET	1930 Jun 21
f078e6
@@ -3869,34 +3859,6 @@ Zone Europe/Kyiv	2:02:04 -	LMT	1880
f078e6
 			2:00	1:00	EEST	1991 Sep 29  3:00
f078e6
 			2:00	C-Eur	EE%sT	1996 May 13
f078e6
 			2:00	EU	EE%sT
f078e6
-# Transcarpathia used CET 1990/1991.
f078e6
-# "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but
f078e6
-# "Uzhgorod" is more common in English.
f078e6
-Zone Europe/Uzhgorod	1:29:12 -	LMT	1890 Oct
f078e6
-			1:00	-	CET	1940
f078e6
-			1:00	C-Eur	CE%sT	1944 Oct
f078e6
-			1:00	1:00	CEST	1944 Oct 26
f078e6
-			1:00	-	CET	1945 Jun 29
f078e6
-			3:00	Russia	MSK/MSD	1990
f078e6
-			3:00	-	MSK	1990 Jul  1  2:00
f078e6
-			1:00	-	CET	1991 Mar 31  3:00
f078e6
-			2:00	-	EET	1992 Mar 20
f078e6
-			2:00	C-Eur	EE%sT	1996 May 13
f078e6
-			2:00	EU	EE%sT
f078e6
-# Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991.
f078e6
-# "Zaporizhzhia" is the transliteration of the Ukrainian name, but
f078e6
-# "Zaporozh'ye" is more common in English.  Use the common English
f078e6
-# spelling, except omit the apostrophe as it is not allowed in
f078e6
-# portable Posix file names.
f078e6
-Zone Europe/Zaporozhye	2:20:40 -	LMT	1880
f078e6
-			2:20	-	+0220	1924 May  2
f078e6
-			2:00	-	EET	1930 Jun 21
f078e6
-			3:00	-	MSK	1941 Aug 25
f078e6
-			1:00	C-Eur	CE%sT	1943 Oct 25
f078e6
-			3:00	Russia	MSK/MSD	1991 Mar 31  2:00
f078e6
-			2:00	E-Eur	EE%sT	1992 Mar 20
f078e6
-			2:00	C-Eur	EE%sT	1996 May 13
f078e6
-			2:00	EU	EE%sT
f078e6
 
f078e6
 # Vatican City
f078e6
 # See Europe/Rome.
f078e6
diff --git a/make/data/tzdata/southamerica b/make/data/tzdata/southamerica
f078e6
index 13ec081c7e0..3c0e0e2061c 100644
f078e6
--- a/make/data/tzdata/southamerica
f078e6
+++ b/make/data/tzdata/southamerica
f078e6
@@ -1332,8 +1332,14 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1914
f078e6
 # for America/Santiago will start on midnight of September 11th;
f078e6
 # and will end on April 1st, 2023. Magallanes region (America/Punta_Arenas)
f078e6
 # will keep UTC -3 "indefinitely"...  This is because on September 4th
f078e6
-# we will have a voting whether to approve a new Constitution....
f078e6
-# https://www.interior.gob.cl/noticias/2022/08/09/comunicado-el-proximo-sabado-10-de-septiembre-los-relojes-se-deben-adelantar-una-hora/
f078e6
+# we will have a voting whether to approve a new Constitution.
f078e6
+#
f078e6
+# From Eduardo Romero Urra (2022-08-17):
f078e6
+# https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf
f078e6
+#
f078e6
+# From Paul Eggert (2022-08-17):
f078e6
+# Although the presidential decree stops at fall 2026, assume that
f078e6
+# similar DST rules will continue thereafter.
f078e6
 
f078e6
 # Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
f078e6
 Rule	Chile	1927	1931	-	Sep	 1	0:00	1:00	-
f078e6
diff --git a/make/data/tzdata/zone.tab b/make/data/tzdata/zone.tab
f078e6
index 51b65fa273c..ee025196e50 100644
f078e6
--- a/make/data/tzdata/zone.tab
f078e6
+++ b/make/data/tzdata/zone.tab
f078e6
@@ -424,8 +424,6 @@ TV	-0831+17913	Pacific/Funafuti
f078e6
 TW	+2503+12130	Asia/Taipei
f078e6
 TZ	-0648+03917	Africa/Dar_es_Salaam
f078e6
 UA	+5026+03031	Europe/Kyiv	Ukraine (most areas)
f078e6
-UA	+4837+02218	Europe/Uzhgorod	Transcarpathia
f078e6
-UA	+4750+03510	Europe/Zaporozhye	Zaporozhye and east Lugansk
f078e6
 UG	+0019+03225	Africa/Kampala
f078e6
 UM	+2813-17722	Pacific/Midway	Midway Islands
f078e6
 UM	+1917+16637	Pacific/Wake	Wake Island
f078e6
diff --git a/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java b/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
f078e6
index bfe0dd3b548..1dc82561f23 100644
f078e6
--- a/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
f078e6
+++ b/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
f078e6
@@ -573,12 +573,8 @@ public final class ZoneInfoFile {
f078e6
                     // we can then pass in the dom = -1, dow > 0 into ZoneInfo
f078e6
                     //
f078e6
                     // hacking, assume the >=24 is the result of ZRB optimization for
f078e6
-                    // "last", it works for now. From tzdata2020d this hacking
f078e6
-                    // will not work for Asia/Gaza and Asia/Hebron which follow
f078e6
-                    // Palestine DST rules.
f078e6
-                    if (dom < 0 || dom >= 24 &&
f078e6
-                                   !(zoneId.equals("Asia/Gaza") ||
f078e6
-                                     zoneId.equals("Asia/Hebron"))) {
f078e6
+                    // "last", it works for now.
f078e6
+                    if (dom < 0 || dom >= 24) {
f078e6
                         params[1] = -1;
f078e6
                         params[2] = toCalendarDOW[dow];
f078e6
                     } else {
f078e6
@@ -600,7 +596,6 @@ public final class ZoneInfoFile {
f078e6
                     params[7] = 0;
f078e6
                 } else {
f078e6
                     // hacking: see comment above
f078e6
-                    // No need of hacking for Asia/Gaza and Asia/Hebron from tz2021e
f078e6
                     if (dom < 0 || dom >= 24) {
f078e6
                         params[6] = -1;
f078e6
                         params[7] = toCalendarDOW[dow];
f078e6
diff --git a/test/jdk/java/util/TimeZone/TimeZoneData/VERSION b/test/jdk/java/util/TimeZone/TimeZoneData/VERSION
f078e6
index c32bee39fba..71470168456 100644
f078e6
--- a/test/jdk/java/util/TimeZone/TimeZoneData/VERSION
f078e6
+++ b/test/jdk/java/util/TimeZone/TimeZoneData/VERSION
f078e6
@@ -1 +1 @@
f078e6
-tzdata2022c
f078e6
+tzdata2022d
f078e6
diff --git a/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt b/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt
f078e6
index a5e6428a3f5..e3ce742f887 100644
f078e6
--- a/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt
f078e6
+++ b/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt
f078e6
@@ -183,6 +183,8 @@ Link	Etc/UTC			Etc/UCT
f078e6
 Link	Europe/London		Europe/Belfast
f078e6
 Link	Europe/Kyiv		Europe/Kiev
f078e6
 Link	Europe/Chisinau		Europe/Tiraspol
f078e6
+Link	Europe/Kyiv		Europe/Uzhgorod
f078e6
+Link	Europe/Kyiv		Europe/Zaporozhye
f078e6
 Link	Europe/London		GB
f078e6
 Link	Europe/London		GB-Eire
f078e6
 Link	Etc/GMT			GMT+0
f078e6
diff --git a/test/jdk/java/util/TimeZone/TimeZoneData/displaynames.txt b/test/jdk/java/util/TimeZone/TimeZoneData/displaynames.txt
f078e6
index fc148537f1f..b3823958ae4 100644
f078e6
--- a/test/jdk/java/util/TimeZone/TimeZoneData/displaynames.txt
f078e6
+++ b/test/jdk/java/util/TimeZone/TimeZoneData/displaynames.txt
f078e6
@@ -163,11 +163,9 @@ Europe/Simferopol MSK
f078e6
 Europe/Sofia EET EEST
f078e6
 Europe/Tallinn EET EEST
f078e6
 Europe/Tirane CET CEST
f078e6
-Europe/Uzhgorod EET EEST
f078e6
 Europe/Vienna CET CEST
f078e6
 Europe/Vilnius EET EEST
f078e6
 Europe/Warsaw CET CEST
f078e6
-Europe/Zaporozhye EET EEST
f078e6
 Europe/Zurich CET CEST
f078e6
 HST HST
f078e6
 MET MET MEST
f078e6
diff --git a/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java b/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
f078e6
index 7b50c342a0d..a7d14f1aa21 100644
f078e6
--- a/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
f078e6
+++ b/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
f078e6
@@ -176,11 +176,12 @@ public class TestZoneInfo310 {
f078e6
              * save time in IANA tzdata. This bug is tracked via JDK-8223388.
f078e6
              *
f078e6
              * These are the zones/rules that employ negative DST in vanguard
f078e6
-             * format (as of 2019a):
f078e6
+             * format (as of 2019a), Palestine added in 2022d:
f078e6
              *
f078e6
              *  - Rule "Eire"
f078e6
              *  - Rule "Morocco"
f078e6
              *  - Rule "Namibia"
f078e6
+             *  - Rule "Palestine"
f078e6
              *  - Zone "Europe/Prague"
f078e6
              *
f078e6
              * Tehran/Iran rule has rules beyond 2037, in which javazic assumes
f078e6
@@ -196,6 +197,8 @@ public class TestZoneInfo310 {
f078e6
                 zid.equals("Europe/Dublin") || // uses "Eire" rule
f078e6
                 zid.equals("Europe/Prague") ||
f078e6
                 zid.equals("Asia/Tehran") || // last rule mismatch
f078e6
+                zid.equals("Asia/Gaza") || // uses "Palestine" rule
f078e6
+                zid.equals("Asia/Hebron") || // uses "Palestine" rule
f078e6
                 zid.equals("Iran")) { // last rule mismatch
f078e6
                     continue;
f078e6
             }