Currently, almost the entire distro is rebuilt when we need to update
the time zone database, tzdata.
We need to do this a few times a year, and it doesn't make any sense for
packages to keep a static reference to this database which will be out
of date in a few months.
Instead, they should look up the time zones at run-time, which most
programs that actually use time zones do.
These patches start improving the situation.
Libical has committed a fix for this almost 5 years ago, but still
hasn't released it, so we cherry-pick Nix's patch:
Go wants to embed a copy of the database in case one cannot be found. I
don't see why having an incorrect time zone is better than no time
zones, so here's a patch to remove the embedded copy.
And after those two changes, we are able to update tzdata to the current
We have more work to do to remove or replace python-pytz, which
unfortunately contains its own embedded copy of the database and a few
thousand dependents. Luckily, it seems that Python 3.9 has made pytz
And there are still some small reverse dependency graphs of packages
that mistakenly depend on tzdata.