[tz] Extra transition for Europe/London with 2023d
Derick Rethans
derick at derickrethans.nl
Sat Jan 6 10:03:21 UTC 2024
On Thu, 4 Jan 2024, brian.inglis--- via tz wrote:
> On 2024-01-04 11:07, Bradley White via tz wrote:
> > It was ...
> >
> > commit 35c116b7536a36c43eb7cd36bff71ad0c5ecf071
> > Author: Paul Eggert <eggert at cs.ucla.edu <mailto:eggert at cs.ucla.edu>>
> > Date: Sun Oct 15 12:26:28 2023 -0700
> >
> > Fix zic bug with Palestine after 2075
> >
> > The bug can be observed when processing the following .zi data,
> > adapted from the current ‘asia’ file:
> > Rule Palestine 2075 max - Mar Sat<=30 2:00 1:00 S
> > Rule Palestine 2075 max - Oct Sat<=30 2:00 0 -
> > Rule Palestine 2076 only - Jul 25 2:00 0 -
> > Rule Palestine 2076 only - Sep 5 2:00 1:00 S
> > Zone Asia/Gaza 2:00 - EET 2012
> > 2:00 Palestine EE%sT
> > Without the fix, zic generates an incorrect TZif file, in which
> > the special-case 2076 transitions are omitted. This causes ‘zdump
> > -ic 2076,2077 Asia/Gaza’ to mistakenly omit the lines:
> > 2076-07-25 01 +02 EET
> > 2076-09-05 03 +03 EEST 1
> > * zic.c (outzone): Redo algorithm to work even when the effect of
> > a Rule that never ends (TO="max") is interspersed with the effect
> > of a one-shot rule (TO="only").
>
> So the issue appears running `2023d/zic -slim -d ... 2023[cd]/europe`?
No, it does affect a lot more zones than just europe:
https://gist.github.com/derickr/8e86f0c5a54702fb94a512719b1533c5
There are some expected changes, such as Gaza/Hebron, but most of the
difference shouldn't have happened there.
I wonder though, is there no test suite for this? To me these changes
seem clearly not expected.
> Has anyone tried using tzdata 2023[cd] `make tzdata.zi` then
>
> 2023d/zic -b slim -d ... tzdata.zi
>
> to confirm if the issue still appears in Europe/London?
After running the following in my repo directory:
./code-2023c/zic -d data-files/2023c -b slim code-2023c/tzdata.zi
./code-2023d/zic -d data-files/2023d -b slim code-2023d/tzdata.zi
It still shows the same transition changes, as well as the other changes
in the GIST (and a few more, as I had forgotten about pacific,
antarctica, and pacific:
for i in data-files/2023c/*/*; do TZ=$(echo $i | sed 's at data-files/2023c/@@'); diff -u <(~/dev/derickr-timelib/docs/show-tzinfo $TZ `pwd`/data-files/2023c) <(~/dev/derickr-timelib/docs/show-tzinfo $TZ `pwd`/data-files/2023d) > /tmp/result.txt; if [ -s /tmp/result.txt ]; then echo $TZ; cat /tmp/result.txt; echo; fi; done
https://gist.github.com/derickr/80c0a834211656bc9301507c4d3757d1
cheers,
Derick
More information about the tz
mailing list