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
