Evgheni, The first thing I noticed was the disparate file sizes that all of your compiled Asia/Gaza.* files have. It looks like all of the larger (~2.3 kB) files are yielding the correct/expected results (EET and EEST), while the smaller (~1.2 kB) files are not. I suspect that, in the cases of the smaller files, there is likely no real data in the v1 data block, which is to say that the first 51 bytes would look something like this: $ hexdump -n51 -C Asia/Gaza 00000000 54 5a 69 66 33 00 00 00 00 00 00 00 00 00 00 00 |TZif3...........| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 |................| 00000030 00 00 00 |...| 00000033 For such files, the useful data, so to speak, is in the version 2+ data block which begins directly after these bytes. (The format of these data blocks are described in detail in §3.2 of RFC8536.) https://www.rfc-editor.org/rfc/rfc8536.html#section-3.2 The next thing I recalled is that, beginning with version 2020b, our packaged version of zic now defaults to using the "-b slim" option which removes the v1 data block in this way, since it is dependent on 32-bit timestamps that will rollover in early 2038 and is thus decreasing in utility as that date nears. https://github.com/eggert/tz/commit/6ba6f2117b95eab345a7ed9159cef939e30c4cd3 https://mm.icann.org/pipermail/tz/2020-June/029125.html It seems that, for now, the Ubuntu maintainers have decided to still compile with "-b fat" to maintain the v1 data block, which is why their files seem to work for you. So this brings us the logical follow-on question: Why is the system you're testing only looking at the (legacy) 32-bit data in the v1 data block, and not using the 64-bit data in the v2+ data block? Please let us know more about the system you're running so that we can get a better sense of which platforms have successfully made the transition to properly using TZif version 2+ data for 64-bit timestamps, and which haven't. -- Tim Parenti On Mon, 1 Mar 2021 at 14:19, Evgheni Antropov via tz <tz@iana.org> wrote:
Dear tzdata maintainers,
I have found that after tzdata2020b release something has gone wrong with Asia/Gaza timezone, which is related to Palestine.
For checking I used this information https://www.timeanddate.com/worldclock/palestine/gaza and
for DST at 2019: https://www.timeanddate.com/time/change/palestine/gaza?year=2019
for DST at 2020: https://www.timeanddate.com/time/change/palestine/gaza?year=2020
for DST at 2021: https://www.timeanddate.com/time/change/palestine/gaza?year=2021
I compiled all last release of tzdata from 2019c to 2021a and was comparing them with Ubuntu packages for 2020b on groovy (20.10) and 2021a on bionic (18.04).
If several changes in the date of DST for different years can be related with last applied laws of DST in Palestine (described here http://mm.icann.org/pipermail/tz/2020-October/029376.html), but broken timezone output in letters or numbers is speaking about any error in the this time zone code.
Can you investigate this too ?
On screenshot you can see all my investigation:
Also I share all commands and listing for your execution itself:
[root@Router8:~]# ls -la /etc/localtime
lrwxrwxrwx 1 root root 35 Mar 4 2021 /etc/localtime -> /usr/share/zoneinfo/posix/Asia/Gaza
[root@Router8:~]# ls -la /usr/share/zoneinfo/posix/Asia/Gaza*
lrwxrwxrwx 1 root root 41 Mar 27 01:00 /usr/share/zoneinfo/posix/Asia/Gaza -> /usr/share/zoneinfo/posix/Asia/Gaza.2019c
-rw-r--r-- 1 root root 2316 Oct 22 09:34 /usr/share/zoneinfo/posix/Asia/Gaza.2019c
-rw-r--r-- 1 root root 2316 Oct 30 2020 /usr/share/zoneinfo/posix/Asia/Gaza.2020a
-rw-r--r-- 1 root root 1166 Oct 30 2020 /usr/share/zoneinfo/posix/Asia/Gaza.2020b
-rw-r--r-- 1 root root 1166 Oct 30 2020 /usr/share/zoneinfo/posix/Asia/Gaza.2020c
-rw-r--r-- 1 root root 1195 Oct 30 2020 /usr/share/zoneinfo/posix/Asia/Gaza.2020d
-rw-r--r-- 1 root root 1213 Mar 1 2021 /usr/share/zoneinfo/posix/Asia/Gaza.2021a
-rw-r--r-- 1 root root 2316 Oct 19 2020 /usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2020b
-rw-r--r-- 1 root root 2459 Jan 27 2021 /usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2021a
[root@Router8:~]# date +"%Y%m%d %T" -s "20190328 23:59:55" ; sleep 4; date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
20190328 23:59:55
Thu Mar 28 23:59:59 2019 +0200 EET
Fri Mar 29 01:00:01 2019 +0300 EEST
[root@Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.2020a /usr/share/zoneinfo/posix/Asia/Gaza
'/usr/share/zoneinfo/posix/Asia/Gaza' -> '/usr/share/zoneinfo/posix/Asia/Gaza.2020a'
[root@Router8:~]# date +"%Y%m%d %T" -s "20200326 23:59:55" ; sleep 4; date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
20200326 23:59:55
Thu Mar 26 23:59:59 2020 +0200 EET
Fri Mar 27 01:00:01 2020 +0300 EEST
[root@Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.2020b /usr/share/zoneinfo/posix/Asia/Gaza
'/usr/share/zoneinfo/posix/Asia/Gaza' -> '/usr/share/zoneinfo/posix/Asia/Gaza.2020b'
[root@Router8:~]# date +"%Y%m%d %T" -s "20200326 23:59:55" ; sleep 4; date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
20200326 23:59:55
Thu Mar 26 23:59:59 2020 +0000
Fri Mar 27 00:00:01 2020 +0000
[root@Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.2020c /usr/share/zoneinfo/posix/Asia/Gaza
'/usr/share/zoneinfo/posix/Asia/Gaza' -> '/usr/share/zoneinfo/posix/Asia/Gaza.2020c'
[root@Router8:~]# date +"%Y%m%d %T" -s "20200326 23:59:55" ; sleep 4; date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
20200326 23:59:55
Thu Mar 26 23:59:59 2020 +0000
Fri Mar 27 00:00:01 2020 +0000
[root@Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2020b /usr/share/zoneinfo/posix/Asia/Gaza
'/usr/share/zoneinfo/posix/Asia/Gaza' -> '/usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2020b'
[root@Router8:~]# date +"%Y%m%d %T" -s "20200326 23:59:55" ; sleep 4; date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
20200326 23:59:55
Thu Mar 26 23:59:59 2020 +0200 EET
Fri Mar 27 01:00:01 2020 +0300 EEST
[root@Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.2021a /usr/share/zoneinfo/posix/Asia/Gaza
'/usr/share/zoneinfo/posix/Asia/Gaza' -> '/usr/share/zoneinfo/posix/Asia/Gaza.2021a'
[root@Router8:~]# date +"%Y%m%d %T" -s "20210326 23:59:55" ; sleep 4; date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
20210326 23:59:55
Fri Mar 26 23:59:59 2021 +0000
Sat Mar 27 00:00:01 2021 +0000
[root@Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2021a /usr/share/zoneinfo/posix/Asia/Gaza
'/usr/share/zoneinfo/posix/Asia/Gaza' -> '/usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2021a'
[root@Router8:~]# date +"%Y%m%d %T" -s "20210326 23:59:55" ; sleep 4; date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
20210326 23:59:55
Fri Mar 26 23:59:59 2021 +0200 EET
Sat Mar 27 01:00:01 2021 +0300 EEST
Best regards,
Evgheni Antropov
Software R&D Engineer
+373 22 404 665
www.addgrup.com