[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