[tz] Single source of truth for timezone data
Paul Eggert
eggert at cs.ucla.edu
Sat Dec 10 20:44:29 UTC 2022
On 2022-12-09 15:08, Benjamin Drung wrote:
> On Thu, 2022-12-08 at 12:50 -0800, Paul Eggert wrote:
>> In the past I've gotten my Ubuntu systems updated within 24 hours of a
>> tzdata release, simply by applying patches as usual from Ubuntu. But as
>> Benjamin indicates, this is not happening with 2022g. I just now checked
>> for updates and I'm still stuck on 2022f. So from my point of view,
>> Ubuntu is slow in this case - instead of taking less than a day, it's
>> taking more than a week.
>
> Ubuntu has as stable release update (SRU) process [1]. The process
> includes letting the update age in -proposed for at least seven days.
> That hasn't changed since the beginning in 2006. So I wonder how you get
> the updates within 24 hours.
I remember writing to this list about the speed of Ubuntu updates at
least once. After some searching today, I found that after the 2015f
release was announced August 11, 2015 at 04:37:39 UTC, I wrote on August
13 at 15:01:16 UTC that my Ubuntu workstation was already updated. See:
https://mm.icann.org/pipermail/tz/2015-August/022594.html
I didn't do anything special; I simply ran updates. So it sounds like
the SRU process has had some sort of exception in the past for tzdata,
and it suggests that Ubuntu could continue to have this exception.
That said, running updates is complicated in Ubuntu as there are several
ways to do it. On the Ubuntu 22.10 workstation I'm typing this on, if I
click on Activities and search for "update" I get three different
Ubuntu-supplied GUI icons, labeled "Software Updater", "Software &
Updates", and "Ubuntu Software"; each can update tzdata. I can also do
command-line updates with shell commands like "apt" or terminal-window
commands like "aptitude". These alternate ways of doing updates
typically do not agree, so although I did just update as usual in 2015,
perhaps I used a different update procedure than the one you're thinking
about. (Back in 2015 I was probably using "aptitude".)
> There should be no copies of tzdata in Ubuntu. All software packages
> should only rely on tzdata. Please let me know if you find any. The only
> problematic package that I know is python3-tz which includes a hard
> coded list of time zone names [4].
I suspect there are several packages other than python3-pytzdata that
have such lists. Although I by no means have a lot of packages installed
on my workstation, I just now ran the command
grep -rl Africa/Casablanca /usr /snap
and found several files that mentioned this string (which is almost
surely derived from tzdata). Here are three:
/usr/share/liblangtag/common/bcp47/timezone.xml
/usr/lib/thunderbird/libxul.so
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.6
from the liblangtag-common, thunderbird, and libqt5core5a packages.
Also, due to Ubuntu's use of snaps there are multiple copies of tzdata
on my workstation, not all of which agree. For example, the shell command:
find /usr /snap '(' -name right -o -name posix ')' -prune -o -name
Ojinaga -type f -print
outputs six file names, representing two distinct time zone histories
for America/Ojinaga, as shown by the following command. Although I hope
apps never use the obsolete Ojinaga files, I don't know how to check
this - nor do I know why Ubuntu keeps around the obsolete files given
the desire that there be just one copy of tzdata in Ubuntu.
$ diff -u <(zdump -i /usr/share/zoneinfo/America/Ojinaga) <(zdump -i
/snap/core20/1695/usr/share/zoneinfo/America/Ojinaga) | head -n 17
--- /dev/fd/63 2022-12-10 12:28:58.449876843 -0800
+++ /dev/fd/62 2022-12-10 12:28:58.449876843 -0800
@@ -1,5 +1,5 @@
-TZ="/usr/share/zoneinfo/America/Ojinaga"
+TZ="/snap/core20/1695/usr/share/zoneinfo/America/Ojinaga"
- - -065740 LMT
1922-01-01 00 -07 MST
1927-06-11 00 -06 CST
@@ -60,4 +60,958 @@
2021-03-14 03 -06 MDT 1
2021-11-07 01 -07 MST
2022-03-13 03 -06 MDT 1
-2022-10-30 02 -06 CST
+2022-11-06 01 -07 MST
+2023-03-12 03 -06 MDT 1
+2023-11-05 01 -07 MST
More information about the tz
mailing list