Comment 0 for bug 2003797

Revision history for this message
Benjamin Drung (bdrung) wrote :

tzdata 2021b says in NEWS: "Merge more location-based Zones whose timestamps agree since 1970, as pre-1970 timestamps are out of scope. This is part of a process that has been ongoing since 2013. This does not affect post-1970 timestamps, and timezone historians who build with 'make PACKRATDATA=backzone' should see no changes to pre-1970 timestamps." tzdata 2022b finished that process: "Finish moving to 'backzone' the location-based zones whose timestamps since 1970 are duplicates; adjust links accordingly. This change ordinarily affects only pre-1970 timestamps, and with the new PACKRATLIST option it does not affect any timestamps. In this round the affected zones are Antarctica/Vostok, Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik, Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg, Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas, Indian/Cocos, Indian/Kerguelen, Indian/Mahe, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Pohnpei, Pacific/Wake and Pacific/Wallis, and the affected links are Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland, Pacific/Ponape, Pacific/Truk, and Pacific/Yap."

The Debian/Ubuntu package builds tzdata with the default settings (PACKRATDATA unset) which merges zones whose timestamps agree since 1970. This leads to timestamps before 1970 being knowingly wrong. Example: Europe/Oslo is a link to Europe/Berlin since they are identical since 1970, but they differed before 1965. Berlin observed no summertime between 1950 and 1980, but Oslo did in 1959 to 1965. So summer 1960 in Oslo should be UTC+2 compared to UTC+1 in Berlin:

```
$ TZ=Europe/Oslo date -d "1960-07-01 10:00 Z"
Fri Jul 1 12:00:00 CEST 1960
$ TZ=Europe/Berlin date -d "1960-07-01 10:00 Z"
Fri Jul 1 11:00:00 CET 1960
```

There was a big debate upstream (see https://lwn.net/Articles/870478/ or https://mm.icann.org/pipermail/tz/2021-May/030137.html). The Debian/Ubuntu package should ship timezones from backzone. Users that care about pre-1970 timestamps will be satisfied and users not caring will probably not care about the additional timezones.

The install size will increase by around 20% and the amount of distincted (i.e. not symlinked) timezones will increase by 33%:

```
$ grep ^Zone africa antarctica asia australasia etcetera europe factory northamerica southamerica | wc -l
352
$ grep ^Zone backzone | wc -l
119
```