Wiki - https://fedoraproject.org/wiki/Changes/TzdataZicSlimFormat
Discourse Poll -
https://discussion.fedoraproject.org/t/f46-change-proposal-tzdatazicslimformat-system-wide/206308

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.


== Summary ==
tzdata will use the default ‘slim’ data format for generating zoneinfo
files rather than the previous 'fat’ data format.

== Owner ==

* Name: [[User:pfrankli| Patsy Griffin]]

* Email: [email protected]


== Detailed Description ==

In 2019, the upstream tzdata project added the -b option to zic.
The -b option supports a way to control data bloat and to test for
year-2038 bugs in software that reads TZif files.
'zic -b fat' generates the traditional larger output files. 'zic -b
slim' generates smaller output.

In Fedora, tzdata currently uses the 'zic -b fat' format to generate
zoneinfo files for compatibility with older software.

The 'fat' and 'slim' files represent the same set of timestamps and
use the same TZif
format as documented in tzfile(5).

The fat format tries to work around bugs or incompatibilities in
older software. Specifically, software that mishandles 64-bit TZif data
or uses obsolete TZ strings like EET-2EEST that lack DST rules.
Slim format is more efficient and does not work around 64-bit bugs
or obsolete TZ strings.

Since 2020, the upstream project has been generating 'slim' format
by default.

This change request proposes transitioning to the default 'slim'
format to reduce file size and provide advance warning of 2038 bugs in
software that reads TZif files.

== Feedback ==

I discussed this change with libstdc++.  They do not think this change
will impact them.
Similarly, Java does not use the binary files and therefore does not
expect to be impacted.
I discussed this change with the pytz package maintainer.  They
observed some test failures but felt they could be handled with some
code changes.

== Benefit to Fedora ==

Use of zic's default slim file format will control data bloat and
reduce zoneinfo file sizes.

== Scope ==
* Proposal owners:
This is a simple change for tzdata.  We simply need to remove the
command line option that forces zic to use the fat data format.

* Other developers:
Currently, we are aware that pytz may need some code changes.  Having
discussed this with the package owner, it is assumed to be a small
amount of work.

We don't know if other packages will be impacted.

* Release engineering: No release engineering changes are required.

* Policies and guidelines: N/A (not needed for this Change)

* Trademark approval: N/A (not needed for this Change)

* Alignment with the Fedora Strategy:


== Upgrade/compatibility impact ==

No upgrade compatibility impact expected.

== Early Testing (Optional) ==

Do you require 'QA Blueprint' support? N

== How To Test ==

Create two copies of the zoneinfo using both zic -b fat and the
default zic output.
Use zdump to dump some zones from each version of zoneino,
America/New_York for example.
Compare the zone information for each version.  The time zone
information should be the same.
NOTE: The 'fat' format may contain some extraneous information.

== User Experience ==

Data files created by zic will now be considerably smaller.

== Dependencies ==


== Contingency Plan ==

* Contingency mechanism: If this change results in unforeseen issues
we can remove the proposal and leave tzdata as is until the unforeseen
issues are resolved.

* Contingency deadline: Beta freeze

* Blocks release? This change should not block the release.

== Documentation ==

The upstream tzdata NEWS file contains several entries relating to the
zic 'slim' and 'fat' formats.

== Release Notes ==



-- 
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

-- 
_______________________________________________
devel-announce mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to