Gentoo Archives: gentoo-dev

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Incoming >=sys-libs/timezone-data-2020d[zic-slim] breakage
Date: Thu, 29 Oct 2020 09:14:54
Message-Id: 20201029091445.67a7bd25@sf
1 Tl;DR:
2
3 Upstream timezone-data-2020b changed the way /usr/share/zoneinfo
4 files are generated by default. Gentoo does NOT enable this new
5 default to keep existing software running (so far).
6
7 You can enable new default explicitly with USE=zic-slim switch.
8
9 Libraries and tools that parse /usr/share/zoneinfo will break in trivial
10 (crashes) or very obscure ways (DST time switch will not happen and
11 will report wrong time).
12
13 What can you do:
14
15 If you are feeling brave then enable USE=zic-slim to identify and
16 fix affected packages. Sometimes bugs are specific to a timezone
17 you are in. Running a testsuite is probably the best way to find
18 problems.
19
20 If you found a bug check that USE=-zic-slim makes it go away and
21 report (and/or fix) it upstream and add it to the gentoo's tracker
22 bug:
23 https://bugs.gentoo.org/749591.
24
25 What actually changed:
26
27 From https://data.iana.org/time-zones/tzdb/NEWS:
28
29 ```
30 Release 2020b - 2020-10-06 18:35:04 -0700
31 ...
32 zic now defaults to '-b slim' instead of to '-b fat'.
33 ```
34
35 Mechanically both 'fat' and 'slim' are the same VER=2 (or 3 for some
36 timezones) file format from 'man 5 tzfile'. But 'fat'/'slim' contents
37 is different. From 'man 8 zic':
38
39 ```
40 -b bloat
41 If bloat is fat, generate additional data entries that work
42 around potential bugs or incompatibilities in older software,
43 such as software that mishandles the 64-bit generated data.
44 If bloat is slim, keep the output files small; this can help check
45 for the bugs and incompatibilities.
46
47 Although the default is currently fat, this is intended to
48 change in future zic versions, as software that mishandles the
49 64-bit data typically mishandles timestamps after the year 2038
50 anyway.
51 ```
52
53 Thus ideally libraries should already handle both flavours. But due
54 to bugs some libraries will break.
55
56 File format spec is an RFC8536:
57
58 https://www.rfc-editor.org/rfc/rfc8536.txt
59
60 Good luck!
61
62 --
63
64 Sergei

Replies