import UBI tzdata-2024b-2.el9
This commit is contained in:
parent
6fc9ca7e83
commit
3d01089174
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
SOURCES/javazic-1.8-37392f2f5d59.tar.xz
|
||||
SOURCES/javazic.tar.gz
|
||||
SOURCES/tzcode2024a.tar.gz
|
||||
SOURCES/tzdata2024a.tar.gz
|
||||
SOURCES/tzcode2024b.tar.gz
|
||||
SOURCES/tzdata2024b.tar.gz
|
||||
|
@ -1,4 +1,4 @@
|
||||
77292e1839952807567570118e01405b405af80c SOURCES/javazic-1.8-37392f2f5d59.tar.xz
|
||||
ee8ad215161cd132e65e2be447b279457158b540 SOURCES/javazic.tar.gz
|
||||
96c682391618d0f053d70ccb98cd65d969d014cd SOURCES/tzcode2024a.tar.gz
|
||||
310a281e4551e4e9a11db4f9ceea85a6529af4af SOURCES/tzdata2024a.tar.gz
|
||||
95cfb1106f60e925f0255d340350ba4be51b9b29 SOURCES/tzcode2024b.tar.gz
|
||||
52adf39a4b3c29502866167e78b89b20fd08dc3e SOURCES/tzdata2024b.tar.gz
|
||||
|
23
SOURCES/0004-Fix-Apr-vs-April-2024b.patch
Normal file
23
SOURCES/0004-Fix-Apr-vs-April-2024b.patch
Normal file
@ -0,0 +1,23 @@
|
||||
commit 926b507fa5c3192b1b68fab5910cbd3ba9377c97
|
||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||||
Date: Thu Sep 5 14:36:02 2024 -0700
|
||||
|
||||
"Apr", not "April", in IN column
|
||||
|
||||
* northamerica (Rule): Use "Apr", not "April", in the IN column.
|
||||
Both forms are valid, but "Apr" is more consistent.
|
||||
Problem reported by Howard Hinnant.
|
||||
|
||||
diff --git a/northamerica b/northamerica
|
||||
index 01f392e0..1af874b6 100644
|
||||
--- a/northamerica
|
||||
+++ b/northamerica
|
||||
@@ -2631,7 +2631,7 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
|
||||
# http://puentelibre.mx/noticia/ciudad_juarez_cambio_horario_noviembre_2022/
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
-Rule Mexico 1931 only - April 30 0:00 1:00 D
|
||||
+Rule Mexico 1931 only - Apr 30 0:00 1:00 D
|
||||
Rule Mexico 1931 only - Oct 1 0:00 0 S
|
||||
Rule Mexico 1939 only - Feb 5 0:00 1:00 D
|
||||
Rule Mexico 1939 only - Jun 25 0:00 0 S
|
77
SOURCES/0005-Improve-style-checks-for-months-2024b.patch
Normal file
77
SOURCES/0005-Improve-style-checks-for-months-2024b.patch
Normal file
@ -0,0 +1,77 @@
|
||||
commit 7b6fb155cadd5e5ee70b55c2770e1bdd2f5d2a38
|
||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||||
Date: Thu Sep 5 14:38:35 2024 -0700
|
||||
|
||||
Improve style checks for months
|
||||
|
||||
* checktab.awk: Check style of STDOFF and month names.
|
||||
|
||||
diff --git a/checktab.awk b/checktab.awk
|
||||
index 9a26e465..15a3a697 100644
|
||||
--- a/checktab.awk
|
||||
+++ b/checktab.awk
|
||||
@@ -9,6 +9,19 @@ BEGIN {
|
||||
if (!zone_table) zone_table = "zone1970.tab"
|
||||
if (!want_warnings) want_warnings = -1
|
||||
|
||||
+ monthabbr["Jan"] = 1
|
||||
+ monthabbr["Feb"] = 1
|
||||
+ monthabbr["Mar"] = 1
|
||||
+ monthabbr["Apr"] = 1
|
||||
+ monthabbr["May"] = 1
|
||||
+ monthabbr["Jun"] = 1
|
||||
+ monthabbr["Jul"] = 1
|
||||
+ monthabbr["Aug"] = 1
|
||||
+ monthabbr["Sep"] = 1
|
||||
+ monthabbr["Oct"] = 1
|
||||
+ monthabbr["Nov"] = 1
|
||||
+ monthabbr["Dec"] = 1
|
||||
+
|
||||
while (getline <iso_table) {
|
||||
iso_NR++
|
||||
if ($0 ~ /^#/) continue
|
||||
@@ -128,12 +141,14 @@ BEGIN {
|
||||
$1 ~ /^#/ { next }
|
||||
|
||||
{
|
||||
- tz = rules = ""
|
||||
+ tz = rules = stdoff = ""
|
||||
if ($1 == "Zone") {
|
||||
tz = $2
|
||||
+ stdoff = $3
|
||||
ruleUsed[$4] = 1
|
||||
if ($5 ~ /%/) rulePercentUsed[$4] = 1
|
||||
- } else if ($1 == "Link" && zone_table == "zone.tab") {
|
||||
+ } else if ($1 == "Link") {
|
||||
+ if (zone_table == "zone.tab") {
|
||||
# Ignore Link commands if source and destination basenames
|
||||
# are identical, e.g. Europe/Istanbul versus Asia/Istanbul.
|
||||
src = $2
|
||||
@@ -141,13 +156,27 @@ $1 ~ /^#/ { next }
|
||||
while ((i = index(src, "/"))) src = substr(src, i+1)
|
||||
while ((i = index(dst, "/"))) dst = substr(dst, i+1)
|
||||
if (src != dst) tz = $3
|
||||
+ }
|
||||
} else if ($1 == "Rule") {
|
||||
ruleDefined[$2] = 1
|
||||
if ($10 != "-") ruleLetters[$2] = 1
|
||||
+ if (!monthabbr[$6]) {
|
||||
+ printf "%s:%d: tricky month: %s\n", FILENAME, FNR, $6 \
|
||||
+ >>"/dev/stderr"
|
||||
+ status = 1
|
||||
+ }
|
||||
} else {
|
||||
+ stdoff = $1
|
||||
ruleUsed[$2] = 1
|
||||
if ($3 ~ /%/) rulePercentUsed[$2] = 1
|
||||
}
|
||||
+
|
||||
+ if (stdoff && stdoff !~ /^\-?1?[0-9](:[0-5][0-9](:[0-5][0-9])?)?$/) {
|
||||
+ printf "%s:%d: unlikely STDOFF: %s\n", FILENAME, FNR, stdoff \
|
||||
+ >>"/dev/stderr"
|
||||
+ status = 1
|
||||
+ }
|
||||
+
|
||||
if (tz && tz ~ /\// && tz !~ /^Etc\//) {
|
||||
if (!tztab[tz] && FILENAME != "backward" \
|
||||
&& zone_table != "zonenow.tab") {
|
17
SOURCES/8051641.patch
Normal file
17
SOURCES/8051641.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff -r c8a71253d6e2 -r 189490f29d1e make/src/classes/build/tools/tzdb/ZoneRulesBuilder.java
|
||||
--- javazic-1.8/build/tools/tzdb/ZoneRulesBuilder.java Thu Oct 23 11:42:20 2014 +0200
|
||||
+++ javazic-1.8/build/tools/tzdb/ZoneRulesBuilder.java Mon Dec 29 21:42:22 2014 +0300
|
||||
@@ -491,10 +491,10 @@
|
||||
TZRule rule = new TZRule(year, month, dayOfMonthIndicator, dayOfWeek, time, timeEndOfDay, timeDefinition, savingAmountSecs);
|
||||
if (lastRule) {
|
||||
lastRuleList.add(rule);
|
||||
- maxLastRuleStartYear = Math.max(startYear, maxLastRuleStartYear);
|
||||
} else {
|
||||
ruleList.add(rule);
|
||||
}
|
||||
+ maxLastRuleStartYear = Math.max(startYear, maxLastRuleStartYear);
|
||||
year++;
|
||||
}
|
||||
}
|
||||
--
|
||||
cgit v0.9.2
|
42
SOURCES/ZoneTest.java
Normal file
42
SOURCES/ZoneTest.java
Normal file
@ -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);
|
||||
}
|
||||
}
|
||||
|
86
SOURCES/javazic-harden-links.patch
Normal file
86
SOURCES/javazic-harden-links.patch
Normal file
@ -0,0 +1,86 @@
|
||||
Modified for downstream inclusion in tzdata-java.
|
||||
|
||||
commit 1bc13a1c10a580f84f1b7686c95344ec2633f611
|
||||
Author: Florian Weimer <fweimer@openjdk.org>
|
||||
Date: Thu Sep 26 22:37:45 2024 +0000
|
||||
|
||||
8340552: Harden TzdbZoneRulesCompiler against missing zone names
|
||||
|
||||
Reviewed-by: andrew, jlu, naoto
|
||||
|
||||
diff -ur tzdata-2024b.orig/javazic-1.8/build/tools/tzdb/TzdbZoneRulesCompiler.java tzdata-2024b/javazic-1.8/build/tools/tzdb/TzdbZoneRulesCompiler.java
|
||||
--- tzdata-2024b.orig/javazic-1.8/build/tools/tzdb/TzdbZoneRulesCompiler.java 2014-04-22 19:46:49.000000000 +0200
|
||||
+++ tzdata-2024b/javazic-1.8/build/tools/tzdb/TzdbZoneRulesCompiler.java 2024-09-20 21:10:12.748483767 +0200
|
||||
@@ -248,7 +248,7 @@
|
||||
// link version-region-rules
|
||||
out.writeShort(builtZones.size());
|
||||
for (Map.Entry<String, ZoneRules> entry : builtZones.entrySet()) {
|
||||
- int regionIndex = Arrays.binarySearch(regionArray, entry.getKey());
|
||||
+ int regionIndex = findRegionIndex(regionArray, entry.getKey());
|
||||
int rulesIndex = rulesList.indexOf(entry.getValue());
|
||||
out.writeShort(regionIndex);
|
||||
out.writeShort(rulesIndex);
|
||||
@@ -256,8 +256,8 @@
|
||||
// alias-region
|
||||
out.writeShort(links.size());
|
||||
for (Map.Entry<String, String> entry : links.entrySet()) {
|
||||
- int aliasIndex = Arrays.binarySearch(regionArray, entry.getKey());
|
||||
- int regionIndex = Arrays.binarySearch(regionArray, entry.getValue());
|
||||
+ int aliasIndex = findRegionIndex(regionArray, entry.getKey());
|
||||
+ int regionIndex = findRegionIndex(regionArray, entry.getValue());
|
||||
out.writeShort(aliasIndex);
|
||||
out.writeShort(regionIndex);
|
||||
}
|
||||
@@ -269,6 +269,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ private static int findRegionIndex(String[] regionArray, String region) {
|
||||
+ int index = Arrays.binarySearch(regionArray, region);
|
||||
+ if (index < 0) {
|
||||
+ throw new IllegalArgumentException("Unknown region: " + region);
|
||||
+ }
|
||||
+ return index;
|
||||
+ }
|
||||
+
|
||||
private static final Pattern YEAR = Pattern.compile("(?i)(?<min>min)|(?<max>max)|(?<only>only)|(?<year>[0-9]+)");
|
||||
private static final Pattern MONTH = Pattern.compile("(?i)(jan)|(feb)|(mar)|(apr)|(may)|(jun)|(jul)|(aug)|(sep)|(oct)|(nov)|(dec)");
|
||||
private static final Matcher DOW = Pattern.compile("(?i)(mon)|(tue)|(wed)|(thu)|(fri)|(sat)|(sun)").matcher("");
|
||||
@@ -607,22 +615,20 @@
|
||||
}
|
||||
builtZones.put(aliasId, realRules);
|
||||
}
|
||||
- // remove UTC and GMT
|
||||
- // builtZones.remove("UTC");
|
||||
- // builtZones.remove("GMT");
|
||||
- // builtZones.remove("GMT0");
|
||||
- builtZones.remove("GMT+0");
|
||||
- builtZones.remove("GMT-0");
|
||||
- links.remove("GMT+0");
|
||||
- links.remove("GMT-0");
|
||||
- // remove ROC, which is not supported in j.u.tz
|
||||
- builtZones.remove("ROC");
|
||||
- links.remove("ROC");
|
||||
- // remove EST, HST and MST. They are supported via
|
||||
- // the short-id mapping
|
||||
- builtZones.remove("EST");
|
||||
- builtZones.remove("HST");
|
||||
- builtZones.remove("MST");
|
||||
+
|
||||
+ List<String> zonesToRemove = Arrays.asList(
|
||||
+ // remove UTC and GMT
|
||||
+ "GMT+0",
|
||||
+ "GMT-0",
|
||||
+ // remove ROC, which is not supported in j.u.tz
|
||||
+ "ROC",
|
||||
+ // remove EST, HST and MST. They are supported via
|
||||
+ // the short-id mapping
|
||||
+ "EST",
|
||||
+ "HST",
|
||||
+ "MST");
|
||||
+ builtZones.keySet().removeAll(zonesToRemove);
|
||||
+ links.keySet().removeAll(zonesToRemove);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,9 +1,9 @@
|
||||
Summary: Timezone data
|
||||
Name: tzdata
|
||||
Version: 2024a
|
||||
%define tzdata_version 2024a
|
||||
%define tzcode_version 2024a
|
||||
Release: 1%{?dist}
|
||||
Version: 2024b
|
||||
%define tzdata_version 2024b
|
||||
%define tzcode_version 2024b
|
||||
Release: 2%{?dist}
|
||||
License: Public Domain
|
||||
URL: https://www.iana.org/time-zones
|
||||
Source0: ftp://ftp.iana.org/tz/releases/tzdata%{tzdata_version}.tar.gz
|
||||
@ -13,8 +13,11 @@ Patch002: 0002-Fix-have-snprintf.patch
|
||||
%if 0%{?rhel} || 0%{?eln}
|
||||
Patch003: 0003-continue-to-ship-posixrules.patch
|
||||
%endif
|
||||
Patch004: 0004-Fix-Apr-vs-April-2024b.patch
|
||||
Patch005: 0005-Improve-style-checks-for-months-2024b.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gawk, glibc, perl-interpreter
|
||||
BuildRequires: java-devel
|
||||
BuildRequires: glibc-common >= 2.5.90-7
|
||||
@ -29,11 +32,14 @@ the world.
|
||||
Summary: Timezone data for Java
|
||||
Source3: javazic.tar.gz
|
||||
Source4: javazic-1.8-37392f2f5d59.tar.xz
|
||||
Source5: ZoneTest.java
|
||||
Patch100: javazic-fixup.patch
|
||||
Patch101: rebase-01.patch
|
||||
Patch102: rebase-02.patch
|
||||
Patch103: 7090844.patch
|
||||
Patch104: 7133138.patch
|
||||
Patch105: 8051641.patch
|
||||
Patch106: javazic-harden-links.patch
|
||||
|
||||
%description java
|
||||
This package contains timezone information for use by Java runtimes.
|
||||
@ -45,6 +51,8 @@ This package contains timezone information for use by Java runtimes.
|
||||
%if 0%{?rhel} || 0%{?eln}
|
||||
%patch003 -p1
|
||||
%endif
|
||||
%patch004 -p1
|
||||
%patch005 -p1
|
||||
|
||||
# tzdata-2018g introduced 25:00 transition times. This breaks OpenJDK.
|
||||
# Use rearguard for java
|
||||
@ -82,6 +90,8 @@ find . -type f -name '*.java' -print0 \
|
||||
popd
|
||||
|
||||
tar xf %{SOURCE4}
|
||||
%patch105
|
||||
%patch106 -p1
|
||||
|
||||
echo "%{name}%{tzdata_version}" >> VERSION
|
||||
|
||||
@ -138,6 +148,25 @@ cp -prd javazi $RPM_BUILD_ROOT%{_datadir}/javazi
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/javazi-1.8
|
||||
install -p -m 644 tzdb.dat $RPM_BUILD_ROOT%{_datadir}/javazi-1.8/
|
||||
|
||||
%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 %{SOURCE5} .
|
||||
javac ZoneTest.java
|
||||
java_home/bin/java ZoneTest
|
||||
echo ============END TESTING===========
|
||||
|
||||
%files
|
||||
%{_datadir}/zoneinfo
|
||||
%license LICENSE
|
||||
@ -151,6 +180,24 @@ install -p -m 644 tzdb.dat $RPM_BUILD_ROOT%{_datadir}/javazi-1.8/
|
||||
%{_datadir}/javazi-1.8
|
||||
|
||||
%changelog
|
||||
* Fri Sep 27 2024 Patsy Griffin <patsy@redhat.com> - 2024b-2
|
||||
- Harden against links to removed zones (RHEL-60063)
|
||||
|
||||
* Wed Sep 11 2024 Patsy Griffin <patsy@redhat.com> - 2024b-1
|
||||
- Update to tzdata-2024b
|
||||
- Improve historical data for Mexico, Mongolia, and Portugal.
|
||||
- System V names are now obsolescent.
|
||||
- The main data form now uses %z.
|
||||
- The code now conforms to RFC 8536 for early timestamps.
|
||||
- Support POSIX.1-2024, which removes asctime_r and ctime_r.
|
||||
- Assume POSIX.2-1992 or later for shell scripts.
|
||||
- SUPPORT_C89 now defaults to 1.
|
||||
- Include two upstream patches for month names as in April vs Apr.
|
||||
|
||||
* Thu Mar 14 2024 Patsy Griffin <patsy@redhat.com> - 2024a-2
|
||||
- Add java patch to fix incorrect calculations for
|
||||
Africa/Casablanca starting in 2027. (RHEL-26860)
|
||||
|
||||
* Thu Feb 01 2024 Patsy Griffin <patsy@redhat.com> - 2024a-1
|
||||
- Rebase to tzdata-2024a
|
||||
- Kazakhstan will transition from UTC+6 to UTC+5 on 2024-03-01.
|
||||
|
Loading…
Reference in New Issue
Block a user