Skip to content

Commit

Permalink
Squashed 'tz/' changes from cc48c2dfa..beeb53a3d
Browse files Browse the repository at this point in the history
380c07cef Release 2024a
a97e920cd * localtime.c: Fix comment typography.
85a0aade5 Update a few stale links * theory.html, tz-art.html: Update stale links and normalize some punctuation and white space.
75c9e5923 Streamline tz-link a bit
619fcf091 Improve Czechoslovakia commentary
9740ab1de * tz-link.html: Prefer <code> to <samp> for code snippets.
983d3efb3 * tz-link.html: Mention posix_tz_db.
2903b9acf Document POSIX versions more carefully
23e7cfa05 Palestine springs forward a week later after Ramadan
f4c6e5f15 Update link to Palestine MTIT
b3d4dbb84 Fix NEWS typo for strftime
f295cc13b Mention zonenow.tab in “Theory”
e9f12c313 Update some tz-link links
f481c61c2 * zonenow.tab: Fix up west Kazakhstan comments.
7de0bfb9c Update ISO 3166-2:KZ codes for Kazakhstan
2cbd39c9e Asia/Ho_Chi_Minh: Correct 1955 transition
1fe97024d Add Kazakhstan PM’s decision
9a43feddc Update Kazakhstan region comments
39bfdc787 Fix typo in checknow.awk diagnostic
608c13d48 Pacify ‘make check’ for Kazakhstan changes
95a16c87f Kazakhstan unifies on UTC+5 beginning 2024-03-01.
845957071 Update Matthews & Vincent URI
16495d669 Improve recent Vietnam doc
893c20b04 Asia/Ho_Chi_Minh 1945-09 Source added
b7f926f32 More strftime doc improvements
fc7b8b61a Document strftime struct tm member usage
a707253f0 For strftime %z, use tm_gmtoff if available
b4ec32798 Draft next POSIX has tm_gmtoff, tm_zone
4238791ac Sort links by dest when shrinking vanguard
77e6d7f64 Sort zones by name when shrinking
b848dce41 Shrink lines by class
05588b6b5 Simplify zishrink.awk
1ca031c0d Shrink tzdata.zi a bit more if vanguard
400526081 "m" now abbreviates both "maximum" and "minimum"
f927f6e33 Don’t mention ftp.nist.gov
e6b568372 Miquelon 1911 transition was June 15 not May 15
56c15806e Toronto 1947/1949 switched at 02:00 not 00:00
cb72e39b7 make commit-leap-seconds.list
27b4d76d1 Automate copying of leap-seconds.list
5a43b0d7d Improve tzalloc etc. man page
95fa1a491 * NEWS: Fix America/Ciudad_Juarez summary.
321a49c95 Remove support for "min" in Rule lines
f83d3a375 Name two constants in zic.c
325e4efd1 Avoid pwd in tzselect when developing
d4c4422e5 Avoid sed in tzselect
d03bc3aee Avoid expr in tzselect
322abaa97 Reformat music section
d6a94fee0 Comics update
284ebde20 Fix localtime.c bug: America/Ciudad_Juarez in 2422

git-subtree-dir: tz
git-subtree-split: beeb53a3d8a62e7525d5e6345c5c7ca4bde26a6b
  • Loading branch information
stub42 committed Feb 2, 2024
1 parent 4a37f7c commit e22640e
Show file tree
Hide file tree
Showing 27 changed files with 1,091 additions and 880 deletions.
53 changes: 42 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ DATAFORM= main

LOCALTIME= Factory

# The POSIXRULES macro controls interpretation of POSIX-like TZ
# The POSIXRULES macro controls interpretation of POSIX-2017.1-like TZ
# settings like TZ='EET-2EEST' that lack DST transition rules.
# If POSIXRULES is '-', no template is installed; this is the default.
# Any other value for POSIXRULES is obsolete and should not be relied on, as:
Expand Down Expand Up @@ -274,7 +274,7 @@ LDLIBS=
# -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory;
# the default is system-supplied, typically "/usr/lib/locale"
# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified
# DST transitions for POSIX-style TZ strings lacking them,
# DST transitions for POSIX.1-2017-style TZ strings lacking them,
# in the usual case where POSIXRULES is '-'. If not specified,
# TZDEFRULESTRING defaults to US rules for future DST transitions.
# This mishandles some past timestamps, as US DST rules have changed.
Expand Down Expand Up @@ -340,9 +340,10 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this.
# Similarly, if your system has a "zone abbreviation" field, define
# -DTM_ZONE=tm_zone
# and define NO_TM_ZONE to suppress any guessing. Although these two fields
# not required by POSIX, a future version of POSIX is planned to require them
# and they are widely available on GNU/Linux and BSD systems.
# and define NO_TM_ZONE to suppress any guessing.
# Although these two fields are not required by POSIX.1-2017,
# POSIX 202x/D4 requires them and they are widely available
# on GNU/Linux and BSD systems.
#
# The next batch of options control support for external variables
# exported by tzcode. In practice these variables are less useful
Expand All @@ -352,7 +353,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# # -DHAVE_TZNAME=0 # do not support "tzname"
# # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library
# # -DHAVE_TZNAME=2 # support and define "tzname"
# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later.
# # to the "CFLAGS=" line. "tzname" is required by POSIX.1-1988 and later.
# # If not defined, the code attempts to guess HAVE_TZNAME from other macros.
# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause
# # crashes when combined with some platforms' standard libraries,
Expand All @@ -362,8 +363,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# # -DUSG_COMPAT=0 # do not support
# # -DUSG_COMPAT=1 # support, and variables are defined by system library
# # -DUSG_COMPAT=2 # support and define variables
# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by
# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later.
# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix
# # Systems Group code and are required by POSIX.1-2008 and later (with XSI).
# # If not defined, the code attempts to guess USG_COMPAT from other macros.
# #
# # To support the external variable "altzone", add
Expand Down Expand Up @@ -427,7 +428,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \

# The name of a POSIX-like library archiver, its flags, C compiler,
# linker flags, and 'make' utility. Ordinarily the defaults suffice.
# The commented-out values are the defaults specified by POSIX 202x/D3.
# The commented-out values are the defaults specified by POSIX.1-202x/D4.
#AR = ar
#ARFLAGS = -rv
#CC = c17
Expand All @@ -439,6 +440,12 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \

LEAPSECONDS=

# Where to fetch leap-seconds.list from.
leaplist_URI = \
https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list
# The file is generated by the IERS Earth Orientation Centre, in Paris.
leaplist_TZ = Europe/Paris

# The zic command and its arguments.

zic= ./zic
Expand Down Expand Up @@ -471,7 +478,8 @@ AWK= awk
# is typically nicer if it works.
KSHELL= /bin/bash

# Name of curl <https://curl.haxx.se/>, used for HTML validation.
# Name of curl <https://curl.haxx.se/>, used for HTML validation
# and to fetch leap-seconds.list from upstream.
CURL= curl

# Name of GNU Privacy Guard <https://gnupg.org/>, used to sign distributions.
Expand Down Expand Up @@ -718,6 +726,28 @@ leapseconds: $(LEAP_DEPS)
-f leapseconds.awk leap-seconds.list >$@.out
mv $@.out $@
# Awk script to extract a Git-style author from leap-seconds.list comments.
EXTRACT_AUTHOR = \
author_line { sub(/^.[[:space:]]*/, ""); \
sub(/:[[:space:]]*/, " <"); \
printf "%s>\n", $$0; \
success = 1; \
exit \
} \
/Questions or comments to:/ { author_line = 1 } \
END { exit !success }
# Fetch leap-seconds.list from upstream.
fetch-leap-seconds.list:
$(CURL) -OR $(leaplist_URI)
# Fetch leap-seconds.list from upstream and commit it to the local repository.
commit-leap-seconds.list: fetch-leap-seconds.list
author=$$($(AWK) '$(EXTRACT_AUTHOR)' leap-seconds.list) && \
date=$$(TZ=$(leaplist_TZ) stat -c%y leap-seconds.list) && \
git commit --author="$$author" --date="$$date" -m'make $@' \
leap-seconds.list
# Arguments to pass to submakes of install_data.
# They can be overridden by later submake arguments.
INSTALLARGS = \
Expand Down Expand Up @@ -1315,7 +1345,8 @@ zic.o: private.h tzfile.h tzdir.h version.h
.PHONY: ALL INSTALL all
.PHONY: check check_mild check_time_t_alternatives
.PHONY: check_web check_zishrink
.PHONY: clean clean_misc dummy.zd force_tzs
.PHONY: clean clean_misc commit-leap-seconds.list dummy.zd
.PHONY: fetch-leap-seconds.list force_tzs
.PHONY: install install_data maintainer-clean names
.PHONY: posix_only posix_right public
.PHONY: rearguard_signatures rearguard_signatures_version
Expand Down
68 changes: 68 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,5 +1,73 @@
News for the tz database

Release 2024a - 2024-02-01 09:28:56 -0800

Briefly:
Kazakhstan unifies on UTC+5 beginning 2024-03-01.
Palestine springs forward a week later after Ramadan.
zic no longer pretends to support indefinite-past DST.
localtime no longer mishandles Ciudad Juárez in 2422.

Changes to future timestamps

Kazakhstan unifies on UTC+5. This affects Asia/Almaty and
Asia/Qostanay which together represent the eastern portion of the
country that will transition from UTC+6 on 2024-03-01 at 00:00 to
join the western portion. (Thanks to Zhanbolat Raimbekov.)

Palestine springs forward a week later than previously predicted
in 2024 and 2025. (Thanks to Heba Hamad.) Change spring-forward
predictions to the second Saturday after Ramadan, not the first;
this also affects other predictions starting in 2039.

Changes to past timestamps

Asia/Ho_Chi_Minh's 1955-07-01 transition occurred at 01:00
not 00:00. (Thanks to Đoàn Trần Công Danh.)

From 1947 through 1949, Toronto's transitions occurred at 02:00
not 00:00. (Thanks to Chris Walton.)

In 1911 Miquelon adopted standard time on June 15, not May 15.

Changes to code

The FROM and TO columns of Rule lines can no longer be "minimum"
or an abbreviation of "minimum", because TZif files do not support
DST rules that extend into the indefinite past - although these
rules were supported when TZif files had only 32-bit data, this
stopped working when 64-bit TZif files were introduced in 1995.
This should not be a problem for realistic data, since DST was
first used in the 20th century. As a transition aid, FROM columns
like "minimum" are now diagnosed and then treated as if they were
the year 1900; this should suffice for TZif files on old systems
with only 32-bit time_t, and it is more compatible with bugs in
2023c-and-earlier localtime.c. (Problem reported by Yoshito
Umaoka.)

localtime and related functions no longer mishandle some
timestamps that occur about 400 years after a switch to a time
zone with a DST schedule. In 2023d data this problem was visible
for some timestamps in November 2422, November 2822, etc. in
America/Ciudad_Juarez. (Problem reported by Gilmore Davidson.)

strftime %s now uses tm_gmtoff if available. (Problem and draft
patch reported by Dag-Erling Smørgrav.)

Changes to build procedure

The leap-seconds.list file is now copied from the IERS instead of
from its downstream counterpart at NIST, as the IERS version is
now in the public domain too and tends to be more up-to-date.
(Thanks to Martin Burnicki for liaisoning with the IERS.)

Changes to documentation

The strftime man page documents which struct tm members affect
which conversion specs, and that tzset is called. (Problems
reported by Robert Elz and Steve Summit.)


Release 2023d - 2023-12-21 20:02:24 -0800

Briefly:
Expand Down
8 changes: 6 additions & 2 deletions africa
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
# https://www.jstor.org/stable/1774359
#
# For the 1911/1912 establishment of standard time in French possessions, see:
# Société Française de Physique, Recueil de constantes physiques (1913),
# page 752, 18b.
#
# European-style abbreviations are commonly used along the Mediterranean.
# For sub-Saharan Africa abbreviations were less standardized.
# Previous editions of this database used WAT, CAT, SAT, and EAT
Expand Down Expand Up @@ -113,7 +117,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia

# Chad
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena
1:00 - WAT 1979 Oct 14
1:00 1:00 WAST 1980 Mar 8
1:00 - WAT
Expand All @@ -139,7 +143,7 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
# Inaccessible, Nightingale: uninhabited

# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1
0:00 - GMT

###############################################################################
Expand Down
Loading

0 comments on commit e22640e

Please sign in to comment.