** Description changed:

  [ Impact ]
  The latest tzdata SRU[1] included a change[2] in the main data form:
  
-     The main source files' time zone abbreviations now use %z,
-     supported by zic since release 2015f and used in vanguard form
-     since release 2022b.  For example, America/Sao_Paulo now contains
-     the zone continuation line "-3:00 Brazil %z", which is less error
-     prone than the old "-3:00 Brazil -03/-02".  This does not change
-     the represented data: the generated TZif files are unchanged.
-     Rearguard form still avoids %z, to support obsolescent parsers.
+     The main source files' time zone abbreviations now use %z,
+     supported by zic since release 2015f and used in vanguard form
+     since release 2022b.  For example, America/Sao_Paulo now contains
+     the zone continuation line "-3:00 Brazil %z", which is less error
+     prone than the old "-3:00 Brazil -03/-02".  This does not change
+     the represented data: the generated TZif files are unchanged.
+     Rearguard form still avoids %z, to support obsolescent parsers.
  
- 
- Turns out the standard c++ library in at least oracular and noble fail to 
parse that, resulting in a much small list of available timezones, or even 
crashes[3].
+ Turns out the standard c++ library in at least oracular and noble fail
+ to parse that, resulting in a much small list of available timezones, or
+ even crashes[3].
  
  The c++ fix for that is in [4]. That might be eventually SRUed, but at
  the moment it's quicker to adjust tzdata than the c++ library. Also,
  there might be other parsers in the supported Ubuntu releases that are
  also affected, and just haven't been noticed yet.
  
- 
  1. https://launchpad.net/bugs/2070285
  2. 
https://github.com/eggert/tz/commit/94e6b3b0eb773e66a9ac49b905c69c0fa6a31dc3
  3. https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/2096974/comments/10
  4. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116657
- 
  
  [ Test Plan ]
  
  This update includes a new DEP8 test that checks specifically for this
  bug. Therefore, the test plan is to observe that the full suite of
  autopkgtests is run and that it passed.
  
  Manual testing specifically for this bug is also accepted, with the C++
  example provided:
  
  """
  inalling tzdata in version 2024b-0ubuntu0.24.04 causes std::chrono to deliver 
only 2 timezones:
  
  code:
  
  for (const auto & time_zone : std::chrono::get_tzdb().zones)
  {
    std::cout << time_zone.name() << std::endl;
  }
  
  output:
  
  Etc/GMT
  Etc/UTC
  """
  
  The output should include all timezones.
  
  [ Where problems could occur ]
  
- TBD
+ All software that use tzdata could be affected by this update. There is
+ probably at least one implementation in each programming language for
+ reading the timezone data. The update could trigger parser bugs.
  
- [ Other Info ]
- 
- TBD
+ The autopkgtest will cover Python's zoneinfo and now C++ std::chrono.
  
  [ Original Description ]
  
  inalling tzdata in version 2024b-0ubuntu0.24.04 causes std::chrono to
  deliver only 2 timezones:
  
  code:
  
  for (const auto & time_zone : std::chrono::get_tzdb().zones)
  {
    std::cout << time_zone.name() << std::endl;
  }
  
  output:
  
  Etc/GMT
  Etc/UTC

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

Title:
  tzdata-2024b-0ubuntu0.24.04 makes std::chrono unusable

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-14/+bug/2096974/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to