[Bug 1992692] Re: tzdata 2022e release

Steve Beattie 1992692 at bugs.launchpad.net
Tue Oct 18 22:38:40 UTC 2022


FYI, because of the way python has incorrectly handled timezomes in the
past, the python3-icu tests fail, at least when run in a timezone that
is -0700 for releases like bionic and older. For example, taking the
very similar testcase for the prior 2022c update in LP: #1986984, on
ubuntu 18.04 it results:

ubuntu at sec-bionic-amd64:~$ apt policy tzdata | grep Installed:

WARNING: apt does not have a stable CLI interface. Use with caution in
scripts.

  Installed: 2022c-0ubuntu0.18.04.0
ubuntu at sec-bionic-amd64:~$ python3
Python 3.6.9 (default, Jun 29 2022, 11:45:57) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import datetime
>>> from icu import ICUtzinfo, TimeZone
>>> tz = ICUtzinfo(TimeZone.createTimeZone("America/Santiago"))
>>> always_before = datetime(2022, 9, 1)
>>> now_before = datetime(2022, 9, 8)
>>> always_after = datetime(2022, 9, 12)
>>> assert(tz.utcoffset(always_before) == tz.utcoffset(now_before))
>>> assert(tz.utcoffset(now_before) != tz.utcoffset(always_after))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError
>>> tz.utcoffset(now_before)
datetime.timedelta(-1, 75600)
>>> tz.utcoffset(always_after)
datetime.timedelta(-1, 75600)

For ensuring the ESM releases were handling the changes correctly, I
created a python3-tz[1] based script at https://git.launchpad.net/qa-
regression-testing/tree/scripts/test-tzdata.py and in fact, just pushed
an added testcase for this bug that looks like
https://git.launchpad.net/qa-regression-testing/tree/scripts/test-
tzdata.py#n95

Thanks.

[1] The pytz project documents a lot of the issues with timezone
handling in older pythons at their project page:
https://pytz.sourceforge.net/

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to tzdata in Ubuntu.
https://bugs.launchpad.net/bugs/1992692

Title:
  tzdata 2022e release

Status in tzdata package in Ubuntu:
  Fix Released
Status in tzdata source package in Bionic:
  New
Status in tzdata source package in Focal:
  New
Status in tzdata source package in Jammy:
  New

Bug description:
  New timezone data, with the following timezones impacted:
  - Palestine transitions are now Saturdays at 02:00. This means 2022 falls
    back 10-29 at 02:00, not 10-28 at 01:00.
  - Simplify three Ukraine zones into one.
  - Jordan and Syria switch from +02/+03 with DST to year-round +03.

  icu update to 2022e: https://unicode-
  org.atlassian.net/browse/ICU-22178

  Verification is done with 'zdump'. The first timezone that gets
  changed in the updated package is dumped with 'zdump -v
  $region/$timezone_that_changed' (this needs to be greped for in
  /usr/share/zoneinfo/). [For example: 'zdump -v Asia/Gaza'.] This is
  compared to the same output after the updated package got installed.
  If those are different the verification is considered done.

  [Test Case for all releases]
  1) zdump -v Asia/Gaza | grep 'Oct.*2022'
    -> should indicate Oct 29, not Oct 28
  2) zdump -v Asia/Damascus | tail
    -> last dates should be in 2022, not in 2499

  [Test Case for releases >= 20.04 LTS]

  For releases with ICU timezone data verification is done using the following with dates before and after the change:
  1) sudo apt-get install python3-icu
  2) Run the following python script:

  from datetime import datetime
  from icu import ICUtzinfo, TimeZone
  tz = ICUtzinfo(TimeZone.createTimeZone("Asia/Gaza"))
  always_before = datetime(2022, 10, 1)
  now_before = datetime(2022, 10, 29)
  always_after = datetime(2022, 11, 1)
  assert(tz.utcoffset(always_before) == tz.utcoffset(now_before))
  assert(tz.utcoffset(now_before) != tz.utcoffset(always_after))

  The assertions would crash on 2022c.

  [Test Case for releases <= 20.04 LTS]

  Additionally, an upstream update of tzdata removed the 'old' SystemV timezones, so we should ensure that they are kept in Ubuntu 20.04 LTS and earlier releases. Subsequently, these should be checked for using the following:
  diff <(zdump -v America/Phoenix | cut -d' ' -f2-) <(zdump -v SystemV/MST7 | cut -d' ' -f2-)

  Nothing should be returned by the above command.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1992692/+subscriptions




More information about the foundations-bugs mailing list