glibc/timezone
Paul Eggert 1f94147a79 timezone: sync to TZDB 2024a
Sync tzselect, zdump, zic to TZDB 2024a.
This patch incorporates the following TZDB source code changes,
listed roughly in descending order of importance.

  zic now supports links to links, needed for future tzdata
  zic now defaults to '-b slim'
  zic now updates output files atomically
  zic has new options -R, -l -, -p -
  zic -r now uses -00 for unspecified timestamps
  zdump now uses [lo,hi) for both -c and -t
  Fix several integer overflow bugs
  zic now checks input bytes more carefully
  Simplify and fix new TZDIR setup
  Default time_t to 64 bits on glibc 2.34+ 32-bit
  zic now generates TZ strings that conform to POSIX when all-year DST
  zic -v now shows extreme-int tm_year transitions
  Fix zic bug in last time type of Asia/Gaza etc.
  Fix zic bug with Palestine after 2075
  Fix bug uncovered by recent change to Iran history
  Fix 'zic -b fat' bug with Port Moresby 32-bit data
  Fix zic bug with -r @X where X is deduced from TZ
  Fix bug with zic -r cutoff before 1st transition
  Fix leap second expiry and truncation
  Fix zic bug on Linux 2.6.16 and 2.6.17
  Fix bug with 'zic -d /a/b/c' if /a is unwriteable
  Don't mistruncate TZif files at leap seconds
  Fix zdump undefined behavior if !USE_LTZ
  zdump -v reports localtime+gmtime failures better
  Fix zdump diagnostic for missing timezone
  Don't assume nonempty argv
  Port better to C23
  Do not assume negative >> behavior
  I18nize zdump a bit better
  Port zdump to right_only installations
  New tzselect menu option 'now'
  tzselect can now use current time to help choose
  Improve tzselect behavior for Turkey etc.
  tzselect: do not create temporary files
  tzselect: work around mawk bug with {2,}
  tzselect: Port to POSIX awk, which prohibits -v newlines
  Do not use empty RE in tzselect
  Don't set TZ in tzselect
  Avoid sed, expr in tzselect
  tzselect: Fix problems with spaces in TZDIR
  Improve tzselect diagnostics
  Remove zic workaround for Qt bug 53071
  Remove zic support for "min" in Rule lines
  Remove zic support for zic -y, Rule TYPEs, pacificnew
  Remove tzselect workaround for Bash 1.14.7 bug

* SHARED-FILES: Update to match current sync.
* config.h.in (HAVE_STRERROR): Remove; no longer needed.
* timezone/Makefile ($(objpfx)zic.o): Depend on tzdir.h.
($(objpfx)tzdir.h): New rule to build a placeholder.
* timezone/private.h, timezone/tzfile.h, timezone/version:
* timezone/zdump.c, timezone/zic.c: Copy verbatim from TZDB 2024a.
2024-04-07 13:35:48 -07:00
..
testdata
africa
antarctica
asia
australasia
backward
etcetera
europe
factory
iso3166.tab
leapseconds
Makefile
northamerica
pacificnew
private.h
README
simplebackw
solar87
solar88
solar89
southamerica
systemv
test-tz.c
tst-bz28707.c
tst-bz29951.c
tst-timezone.c
tst-tzset.c
tzfile.h
tzselect.ksh
version
yearistype
zdump.c
zic.c
zone.tab

The files
	zic.c zdump.c tzfile.h private.h tzselect.ksh version
come from the tzcode package by Arthur David Olson et.al.
The 'version' file specifies which tzcode version was used.

The files
	africa antarctica asia australasia europe
	northamerica southamerica pacificnew etcetera factory
	backward systemv solar87 solar88 solar89
	iso3166.tab zone.tab leapseconds yearistype
come from the tzdata package by Arthur David Olson et.al.
except that its 'yearistype.sh' file is renamed to 'yearistype'.
These tzdata files were taken from tzdata 2009i and have not been
updated since, as they do not affect glibc installation and are
present only for regression testing.

Please also see: https://sourceware.org/glibc/wiki/SharedSourceFiles

These packages may be found at https://ftp.iana.org/tz/releases/.
Commentary should be addressed to tz@iana.org.

The subdirectory testdata contains manually edited data files for
regression testing purposes.