From Fedora Project Wiki

Revision as of 04:40, 19 May 2022 by Petersen (talk | contribs)


Split Gettext Package

Summary

Extracting the heavier part "tools" from the gettext (main) package into a separate sub-package.

Owner


Current status

Detailed Description

Gettext is one of the core packages. It's install uncompressed size is about ~6.1 MB. A large number of packages directly or indirectly depend on it. Extracting "tools" from gettext main package into a separate sub-package would reduce the footprint. Hence a saving of ~4.7 MB on most normal installations.

After split this should look like:

gettext package
--------------------
compressed size: 172 kB
uncompressed size: 749.6 kB

gettext-tools subpackage
------------------------
compressed size: 1.0 MB
uncompressed size: 4.7 MB

As gettext depends on gettext-libs:

gettext-libs subpackage
-----------------------
compressed size: 322K
uncompressed size: 933.7 kB

Grouping of binaries:

gettext: 
envsubst gettext gettext.sh ngettext

gettext-tools: 
msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq recode-sr-latin xgettext

Feedback

Benefit to Fedora

Space saving of about ~4.7 MB on most of the normal installations.

Scope

  • Proposal owners:
  • Other developers:
    • Packagers who owns packages implicitly expects gettext-tools a new sub package. May need to update the dependency from "gettext" to "gettext-tools".
  • Release engineering:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:

Upgrade/compatibility impact

Both "gettext" and "gettext-tools" obsoletes earlier version of gettext.
So, on update both packages will get installed on systems having gettext. (preinstalled)


How To Test

User Experience

User will see lighter gettext package and a new gettext-tools package.
Many of the desktop/web apps/libraries use gettext-tools. They would need to update their dependency to "gettext-tools" now.

Dependencies

Packages which explicitly has a dependency to gettext are basically need to check for binary they are dependent on. And if that belongs to gettext-tool, they need to update their dependency to "gettext-tools" from gettext.

Furthermore, gettext-tools has a dependency to gettext.

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) Revert the relevant packages updated.
  • Contingency deadline: Beta freeze
  • Blocks release? No

Documentation

None.

Release Notes