summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--ZoneTest.java42
-rw-r--r--bugfix-0001-add-Beijing-timezone.patch54
-rw-r--r--remove-El_Aaiun-timezone.patch78
-rw-r--r--remove-Israel-timezone.patch15
-rw-r--r--remove-ROC-timezone.patch15
-rw-r--r--rename-Macau-to-Macao.patch225
-rw-r--r--skip-check_web-testcase.patch13
-rw-r--r--sources3
-rw-r--r--tzdata.spec427
10 files changed, 875 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..abbbaa1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/javazic-1.8-37392f2f5d59.tar.xz
+/tzcode2025b.tar.gz
+/tzdata2025b.tar.gz
diff --git a/ZoneTest.java b/ZoneTest.java
new file mode 100644
index 0000000..e690728
--- /dev/null
+++ b/ZoneTest.java
@@ -0,0 +1,42 @@
+/* Smoke test to ensure that tzdb.data can be loaded.
+ Copyright (c) 2024 Red Hat, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+import java.time.zone.ZoneRulesProvider;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.Locale;
+import java.util.Set;
+import java.util.TimeZone;
+
+public class ZoneTest {
+ public static void main(String[] args) {
+ // This is what failed in OpenJDK's build.tools.cldrconverter.
+ new GregorianCalendar(TimeZone.getTimeZone("America/Los_Angeles"),
+ Locale.US).get(Calendar.YEAR);
+
+ // In some OpenJDK versions, this exercises a different parser.
+ Set<String> available = ZoneRulesProvider.getAvailableZoneIds();
+ boolean errors = false;
+ if (available.contains("ROC"))
+ System.out.println("error: ROC zone is present");
+ if (!available.contains("America/New_York"))
+ System.out.println("error: America/New_York is missing");
+ if (errors)
+ System.exit(1);
+ }
+}
+
diff --git a/bugfix-0001-add-Beijing-timezone.patch b/bugfix-0001-add-Beijing-timezone.patch
new file mode 100644
index 0000000..03589d2
--- /dev/null
+++ b/bugfix-0001-add-Beijing-timezone.patch
@@ -0,0 +1,54 @@
+diff --git a/asia b/asia
+index d3d1059..b64f44c 100644
+--- a/asia
++++ b/asia
+@@ -657,6 +657,8 @@ Zone Asia/Shanghai 8:05:43 - LMT 1901
+ # / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
+ Zone Asia/Urumqi 5:50:20 - LMT 1928
+ 6:00 - %z
++# Nowadays, China Standard Time is known as "Beijing Time"
++Zone Asia/Beijing 8:00 PRC C%sT
+
+ # Hong Kong
+
+diff --git a/backward b/backward
+index 0236751..5813bcb 100644
+--- a/backward
++++ b/backward
+@@ -111,7 +111,7 @@ Link America/Mexico_City Mexico/General
+ Link Pacific/Auckland NZ
+ Link Pacific/Chatham NZ-CHAT
+ Link America/Denver Navajo #= America/Shiprock
+-Link Asia/Shanghai PRC
++Link Asia/Beijing PRC
+ Link Europe/Warsaw Poland
+ Link Europe/Lisbon Portugal
+ Link Asia/Taipei ROC
+diff --git a/zone.tab b/zone.tab
+index 2626b05..9afc7ed 100644
+--- a/zone.tab
++++ b/zone.tab
+@@ -143,7 +143,8 @@ CL -4534-07204 America/Coyhaique Aysen Region
+ CL -5309-07055 America/Punta_Arenas Magallanes Region
+ CL -2709-10926 Pacific/Easter Easter Island
+ CM +0403+00942 Africa/Douala
+-CN +3114+12128 Asia/Shanghai Beijing Time
++CN +3955+11626 Asia/Beijing China Standard Time
++CN +3114+12128 Asia/Shanghai Shanghai Time
+ CN +4348+08735 Asia/Urumqi Xinjiang Time
+ CO +0436-07405 America/Bogota
+ CR +0956-08405 America/Costa_Rica
+diff --git a/zone1970.tab b/zone1970.tab
+index 36535bd..f697bfd 100644
+--- a/zone1970.tab
++++ b/zone1970.tab
+@@ -127,7 +127,8 @@ CL -3327-07040 America/Santiago most of Chile
+ CL -4534-07204 America/Coyhaique Aysén Region
+ CL -5309-07055 America/Punta_Arenas Magallanes Region
+ CL -2709-10926 Pacific/Easter Easter Island
+-CN +3114+12128 Asia/Shanghai Beijing Time
++CN +3955+11626 Asia/Beijing China Standard Time
++CN +3114+12128 Asia/Shanghai Shanghai Time
+ CN +4348+08735 Asia/Urumqi Xinjiang Time
+ CO +0436-07405 America/Bogota
+ CR +0956-08405 America/Costa_Rica
diff --git a/remove-El_Aaiun-timezone.patch b/remove-El_Aaiun-timezone.patch
new file mode 100644
index 0000000..4aba4ae
--- /dev/null
+++ b/remove-El_Aaiun-timezone.patch
@@ -0,0 +1,78 @@
+diff --git a/NEWS b/NEWS
+index 7ce4f43..199ebf0 100644
+--- a/NEWS
++++ b/NEWS
+@@ -2808,9 +2808,9 @@ Release 2016g - 2016-09-13 08:56:38 -0700
+ zic no longer generates binary files containing POSIX TZ-like
+ strings that disagree with the local time type after the last
+ explicit transition in the data. This fixes a bug with
+- Africa/Casablanca and Africa/El_Aaiun in some year-2037 timestamps
+- on the reference platform. (Thanks to Alexander Belopolsky for
+- reporting the bug and suggesting a way forward.)
++ Africa/Casablanca in some year-2037 timestamps on the reference
++ platform. (Thanks to Alexander Belopolsky for reporting the bug
++ and suggesting a way forward.)
+
+ If the installed localtime and/or posixrules files are symbolic
+ links, zic now keeps them symbolic links when updating them, for
+@@ -4165,9 +4165,6 @@ Release 2013h - 2013-10-25 15:32:32 -0700
+ Libya has switched its UT offset back to +02 without DST, instead
+ of +01 with DST. (Thanks to Even Scharning.)
+
+- Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
+- (Thanks to Gwillim Law.)
+-
+ Changes affecting future timestamps:
+
+ Acre and (we guess) western Amazonas will switch from UT -04 to -05
+diff --git a/africa b/africa
+index fd6c44a..7514cb7 100644
+--- a/africa
++++ b/africa
+@@ -1073,22 +1073,6 @@ Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
+ 0:00 Morocco %z 2018 Oct 28 3:00
+ 1:00 Morocco %z
+
+-# Western Sahara
+-#
+-# From Gwillim Law (2013-10-22):
+-# A correspondent who is usually well informed about time zone matters
+-# ... says that Western Sahara observes daylight saving time, just as
+-# Morocco does.
+-#
+-# From Paul Eggert (2013-10-23):
+-# Assume that this has been true since Western Sahara switched to GMT,
+-# since most of it was then controlled by Morocco.
+-
+-Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
+- -1:00 - %z 1976 Apr 14
+- 0:00 Morocco %z 2018 Oct 28 3:00
+- 1:00 Morocco %z
+-
+ # Botswana
+ # Burundi
+ # Democratic Republic of the Congo (eastern)
+diff --git a/zone.tab b/zone.tab
+index 9958424..001928e 100644
+--- a/zone.tab
++++ b/zone.tab
+@@ -166,7 +166,6 @@ EC -0210-07950 America/Guayaquil Ecuador (mainland)
+ EC -0054-08936 Pacific/Galapagos Galapagos Islands
+ EE +5925+02445 Europe/Tallinn
+ EG +3003+03115 Africa/Cairo
+-EH +2709-01312 Africa/El_Aaiun
+ ER +1520+03853 Africa/Asmara
+ ES +4024-00341 Europe/Madrid Spain (mainland)
+ ES +3553-00519 Africa/Ceuta Ceuta, Melilla
+diff --git a/zone1970.tab b/zone1970.tab
+index c78b305..b83bf7b 100644
+--- a/zone1970.tab
++++ b/zone1970.tab
+@@ -144,7 +144,6 @@ EC -0210-07950 America/Guayaquil Ecuador (mainland)
+ EC -0054-08936 Pacific/Galapagos Galápagos Islands
+ EE +5925+02445 Europe/Tallinn
+ EG +3003+03115 Africa/Cairo
+-EH +2709-01312 Africa/El_Aaiun
+ ES +4024-00341 Europe/Madrid Spain (mainland)
+ ES +3553-00519 Africa/Ceuta Ceuta, Melilla
+ ES +2806-01524 Atlantic/Canary Canary Islands
diff --git a/remove-Israel-timezone.patch b/remove-Israel-timezone.patch
new file mode 100644
index 0000000..f2b3f16
--- /dev/null
+++ b/remove-Israel-timezone.patch
@@ -0,0 +1,15 @@
+diff --git a/backward b/backward
+index ee85679..ec60286 100644
+--- a/backward
++++ b/backward
+@@ -91,7 +91,6 @@ Link Etc/GMT Greenwich
+ Link Asia/Hong_Kong Hongkong
+ Link Africa/Abidjan Iceland #= Atlantic/Reykjavik
+ Link Asia/Tehran Iran
+-Link Asia/Jerusalem Israel
+ Link America/Jamaica Jamaica
+ Link Asia/Tokyo Japan
+ Link Pacific/Kwajalein Kwajalein
+--
+2.27.0
+
diff --git a/remove-ROC-timezone.patch b/remove-ROC-timezone.patch
new file mode 100644
index 0000000..df1acf3
--- /dev/null
+++ b/remove-ROC-timezone.patch
@@ -0,0 +1,15 @@
+diff --git a/backward b/backward
+index f25e274..fd0b622 100644
+--- a/backward
++++ b/backward
+@@ -105,7 +105,6 @@ Link America/Denver Navajo #= America/Shiprock
+ Link Asia/Beijing PRC
+ Link Europe/Warsaw Poland
+ Link Europe/Lisbon Portugal
+-Link Asia/Taipei ROC
+ Link Asia/Seoul ROK
+ Link Asia/Singapore Singapore
+ Link Europe/Istanbul Turkey
+--
+2.27.0
+
diff --git a/rename-Macau-to-Macao.patch b/rename-Macau-to-Macao.patch
new file mode 100644
index 0000000..d33e93a
--- /dev/null
+++ b/rename-Macau-to-Macao.patch
@@ -0,0 +1,225 @@
+diff --git a/NEWS b/NEWS
+index 8c07716..7ce4f43 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1848,9 +1848,9 @@ Release 2018f - 2018-10-18 00:14:18 -0700
+ April 10. Its DST transitions in 1986/91 were at 02:00, not 00:00.
+ (Thanks to P Chan.)
+
+- Fix several issues for Macau before 1992. Macau's pre-1904 LMT
+- was off by 10 s. Macau switched to +08 in 1904 not 1912, and
+- temporarily switched to +09/+10 during World War II. Macau
++ Fix several issues for Macao before 1992. Macao's pre-1904 LMT
++ was off by 10 s. Macao switched to +08 in 1904 not 1912, and
++ temporarily switched to +09/+10 during World War II. Macao
+ observed DST in 1942/79, not 1961/80, and there were several
+ errors for transition times and dates. (Thanks to P Chan.)
+
+@@ -2055,7 +2055,7 @@ Release 2018d - 2018-03-22 07:05:46 -0700
+ This transition was at 00:00 according to the new UT offset, not
+ according to the old one. Also assume that Cape Verde switched on
+ the same date as the rest, not in 1907. This affects
+- Africa/Bissau, Africa/Sao_Tome, Asia/Macau, Atlantic/Azores,
++ Africa/Bissau, Africa/Sao_Tome, Asia/Macao, Atlantic/Azores,
+ Atlantic/Cape_Verde, Atlantic/Madeira, and Europe/Lisbon.
+ (Thanks to Michael Deckers.)
+
+@@ -2545,7 +2545,7 @@ Release 2017a - 2017-02-28 00:05:36 -0800
+ (Atlantic Standard Time had not been standardized yet). Use "AWT"
+ and "APT" instead of the invented abbreviations "CAWT" and "CAPT".
+
+- Use "CST" and "CDT" instead of invented abbreviations for Macau
++ Use "CST" and "CDT" instead of invented abbreviations for Macao
+ before 1999 and Taiwan before 1938, and use "JST" instead of the
+ invented abbreviation "JCST" for Japan and Korea before 1938.
+
+diff --git a/asia b/asia
+index b64f44c..7f68ef0 100644
+--- a/asia
++++ b/asia
+@@ -982,12 +982,12 @@ Zone Asia/Taipei 8:06:00 - LMT 1896 Jan 1
+ 9:00 - JST 1945 Sep 21 1:00
+ 8:00 Taiwan C%sT
+
+-# Macau (Macao, Aomen)
++# Macao (Aomen)
+ #
+ # From P Chan (2018-05-10):
+ # * LegisMac
+ # http://legismac.safp.gov.mo/legismac/descqry/Descqry.jsf?lang=pt
+-# A database for searching titles of legal documents of Macau in
++# A database for searching titles of legal documents of Macao in
+ # Chinese and Portuguese. The term "HORÁRIO DE VERÃO" can be used for
+ # searching decrees about summer time.
+ # * Archives of Macao
+@@ -996,13 +996,13 @@ Zone Asia/Taipei 8:06:00 - LMT 1896 Jan 1
+ # * The Macao Meteorological and Geophysical Bureau have a page listing the
+ # summer time history. But it is not complete and has some mistakes.
+ # http://www.smg.gov.mo/smg/geophysics/e_t_Summer%20Time.htm
+-# Macau adopted GMT+8 on 30 Oct 1904 to follow Hong Kong. Clocks were
++# Macao adopted GMT+8 on 30 Oct 1904 to follow Hong Kong. Clocks were
+ # advanced by 25 minutes and 50 seconds. Which means the LMT used was
+ # +7:34:10. As stated in the "Portaria No. 204" dated 21 October 1904
+ # and published in the Official Gazette on 29 October 1904.
+ # http://igallery.icm.gov.mo/Images/Archives/BO/MO_AH_PUB_BO_1904_10/MO_AH_PUB_BO_1904_10_00025_Grey.JPG
+ #
+-# Therefore the 1911 decree of Portugal did not change time in Macau.
++# Therefore the 1911 decree of Portugal did not change time in Macao.
+ #
+ # From LegisMac, here is a list of decrees that changed the time ...
+ # [Decree Gazette-no. date; titles omitted in this quotation]
+@@ -1081,43 +1081,43 @@ Zone Asia/Taipei 8:06:00 - LMT 1896 Jan 1
+ # between GMT+9 and GMT+10. Also in 1965 and 1965 the DST ended at 2:30am.
+
+ # From Paul Eggert (2018-05-10):
+-# The 1904 decree says that Macau changed from the meridian of
++# The 1904 decree says that Macao changed from the meridian of
+ # Fortaleza do Monte, presumably the basis for the 7:34:10 for LMT.
+
+ # 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
+-Rule Macau 1946 only - Apr 30 23:00s 1:00 D
+-Rule Macau 1946 only - Sep 30 23:00s 0 S
+-Rule Macau 1947 only - Apr 19 23:00s 1:00 D
+-Rule Macau 1947 only - Nov 30 23:00s 0 S
+-Rule Macau 1948 only - May 2 23:00s 1:00 D
+-Rule Macau 1948 only - Oct 31 23:00s 0 S
+-Rule Macau 1949 1950 - Apr Sat>=1 23:00s 1:00 D
+-Rule Macau 1949 1950 - Oct lastSat 23:00s 0 S
+-Rule Macau 1951 only - Mar 31 23:00s 1:00 D
+-Rule Macau 1951 only - Oct 28 23:00s 0 S
+-Rule Macau 1952 1953 - Apr Sat>=1 23:00s 1:00 D
+-Rule Macau 1952 only - Nov 1 23:00s 0 S
+-Rule Macau 1953 1954 - Oct lastSat 23:00s 0 S
+-Rule Macau 1954 1956 - Mar Sat>=17 23:00s 1:00 D
+-Rule Macau 1955 only - Nov 5 23:00s 0 S
+-Rule Macau 1956 1964 - Nov Sun>=1 03:30 0 S
+-Rule Macau 1957 1964 - Mar Sun>=18 03:30 1:00 D
+-Rule Macau 1965 1973 - Apr Sun>=16 03:30 1:00 D
+-Rule Macau 1965 1966 - Oct Sun>=16 02:30 0 S
+-Rule Macau 1967 1976 - Oct Sun>=16 03:30 0 S
+-Rule Macau 1973 only - Dec 30 03:30 1:00 D
+-Rule Macau 1975 1976 - Apr Sun>=16 03:30 1:00 D
+-Rule Macau 1979 only - May 13 03:30 1:00 D
+-Rule Macau 1979 only - Oct Sun>=16 03:30 0 S
++Rule Macao 1942 1943 - Apr 30 23:00 1:00 -
++Rule Macao 1942 only - Nov 17 23:00 0 -
++Rule Macao 1943 only - Sep 30 23:00 0 S
++Rule Macao 1946 only - Apr 30 23:00s 1:00 D
++Rule Macao 1946 only - Sep 30 23:00s 0 S
++Rule Macao 1947 only - Apr 19 23:00s 1:00 D
++Rule Macao 1947 only - Nov 30 23:00s 0 S
++Rule Macao 1948 only - May 2 23:00s 1:00 D
++Rule Macao 1948 only - Oct 31 23:00s 0 S
++Rule Macao 1949 1950 - Apr Sat>=1 23:00s 1:00 D
++Rule Macao 1949 1950 - Oct lastSat 23:00s 0 S
++Rule Macao 1951 only - Mar 31 23:00s 1:00 D
++Rule Macao 1951 only - Oct 28 23:00s 0 S
++Rule Macao 1952 1953 - Apr Sat>=1 23:00s 1:00 D
++Rule Macao 1952 only - Nov 1 23:00s 0 S
++Rule Macao 1953 1954 - Oct lastSat 23:00s 0 S
++Rule Macao 1954 1956 - Mar Sat>=17 23:00s 1:00 D
++Rule Macao 1955 only - Nov 5 23:00s 0 S
++Rule Macao 1956 1964 - Nov Sun>=1 03:30 0 S
++Rule Macao 1957 1964 - Mar Sun>=18 03:30 1:00 D
++Rule Macao 1965 1973 - Apr Sun>=16 03:30 1:00 D
++Rule Macao 1965 1966 - Oct Sun>=16 02:30 0 S
++Rule Macao 1967 1976 - Oct Sun>=16 03:30 0 S
++Rule Macao 1973 only - Dec 30 03:30 1:00 D
++Rule Macao 1975 1976 - Apr Sun>=16 03:30 1:00 D
++Rule Macao 1979 only - May 13 03:30 1:00 D
++Rule Macao 1979 only - Oct Sun>=16 03:30 0 S
+
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone Asia/Macau 7:34:10 - LMT 1904 Oct 30
++Zone Asia/Macao 7:34:10 - LMT 1904 Oct 30
+ 8:00 - CST 1941 Dec 21 23:00
+- 9:00 Macau %z 1945 Sep 30 24:00
+- 8:00 Macau C%sT
++ 9:00 Macao %z 1945 Sep 30 24:00
++ 8:00 Macao C%sT
+
+
+ ###############################################################################
+diff --git a/backward b/backward
+index 8b42bfa..b8f442a 100644
+--- a/backward
++++ b/backward
+@@ -313,7 +313,6 @@ Link Asia/Dhaka Asia/Dacca
+ # Istanbul is in both continents.
+ Link Europe/Istanbul Asia/Istanbul
+ Link Asia/Kathmandu Asia/Katmandu
+-Link Asia/Macau Asia/Macao
+ Link Asia/Yangon Asia/Rangoon
+ Link Asia/Ho_Chi_Minh Asia/Saigon
+ Link Asia/Thimphu Asia/Thimbu
+diff --git a/iso3166.tab b/iso3166.tab
+index 402c015..53ccb12 100644
+--- a/iso3166.tab
++++ b/iso3166.tab
+@@ -175,7 +175,7 @@ MK North Macedonia
+ ML Mali
+ MM Myanmar (Burma)
+ MN Mongolia
+-MO Macau
++MO Macao
+ MP Northern Mariana Islands
+ MQ Martinique
+ MR Mauritania
+diff --git a/tz-link.html b/tz-link.html
+index ad2cc97..8308457 100644
+--- a/tz-link.html
++++ b/tz-link.html
+@@ -882,9 +882,9 @@ Chile's official time (in Spanish)</a>.</dd>
+ <dd>The Hong Kong Observatory maintains a
+ <a href="https://www.hko.gov.hk/en/gts/time/Summertime.htm">history of
+ summer time in Hong Kong</a>,
+-and Macau's Meteorological and Geophysical Bureau maintains a <a
++and Macao's Meteorological and Geophysical Bureau maintains a <a
+ href="https://www.smg.gov.mo/en/subpage/224/page/174">similar
+-history for Macau</a>.
++history for Macao</a>.
+ Unfortunately the latter is incomplete and has errors.</dd>
+ <dt>Czech Republic</dt>
+ <dd><a href="https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas"
+diff --git a/zishrink.awk b/zishrink.awk
+index c98dc6a..76cc5fa 100644
+--- a/zishrink.awk
++++ b/zishrink.awk
+@@ -94,7 +94,7 @@ function prehash_rule_names( \
+ rule["Chile"] = "x" # arbitrary
+ rule["Para"] = "y" # country code PY
+ rule["Romania"] = "z" # arbitrary
+- rule["Macau"] = "_" # arbitrary
++ rule["Macao"] = "_" # arbitrary
+
+ # Use ISO 3166 alpha-2 country codes for remaining names that are countries.
+ # This is more systematic, and avoids collisions (e.g., Malta and Moldova).
+diff --git a/zone.tab b/zone.tab
+index 9afc7ed..9958424 100644
+--- a/zone.tab
++++ b/zone.tab
+@@ -267,7 +267,7 @@ ML +1239-00800 Africa/Bamako
+ MM +1647+09610 Asia/Yangon
+ MN +4755+10653 Asia/Ulaanbaatar most of Mongolia
+ MN +4801+09139 Asia/Hovd Bayan-Olgii, Hovd, Uvs
+-MO +221150+1133230 Asia/Macau
++MO +221150+1133230 Asia/Macao
+ MP +1512+14545 Pacific/Saipan
+ MQ +1436-06105 America/Martinique
+ MR +1806-01557 Africa/Nouakchott
+diff --git a/zone1970.tab b/zone1970.tab
+index f697bfd..c78b305 100644
+--- a/zone1970.tab
++++ b/zone1970.tab
+@@ -212,7 +212,7 @@ MH +0905+16720 Pacific/Kwajalein Kwajalein
+ MM,CC +1647+09610 Asia/Yangon
+ MN +4755+10653 Asia/Ulaanbaatar most of Mongolia
+ MN +4801+09139 Asia/Hovd Bayan-Ölgii, Hovd, Uvs
+-MO +221150+1133230 Asia/Macau
++MO +221150+1133230 Asia/Macao
+ MQ +1436-06105 America/Martinique
+ MT +3554+01431 Europe/Malta
+ MU -2010+05730 Indian/Mauritius
diff --git a/skip-check_web-testcase.patch b/skip-check_web-testcase.patch
new file mode 100644
index 0000000..09e337b
--- /dev/null
+++ b/skip-check_web-testcase.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 2130582..87aa4d8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -858,7 +858,7 @@ tzselect: tzselect.ksh version
+ mv $@.out $@
+
+ check: check_mild back.ck now.ck
+-check_mild: check_web check_zishrink \
++check_mild: check_zishrink \
+ character-set.ck white-space.ck links.ck mainguard.ck \
+ name-lengths.ck slashed-abbrs.ck sorted.ck \
+ tables.ck ziguard.ck tzs.ck
diff --git a/sources b/sources
new file mode 100644
index 0000000..15c05a5
--- /dev/null
+++ b/sources
@@ -0,0 +1,3 @@
+cfc79fbbb17f21052d3dd7634ec70bea javazic-1.8-37392f2f5d59.tar.xz
+7e8692117fa772e8d8d7050ee236795d tzcode2025b.tar.gz
+ad65154c48c74a9b311fe84778c5434f tzdata2025b.tar.gz
diff --git a/tzdata.spec b/tzdata.spec
new file mode 100644
index 0000000..f702158
--- /dev/null
+++ b/tzdata.spec
@@ -0,0 +1,427 @@
+Name: tzdata
+Version: 2025b
+Release: 1
+Summary: Timezone data
+License: Public Domain
+URL: https://www.iana.org/time-zones
+Source0: https://data.iana.org/time-zones/releases/tzdata%{version}.tar.gz
+Source1: https://data.iana.org/time-zones/releases/tzcode%{version}.tar.gz
+
+Patch9000: bugfix-0001-add-Beijing-timezone.patch
+Patch9001: remove-ROC-timezone.patch
+Patch9002: rename-Macau-to-Macao.patch
+Patch9003: remove-El_Aaiun-timezone.patch
+Patch9004: remove-Israel-timezone.patch
+Patch9005: skip-check_web-testcase.patch
+
+BuildRequires: gawk glibc perl-interpreter
+BuildRequires: java-devel
+BuildRequires: glibc-common >= 2.5.90-7
+BuildArch: noarch
+
+%description
+This package contains data files with rules for various timezones around
+the world.
+
+%package java
+Summary: Timezone data for Java
+Source3: javazic-1.8-37392f2f5d59.tar.xz
+Source4: ZoneTest.java
+
+%description java
+This package contains timezone information for use by Java runtimes.
+
+%prep
+%autosetup -c -a 1 -p1
+
+# tzdata-2018g introduced 25:00 transition times. This breaks OpenJDK.
+# Use rearguard for java
+mkdir rearguard
+make VERSION=%{version} ZFLAGS="-b fat" tzdata%{version}-rearguard.tar.gz
+mv tzdata%{version}-rearguard.tar.gz rearguard
+pushd rearguard
+tar zxf tzdata%{version}-rearguard.tar.gz
+popd
+
+tar xf %{SOURCE3}
+
+echo "%{name}%{version}" >> VERSION
+
+%build
+# Run make to create the tzdata.zi file
+rm tzdata.zi
+make VERSION=%{version} ZFLAGS="-b fat" DATAFORM=rearguard tzdata.zi
+
+FILES="africa antarctica asia australasia europe northamerica southamerica
+ etcetera backward factory"
+
+mkdir zoneinfo/{,posix,right}
+zic -b fat -y ./yearistype -d zoneinfo -L /dev/null -p America/New_York $FILES
+zic -b fat -y ./yearistype -d zoneinfo/posix -L /dev/null $FILES
+zic -b fat -y ./yearistype -d zoneinfo/right -L leapseconds $FILES
+
+# grep -v tz-art.htm tz-link.htm > tz-link.html
+
+# tzdata-2018g introduced 25:00 which breaks java - use the rearguard files for java
+JAVA_FILES="rearguard/africa rearguard/antarctica rearguard/asia \
+ rearguard/australasia rearguard/europe rearguard/northamerica \
+ rearguard/southamerica rearguard/etcetera \
+ rearguard/backward"
+
+# Java 8 tzdata
+pushd javazic-1.8
+javac -source 1.8 -target 1.8 -classpath . `find . -name \*.java`
+popd
+
+java -classpath javazic-1.8 build.tools.tzdb.TzdbZoneRulesCompiler \
+ -srcdir . -dstfile tzdb.dat \
+ -verbose \
+ $JAVA_FILES javazic-1.8/tzdata_jdk/gmt javazic-1.8/tzdata_jdk/jdk11_backward
+
+%check
+echo ============TESTING===============
+/usr/bin/env LANG=C make -k VALIDATE=':' check && true
+
+# Create a custom JAVA_HOME, where we can replace tzdb.dat with the
+# one just built, for testing.
+system_java_home=$(dirname $(readlink -f $(which java)))/..
+mkdir -p java_home
+cp -Lr $system_java_home/* java_home/.
+for tzdb in $(find java_home -name tzdb.dat) ; do
+ rm $tzdb
+ cp $RPM_BUILD_ROOT%{_datadir}/javazi-1.8/tzdb.dat $tzdb
+done
+# Compile the smoke test and run it.
+cp %{SOURCE4} .
+javac ZoneTest.java
+java_home/bin/java ZoneTest
+echo ============END TESTING===========
+
+%install
+install -d $RPM_BUILD_ROOT%{_datadir}
+cp -prd zoneinfo $RPM_BUILD_ROOT%{_datadir}
+install -p -m 644 zone.tab zone1970.tab iso3166.tab leap-seconds.list leapseconds tzdata.zi $RPM_BUILD_ROOT%{_datadir}/zoneinfo
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/javazi-1.8
+install -p -m 644 tzdb.dat $RPM_BUILD_ROOT%{_datadir}/javazi-1.8/
+
+%files
+%{_datadir}/zoneinfo
+%doc README
+%doc theory.html
+%doc tz-link.html
+%doc tz-art.html
+%license LICENSE
+
+%files java
+%{_datadir}/javazi
+%{_datadir}/javazi-1.8
+
+%changelog
+* Mon Mar 24 2025 Funda Wang <fundawang@yeah.net> - 2025b-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:update to 2025b
+
+* Fri Jan 24 2025 Liu Chao <liuchao173@huawei.com> - 2024a-4
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:revert "upgradetzdatato 2025a"
+
+* Mon Jan 20 2025 Liu Chao <liuchao173@huawei.com> - 2025a-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:upgrade tzdata to 2025a
+
+* Thu Oct 31 2024 langfei <langfei@huawei.com> - 2024a-3
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: The time zone rule of Paraguay is changed.
+
+* Wed Apr 10 2024 wangxiaomeng <wangxiaomeng@kylinos.cn> - 2024a-2
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Backport patch to fix check error
+
+* Sun Feb 4 2024 liuchao <liuchao173@huawei.com> - 2024a-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: upgrade tzdata to 2024a
+
+* Sun Feb 4 2024 liuchao <liuchao173@huawei.com> - 2023d-2
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Palestine springs forward a week later after Ramadan
+
+* Tue Jan 23 2024 liuchao <liuchao173@huawei.com> - 2023d-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: upgrade tzdata to 2023d
+
+* Wed Dec 13 2023 langfei<langfei@huawei.com> - 2022g-6
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Fix Palestine predictions for 2072 through 2075; Ittoqqortoormiit (America/Scoresbysund) zone change.
+
+* Thu Apr 6 2023 qinyu<qinyu32@huawei.com> - 2022g-5
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Greenland changed standard time already
+
+* Thu Apr 6 2023 qinyu<qinyu32@huawei.com> - 2022g-4
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Palestine no longer observes DST during Ramadan
+
+* Fri Mar 17 2023 qinyu<qinyu32@huawei.com> - 2022g-3
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: This year Morocco springs forward April 23, not April 30
+
+* Fri Mar 10 2023 qinyu<qinyu32@huawei.com> - 2022g-2
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Egypt now uses DST again
+
+* Tue Jan 3 2023 qinyu<qinyu32@huawei.com> - 2022g-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: upgrade tzdata to 2022g
+
+* Mon Dec 5 2022 qinyu<qinyu32@huawei.com> - 2022e-5
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Much of Greenland still uses DST from 2024 on
+
+* Wed Nov 30 2022 qinyu<qinyu32@huawei.com> - 2022e-4
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Greenland change should affect only America/Nuuk; The northern edge of Chihuahua changes to US rules
+
+* Mon Nov 28 2022 qinyu<qinyu32@huawei.com> - 2022e-3
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Most of Greenland stops clock-changing after March
+
+* Tue Nov 1 2022 qinyu<qinyu32@huawei.com> - 2022e-2
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Fiji & most of Mexico will no longer observe DST
+
+* Tue Oct 18 2022 qinyu<qinyu32@huawei.com> - 2022e-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: update tzdata base to 2022e
+
+* Mon Oct 10 2022 huangduirong<huangduirong@huawei.com> - 2022a-6
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:move the tzdata rearguard.tar.gz to build
+
+* Fri Sep 2 2022 qinyu<qinyu32@huawei.com> - 2022a-5
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC: Palestine DST transitions time change
+
+* Fri Aug 19 2022 qinyu<qinyu32@huawei.com> - 2022a-4
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:Chile's DST is delayed by a week in September 2022
+
+* Fri Jul 8 2022 liuchao<liuchao173@huawei.com> - 2022a-3
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:remake rearguard version of main.zi to fix check_zishrink_posix fail
+
+* Thu May 12 2022 liuchao<liuchao173@huawei.com> - 2022a-2
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:Iran will stop DST in 2023
+
+* Mon Apr 18 2022 liuchao<liuchao173@huawei.com> - 2022a-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:update to 2022a
+
+* Fri Oct 29 2021 liuchao<liuchao173@huawei.com> - 2021e-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:update to 2021e
+
+* Sun Sep 26 2021 liuchao<liuchao173@huawei.com> - 2021b-1
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:update to 2021b
+
+* Thu Sep 23 2021 liuchao<liuchao173@huawei.com> - 2021a-4
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:Samoa no longer observes DST
+
+* Tue Aug 17 2021 liuchao<liuchao173@huawei.com> - 2021a-3
+- add factory timezone and enbale make check
+
+* Mon Mar 8 2021 liuchao<liuchao173@huawei.com> - 2021a-2
+- Remove useless patches
+
+* Tue Jan 26 2021 liuchao<liuchao173@huawei.com> - 2021a-1
+- Upgrade to 2021a
+
+* Fri Jan 22 2021 liuchao<liuchao173@huawei.com> - 2020f-2
+- South Sudan changes from +03 to +02 on 2021-02-01
+
+* Tue Jan 12 2021 liuchao<liuchao173@huawei.com> - 2020f-1
+- Upgrade to 2020f
+
+* Mon Dec 7 2020 liuchao<liuchao173@huawei.com> - 2020d-5
+- backport community patches
+
+* Mon Nov 30 2020 liuchao<liuchao173@huawei.com> - 2020d-4
+- backport community patches
+
+* Tue Oct 27 2020 shenkai<shenkai8@huawei.com> - 2020d-3
+- backport community patches
+
+* Tue Oct 27 2020 shenkai<shenkai8@huawei.com> - 2020d-2
+- backport community patches
+
+* Thu Oct 22 2020 liuchao<liuchao173@huawei.com> - 2020d-1
+- Upgrade to 2020d
+
+* Wed Oct 21 2020 liuchao<liuchao173@huawei.com> - 2020c-1
+- Upgrade to 2020c and backport community patches
+
+* Wed Oct 14 2020 liuchao<liuchao173@huawei.com> - 2020b-2
+- backport community patches
+
+* Sat Oct 10 2020 liuchao<liuchao173@huawei.com> - 2020b-1
+- Upgrade to 2020b
+
+* Wed Jun 17 2020 Shinwell Hu <huxinwei@huawei.com> - 2020a-1
+- Upgrade to 2020a
+
+* Thu Apr 16 2020 liuchao<liuchao173@huawei.com> - 2019c-1
+- Type:recommended
+- ID:NA
+- SUG:NA
+- DESC:rebase to tzdata-2019c
+
+* Mon Mar 23 2020 liuchao<liuchao173@huawei.com> - 2019b-10
+- Type:recommended
+- ID:NA
+- SUG:NA
+- DESC:add Beijing timezone in zone1970.tab
+
+* Thu Jan 9 2020 liuchao<liuchao173@huawei.com> - 2019b-9
+- Type:recommended
+- ID:NA
+- SUG:NA
+- DESC:remove useless patches
+
+* Wed Jan 8 2020 liuchao<liuchao173@huawei.com> - 2019b-8
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:remove Israel and El_Aaiun timezone
+
+* Thu Jan 2 2020 liuchao<liuchao173@huawei.com> - 2019b-7
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:sync community patches
+
+* Wed Dec 4 2019 liuchao<liuchao173@huawei.com> - 2019b-6
+- Type:recommended
+- ID:NA
+- SUG:NA
+- DESC:remove ROC timezone and rename Macau to Macao
+
+* Mon Sep 23 2019 liuchao<liuchao173@huawei.com> -2019b-5
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC: use rearguard data set to fix Casablance DST display error since 2019
+
+* Wed Sep 4 2019 hejingxian<hejingxian@huawei.com> - 2019b-4
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC: remove country select operation from tzselect steps.
+
+* Fri Aug 23 2019 wuxu<wuxu.wu@huawei.com> - 2019b-3
+- Type:recommended
+- ID:NA
+- SUG:NA
+
+* Thu Jul 25 2019 luochunsheng<luochunsheng@huawei.com> - 2019b-2
+- Type:recommended
+- ID:NA
+- SUG:NA
+
+* Tue Jul 09 2019 openEuler Buildteam <buildteam@openeuler.org> - 2019b-1
+- Rebase to tzdata-2019b
+ - Brazil will no longer observe DST going forward.
+ - The 2019 spring transition for Palestine occurred 03-29, not 03-30.
+
+* Sun May 5 2019 luochunsheng<luochunsheng@huawei.com> - 2019a-4
+- Type:fix
+- ID:NA
+- SUG:NA
+- DESC: Bring back 2019-2037 Morocco Ramadan predictions
+ https://www.timeanddate.com/news/time/morocco-changes-clocks-2019.html
+
+* Mon Apr 22 2019 luochunsheng<luochunsheng@huawei.com> - 2019a-3
+- Type:NA
+- ID:NA
+- SUG:NA
+- DESC: Revert "Bring back 2019-2037 Morocco Ramadan predictions" to
+ fix Morocco zoneinfo.
+
+* Wed Apr 17 2019 luochunsheng<luochunsheng@huawei.com> - 2019a-2
+- Type:NA
+- ID:NA
+- SUG:NA
+- DESC:Quality enhance
+
+* Fri Mar 29 2019 openEuler Buildteam <buildteam@openeuler.org> - 2019a-1
+- Rebase to tzdata-2019a
+ - Palestine will start DST on 2019-03-30, rather than 2019-03-23 as
+ previously predicted.
+ - Metlakatla rejoined Alaska time on 2019-01-20, ending its observances
+ of Pacific standard time.
+
+* Fri Mar 8 2019 wangjia<wangjia55@huawei.com> - 2018i-2
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:add Beijing timezone
+
+* Tue Jan 15 2019 openEuler Buildteam <buildteam@openeuler.org> - 2018i-1
+- Package init