[Midnightbsd-cvs] [MidnightBSD/src] 4e7e06: Vendor import of tzcode 2026c

Lucas Holt noreply at github.com
Sat Aug 1 20:05:24 EDT 2026


  Branch: refs/heads/master
  Home:   https://github.com/MidnightBSD/src
  Commit: 4e7e0630da73add52bcb85d11ebe60a155464b2f
      https://github.com/MidnightBSD/src/commit/4e7e0630da73add52bcb85d11ebe60a155464b2f
  Author: Lucas Holt <luke at foolishgames.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M CONTRIBUTING
    M Makefile
    M NEWS
    M README
    M SECURITY
    M asctime.c
    M calendars
    M date.1
    M date.1.txt
    M date.c
    M localtime.c
    M newctime.3
    M newctime.3.txt
    M newstrftime.3
    M newstrftime.3.txt
    M newtzset.3
    M newtzset.3.txt
    M private.h
    M strftime.c
    M theory.html
    M time2posix.3
    M time2posix.3.txt
    M tz-art.html
    M tz-how-to.html
    M tz-link.html
    M tzfile.5
    M tzfile.5.txt
    M tzfile.h
    M tzselect.8
    M tzselect.8.txt
    M tzselect.ksh
    M version
    M workman.sh
    M zdump.8
    M zdump.8.txt
    M zdump.c
    M zic.8
    M zic.8.txt
    M zic.c

  Log Message:
  -----------
  Vendor import of tzcode 2026c


  Commit: b644873aa2b7578a1afd27d05596c9f61d131ecf
      https://github.com/MidnightBSD/src/commit/b644873aa2b7578a1afd27d05596c9f61d131ecf
  Author: Lucas Holt <luke at foolishgames.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M contrib/tzcode/CONTRIBUTING
    M contrib/tzcode/Makefile
    M contrib/tzcode/NEWS
    M contrib/tzcode/README
    M contrib/tzcode/SECURITY
    M contrib/tzcode/asctime.c
    M contrib/tzcode/calendars
    M contrib/tzcode/date.1
    M contrib/tzcode/date.c
    M contrib/tzcode/difftime.c
    M contrib/tzcode/localtime.c
    M contrib/tzcode/newctime.3
    M contrib/tzcode/newstrftime.3
    M contrib/tzcode/newtzset.3
    M contrib/tzcode/private.h
    M contrib/tzcode/strftime.c
    M contrib/tzcode/theory.html
    M contrib/tzcode/time2posix.3
    M contrib/tzcode/tz-art.html
    M contrib/tzcode/tz-how-to.html
    M contrib/tzcode/tz-link.html
    M contrib/tzcode/tzconfig.h
    M contrib/tzcode/tzfile.5
    M contrib/tzcode/tzfile.h
    M contrib/tzcode/tzselect.8
    M contrib/tzcode/tzselect.ksh
    M contrib/tzcode/version
    M contrib/tzcode/workman.sh
    M contrib/tzcode/zdump.8
    M contrib/tzcode/zdump.c
    M contrib/tzcode/zic.8
    M contrib/tzcode/zic.c

  Log Message:
  -----------
  Merge tzcode 2026c from vendor branch

Update contrib/tzcode from 2024b to 2026c.  Most of the MidnightBSD
local patch set has been absorbed upstream and no longer needs to be
carried:

- zic's -D, -g, -m and -u options are now upstream, documented there as
  being for compatibility with FreeBSD 14.
- The DETECT_TZ_CHANGES time zone change detection is now an upstream
  feature (TZ_CHANGE_INTERVAL), replacing the local change_in_tz() and
  recheck_tzdata() implementation and the local fix in 11977fd8fd.
- localtime.c no longer needs the namespace.h/un-namespace.h wrappers
  or the local pthread-key thread safety code; upstream covers this via
  HAVE___ISTHREADED, THREAD_PREFER_SINGLE and THREAD_TM_MULTI.

tzconfig.h grows the feature macros the new code expects.  All of them
were verified to hold on MidnightBSD: mempcpy(3), issetugid(2),
setmode(3), openat(2), struct stat st_ctim, __isthreaded and jemalloc's
errno-preserving free(3).  GRANDPARENTED is defined here to match the
local contrib/tzdata/factory zone string, which zic validates against.

contrib/tzcode is now byte-identical to FreeBSD stable/14, which also
runs tzcode 2026c; before this merge it was byte-identical to FreeBSD
releng/14.2 apart from a cherry-picked FreeBSD fix that is now upstream.

Verified: zic output over all 598 zones is byte-identical to the 2024b
output for 595 zones.  Asia/Ho_Chi_Minh, Asia/Saigon and Asia/Tbilisi
shrink by 4-9 bytes due to the 2026b abbreviation-suffix optimisation;
all three produce identical transitions when read by the old zdump, as
do all 598 zones over 478651 lines of transition dumps.  localtime(3),
mktime(3) and strftime(3) output is unchanged across all zones in all
four old/new libc x old/new zoneinfo combinations, with one exception:
the Factory placeholder abbreviation is now scrubbed to
"Local_time_zone_must_be_set--use_tzsetup" (spaces to underscores).
Nothing in the tree matches on that string.  libc's time-related
exported symbol set is unchanged.

AI-Assisted-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Signed-off-by: Lucas Holt <luke at foolishgames.com>


  Commit: 776f7908c673a28b58bb34a67c22bcd5bdc47d1a
      https://github.com/MidnightBSD/src/commit/776f7908c673a28b58bb34a67c22bcd5bdc47d1a
  Author: Lucas Holt <luke at foolishgames.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M UPDATING
    M contrib/tzcode/version.h

  Log Message:
  -----------
  tzcode: correct the version string and note the update in UPDATING

version.h has reported 2022g since before the 2024b import; FreeBSD
carries the same stale value.  Report the actual version so that
"zic --version" and "zdump --version" are useful when diagnosing time
zone problems.

AI-Assisted-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Signed-off-by: Lucas Holt <luke at foolishgames.com>


Compare: https://github.com/MidnightBSD/src/compare/eb07f298f034...776f7908c673

To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/src/settings/notifications


More information about the Midnightbsd-cvs mailing list