Skip to content

zoneinfo: updated to 2026a release#28723

Open
Wedmer wants to merge 1 commit intoopenwrt:masterfrom
Wedmer:zoneinfo_update
Open

zoneinfo: updated to 2026a release#28723
Wedmer wants to merge 1 commit intoopenwrt:masterfrom
Wedmer:zoneinfo_update

Conversation

@Wedmer
Copy link
Contributor

@Wedmer Wedmer commented Mar 9, 2026

📦 Package Details

Maintainer: @me

Description:
Briefly:

 Moldova has used EU transition times since 2022.
 The "right" TZif files are no longer installed by default.
 -DTZ_RUNTIME_LEAPS=0 disables runtime support for leap seconds.
 TZif files are no longer limited to 50 bytes of abbreviations.
 zic is no longer limited to 50 leap seconds.
 Several integer overflow bugs have been fixed.

Changes to past and future timestamps

 Since 2022 Moldova has observed EU transition times, that is, it
 has sprung forward at 03:00, not 02:00, and has fallen back at
 04:00, not 03:00.  (Thanks to Heitor David Pinto.)

Changes to data

 Remove Europe/Chisinau from zonenow.tab, as it now agrees with
 Europe/Athens for future timestamps.

Changes to build procedure

 The Makefile no longer by default installs an alternate set
 of TZif files for system clocks that count leap seconds.
 Install with 'make REDO=posix_right' to get the old default,
 which is rarely used in major downstream distributions.
 If your system clock counts leap seconds (contrary to POSIX),
 it is better to install with 'make REDO=right_only'.
 This change does not affect the leapseconds file, which is still
 installed as before.

 The Makefile's POSIXRULES option, which was declared obsolete in
 release 2019b, has been removed.  The Makefile's build procedure
 thus no longer optionally installs the obsolete posixrules file.

Changes to code

 Compiling with the new option -DTZ_RUNTIME_LEAPS=0 disables
 runtime support for leap seconds.  Although this conforms to
 POSIX, shrinks tzcode's attack surface, and is more efficient,
 it fails to support Internet RFC 9636's leap seconds.

 zic now can generate, and localtime.c can now use, TZif files that
 hold up to 256 bytes of abbreviations, counting trailing NULs.
 The previous limit was 50 bytes, and some tzdata TZif files were
 already consuming 40 bytes.  zic -v warns if it generates a file
 that exceeds the old 50-byte limit.

 zic -L can now generate TZif files with more than 50 leap seconds.
 This helps test TZif readers not limited to 50 leap seconds, as
 tzcode's localtime.c is; it has little immediate need for
 practical timekeeping as there have been only 27 leap seconds and
 possibly there will be no more, due to planned changes to UTC.
 zic -v warns if its output exceeds the old 50-second limit.

 localtime.c no longer accesses the posixrules file generated by
 zic -p.  Hence for obsolete and nonconforming settings like
 TZ="AST4ADT" it now typically falls back on US DST rules, rather
 than attempting to override this fallback with the contents of the
 posixrules file.  This removes library support that was declared
 obsolete in release 2019b, and fixes some undefined behavior.
 (Undefined behavior reported by GitHub user Naveed8951.)

 The posix2time, posix2time_z, time2posix, and time2posix_z
 functions now set errno=EOVERFLOW and return ((time_t) -1) if the
 result is not representable.  Formerly they had undefined behavior
 that could in practice result in crashing, looping indefinitely,
 or returning an incorrect result.  As before, these functions are
 defined only when localtime.c is compiled with the -DSTD_INSPIRED
 option.

 Some other undefined behavior, triggered by TZif files containing
 outlandish but conforming UT offsets or leap second corrections,
 has also been fixed.  (Some of these bugs reported by Naveed8951.)

 localtime.c no longer rejects TZif files that exactly fit in its
 internal structures, fixing off-by-one typos introduced in 2014g.

 zic no longer generates a no-op transition when
 simultaneous Rule and Zone changes cancel each other out.
 This occurs in tzdata only in Asia/Tbilisi on 1997-03-30.
 (Thanks to Renchunhui for a test case showing the bug.)

 zic no longer assumes you can fflush a read-only stream.
 (Problem reported by Christos Zoulas.)

 zic no longer generates UT offsets equal to -2**31 and localtime.c
 no longer accepts them, as they can cause trouble in both
 localtime.c and its callers.  RFC 9636 prohibits such offsets.

 zic -p now warns that the -p option is obsolete and likely
 ineffective.

🧪 Run Testing Details

  • OpenWrt Version: OpenWRT master
  • OpenWrt Target/Subtarget: TI OMAP3/4/AM33xx, default
  • OpenWrt Device:

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

Updated package version and file hashes.

Signed-off-by: Vladimir Ulrich <admin@evl.su>
@Wedmer Wedmer marked this pull request as ready for review March 9, 2026 05:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant