Pre-1970 timestamps are knowingly wrong

Bug #2003797 reported by Benjamin Drung
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tzdata (Ubuntu)
Fix Released
Medium
Benjamin Drung
Bionic
Won't Fix
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned
Jammy
Fix Released
Undecided
Unassigned
Kinetic
Fix Released
Undecided
Unassigned

Bug Description

[ Impact ]

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 distinct (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
```

[ Test plan ]

The test case `test_pre_1970_timestamps` was added to the python autopkgtest for testing this change. So the test plan is to check that the autopkgtest succeeds.

[ Where problems could occur ]

Systems with incorrect timezone set may observe unexpected time shift.

Benjamin Drung (bdrung)
Changed in tzdata (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Benjamin Drung (bdrung)
description: updated
Benjamin Drung (bdrung)
Changed in tzdata (Ubuntu):
assignee: nobody → Benjamin Drung (bdrung)
status: Triaged → In Progress
Revision history for this message
Benjamin Drung (bdrung) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package tzdata - 2022g-7ubuntu2

---------------
tzdata (2022g-7ubuntu2) lunar; urgency=medium

  * Merge with Debian experimental. Remaining changes:
    - Ship ICU 2022g timezone data which are utilized by PHP in tzdata-icu
    - Do not rename NEWS into changelog.gz, this fixes a build failure on
      moment-timezone.js
    - Point Vcs-Browser/Git to Launchpad
  * Rename new tzdata-right package to tzdata-legacy

tzdata (2022g-7exp1) experimental; urgency=medium

  * Drop /usr/share/zoneinfo/posix (identical to /usr/share/zoneinfo)
    (LP: #2008076)
  * Split right/* timezones into separate tzdata-legacy package (LP: #2008076)

 -- Benjamin Drung <email address hidden> Mon, 13 Mar 2023 15:45:25 +0100

Changed in tzdata (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Benjamin, or anyone else affected,

Accepted tzdata into kinetic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/tzdata/2023a-0ubuntu0.22.10.0 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-kinetic to verification-done-kinetic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-kinetic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in tzdata (Ubuntu Kinetic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-kinetic
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Benjamin, or anyone else affected,

Accepted tzdata into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/tzdata/2023a-0ubuntu0.22.04.0 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in tzdata (Ubuntu Jammy):
status: New → Fix Committed
tags: added: verification-needed-jammy
Changed in tzdata (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Benjamin, or anyone else affected,

Accepted tzdata into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/tzdata/2023a-0ubuntu0.20.04.0 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

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

Backporting this change to bionic is not trivial, because zic is too old:

```
$ make AWK=gawk BACKWARD="backward" VERSION_DEPS= tzdata.zi
[...]
$ /usr/sbin/zic -d tzgen -L /dev/null tzdata.zi
"tzdata.zi", line 4: invalid weekday name
"tzdata.zi", line 123: invalid day of month
"tzdata.zi", line 124: invalid day of month
[...]
```

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (tzdata/2023a-0ubuntu0.22.04.0)

All autopkgtests for the newly accepted tzdata (2023a-0ubuntu0.22.04.0) for jammy have finished running.
The following regressions have been reported in tests triggered by the package:

chrony/4.2-2ubuntu2 (s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/jammy/update_excuses.html#tzdata

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Benjamin Drung (bdrung)
description: updated
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (tzdata/2023a-0ubuntu0.22.10.0)

All autopkgtests for the newly accepted tzdata (2023a-0ubuntu0.22.10.0) for kinetic have finished running.
The following regressions have been reported in tests triggered by the package:

chrony/4.2-2ubuntu2 (amd64, arm64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/kinetic/update_excuses.html#tzdata

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Benjamin, or anyone else affected,

Accepted tzdata into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/tzdata/2023b-0ubuntu0.22.04.0 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Benjamin, or anyone else affected,

Accepted tzdata into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/tzdata/2023b-0ubuntu0.20.04.0 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

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

Verified successful autopkgtest on https://autopkgtest.ubuntu.com/packages/tzdata:

kinetic:

* amd64: https://autopkgtest.ubuntu.com/results/autopkgtest-kinetic/kinetic/amd64/t/tzdata/20230325_002604_b0976@/log.gz
* arm64: https://autopkgtest.ubuntu.com/results/autopkgtest-kinetic/kinetic/arm64/t/tzdata/20230325_030734_7c004@/log.gz
* armhf: https://autopkgtest.ubuntu.com/results/autopkgtest-kinetic/kinetic/armhf/t/tzdata/20230324_202757_068f8@/log.gz
* ppc64el: https://autopkgtest.ubuntu.com/results/autopkgtest-kinetic/kinetic/ppc64el/t/tzdata/20230324_202842_068f8@/log.gz
* s390x: https://autopkgtest.ubuntu.com/results/autopkgtest-kinetic/kinetic/s390x/t/tzdata/20230323_181059_8456e@/log.gz

jammy:

* amd64: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/amd64/t/tzdata/20230325_014013_602ca@/log.gz
* arm64: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/arm64/t/tzdata/20230325_025254_6c459@/log.gz
* armhf: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/armhf/t/tzdata/20230325_000018_a8d6b@/log.gz
* ppc64el: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/ppc64el/t/tzdata/20230325_000151_7b7b6@/log.gz
* s390x: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/s390x/t/tzdata/20230324_012146_1b785@/log.gz

focal:

* amd64: https://autopkgtest.ubuntu.com/results/autopkgtest-focal/focal/amd64/t/tzdata/20230325_020652_ddd0c@/log.gz
* arm64: https://autopkgtest.ubuntu.com/results/autopkgtest-focal/focal/arm64/t/tzdata/20230325_030744_8614c@/log.gz
* armhf: https://autopkgtest.ubuntu.com/results/autopkgtest-focal/focal/armhf/t/tzdata/20230324_235911_b14f3@/log.gz
* ppc64el: https://autopkgtest.ubuntu.com/results/autopkgtest-focal/focal/ppc64el/t/tzdata/20230325_000032_c8a5a@/log.gz
* s390x: https://autopkgtest.ubuntu.com/results/autopkgtest-focal/focal/s390x/t/tzdata/20230323_234702_402d8@/log.gz

tags: added: verification-done verification-done-focal verification-done-jammy verification-done-kinetic
removed: verification-needed verification-needed-focal verification-needed-jammy verification-needed-kinetic
Benjamin Drung (bdrung)
tags: removed: verification-done verification-done-focal verification-done-jammy verification-done-kinetic
Changed in tzdata (Ubuntu Focal):
status: Fix Committed → New
Changed in tzdata (Ubuntu Jammy):
status: Fix Committed → New
Changed in tzdata (Ubuntu Kinetic):
status: Fix Committed → New
Revision history for this message
Benjamin Drung (bdrung) wrote :

New 2023c-0ubuntu0.22.10.1 debdiff for kinetic.

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

2023c-0ubuntu0.22.04.1 debdiff for jammy.

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

2023c-0ubuntu0.20.04.1 debdiff for focal.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Benjamin, or anyone else affected,

Accepted tzdata into kinetic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/tzdata/2023c-0ubuntu0.22.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-kinetic to verification-done-kinetic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-kinetic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in tzdata (Ubuntu Kinetic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-kinetic
Changed in tzdata (Ubuntu Jammy):
status: New → Fix Committed
tags: added: verification-needed-jammy
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Benjamin, or anyone else affected,

Accepted tzdata into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/tzdata/2023c-0ubuntu0.22.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in tzdata (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Benjamin, or anyone else affected,

Accepted tzdata into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/tzdata/2023c-0ubuntu0.20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

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

Verified kinetic in a schroot:

```
(kinetic)bdrung@deep-thought:/$ dpkg -s tzdata | grep Version
Version: 2023c-0ubuntu0.22.10.1
(kinetic)bdrung@deep-thought:/$ TZ=Europe/Oslo date -d "1960-07-01 10:00 Z"
Fri Jul 1 12:00:00 CEST 1960
(kinetic)bdrung@deep-thought:/$ TZ=Europe/Berlin date -d "1960-07-01 10:00 Z"
Fri Jul 1 11:00:00 CET 1960
```

and jammy:

```
(jammy)bdrung@deep-thought:/$ dpkg -s tzdata | grep Version
Version: 2023c-0ubuntu0.22.04.1
(jammy)bdrung@deep-thought:/$ TZ=Europe/Oslo date -d "1960-07-01 10:00 Z"
Fri Jul 1 12:00:00 CEST 1960
(jammy)bdrung@deep-thought:/$ TZ=Europe/Berlin date -d "1960-07-01 10:00 Z"
Fri Jul 1 11:00:00 CET 1960
```

and focal:

```
(focal)bdrung@deep-thought:/$ dpkg -s tzdata | grep Version
Version: 2023c-0ubuntu0.20.04.1
(focal)bdrung@deep-thought:/$ TZ=Europe/Oslo date -d "1960-07-01 10:00 Z"
Fri Jul 1 12:00:00 CEST 1960
(focal)bdrung@deep-thought:/$ TZ=Europe/Berlin date -d "1960-07-01 10:00 Z"
Fri Jul 1 11:00:00 CET 1960
```

tags: added: verification-done verification-done-focal verification-done-jammy verification-done-kinetic
removed: verification-needed verification-needed-focal verification-needed-jammy verification-needed-kinetic
Changed in tzdata (Ubuntu Bionic):
status: New → Won't Fix
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package tzdata - 2023c-0ubuntu0.20.04.1

---------------
tzdata (2023c-0ubuntu0.20.04.1) focal; urgency=medium

  * Build timezones that differ pre-1970 (LP: #2003797)
  * Add autopkgtest test case for pre-1970 timestamps
  * Update debconf template and translations

 -- Benjamin Drung <email address hidden> Thu, 13 Apr 2023 15:17:25 +0200

Changed in tzdata (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Chris Halse Rogers (raof) wrote : Update Released

The verification of the Stable Release Update for tzdata has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package tzdata - 2023c-0ubuntu0.22.04.1

---------------
tzdata (2023c-0ubuntu0.22.04.1) jammy; urgency=medium

  * Build timezones that differ pre-1970 (LP: #2003797)
  * Add autopkgtest test case for pre-1970 timestamps
  * Update debconf template and translations

 -- Benjamin Drung <email address hidden> Thu, 13 Apr 2023 14:59:54 +0200

Changed in tzdata (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package tzdata - 2023c-0ubuntu0.22.10.1

---------------
tzdata (2023c-0ubuntu0.22.10.1) kinetic; urgency=medium

  * Build timezones that differ pre-1970 (LP: #2003797)
  * Add autopkgtest test case for pre-1970 timestamps
  * Update debconf template and translations

 -- Benjamin Drung <email address hidden> Thu, 13 Apr 2023 14:53:12 +0200

Changed in tzdata (Ubuntu Kinetic):
status: Fix Committed → Fix Released
Revision history for this message
Benjamin Drung (bdrung) wrote :

While preparing the next SRUs, I noticed this change introduced inconsistencies in debconf. See bug #772024 for the debdiff for fixing those.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.