[tz] Single source of truth for timezone data

Benjamin Drung benjamin.drung at canonical.com
Thu Dec 1 13:45:45 UTC 2022


Hi everyone,

I am writing this mail with my distribution maintainer hat on since I am
responsible for keeping the tzdata package up-to-date in Ubuntu. I like
to propose to have a single source of truth for timezone data, which
should be the tzdata source package. Updating this package in a
distribution like Debian/Ubuntu should be enough to update all consumers
in the distribution.

Sadly this is currently not the case. Ubuntu since 20.04 (focal) adds
the four icu source files metaZones.txt, timezoneTypes.txt,
windowsZones.txt, and zoneinfo64.txt from
https://github.com/unicode-org/icu-data to the tzdata source package.
Then it uses genrb and icupkg to generate the .res files. Since the icu
project lacks behind the tzdata release by hours up to days, Ubuntu has
to update tzdata twice (first the tzdata release, then the icu update).

metaZones.txt, timezoneTypes.txt, and windowsZones.txt are generated
using tools/cldr/cldr-to-icu/build-icu-data.xml from
https://github.com/unicode-org/icu. zoneinfo64.txt is generated by
tz2icu. build-icu-data.xml uses https://github.com/unicode-org/cldr as
input to convert the cldr data to icu. If I saw that correctly, only
common/supplemental/metaZones.xml needs to be updated there on an
update.

Can tzdata include the necessary data and tools to generate
metaZones.xml from its source? Then it would be possible to generate the
icu data from the tzdata source without the need to wait for icu to
catch up. Then Debian/Ubuntu can ship a tzdata-icu package for it [1].

[1] https://bugs.debian.org/954112

-- 
Benjamin Drung
Debian & Ubuntu Developer


More information about the tz mailing list