m (→Scope) |
m (→Scope) |
||
Line 117: | Line 117: | ||
<!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
** Update the gettext package in rawhide to have the new gettext-runtime subpackage, pulled in by the gettext base package ([https://src.fedoraproject.org/rpms/gettext/pull-request/15 PR]) | ** Update the gettext package in rawhide to have the new gettext-runtime subpackage, pulled in by the gettext base package ([https://src.fedoraproject.org/rpms/gettext/pull-request/15 PR]) | ||
** File bugs against packages that could only need gettext-runtime at runtime. | ** File bugs against packages that could be changed to only need gettext-runtime at runtime. | ||
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> |
Revision as of 12:48, 7 June 2022
Gettext Runtime Subpackage
Summary
Subpackage gettext's runtime programs in a smaller runtime subpackage, reducing the default install footprint.
Owner
- Name: Sundeep ANAND
- Email: suanand@redhat.com
- Name: Jens Petersen
- Email: petersen@redhat.com
Current status
- Targeted release: Fedora Linux 37
- Last updated: 2022-06-07
- FESCo issue:
- Tracker bug:
- Release notes tracker:
Detailed Description
Gettext is one of the core packages. Its installed on-disk size is about ~6.1 MB. A large number of packages directly or indirectly depend on it. Extracting "runtime" from main gettext package into a separate sub-package would reduce the footprint by about ~4.7 MB on most normal installations.
After the split this should look like:
gettext-runtime subpackage ----------------------- compressed size: 172 kB uncompressed size: 749.6 kB gettext package ------------------------ compressed size: 1.0 MB uncompressed size: 4.7 MB As gettext-runtime depends on gettext-libs: gettext-libs subpackage ----------------------- compressed size: 322K uncompressed size: 933.7 kB
Grouping of binaries:
gettext-runtime: envsubst gettext gettext.sh ngettext gettext: msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq recode-sr-latin xgettext
Feedback
- initial devel thread floating subpackaging idea (April 2022)
Benefit to Fedora
Space saving of about ~4.7 MB for typical installations.
Scope
- Proposal owners:
- Update the gettext package in rawhide to have the new gettext-runtime subpackage, pulled in by the gettext base package (PR)
- File bugs against packages that could be changed to only need gettext-runtime at runtime.
- Other developers:
- Packagers who own packages that have a direct runtime dependency on gettext (estimated under 30 packages) and actually only need gettext-runtime can change their
Requires: gettext
to the newgettext-runtime
subpackage in Rawhide (estimated around 10 Fedora packages).
- Packagers who own packages that have a direct runtime dependency on gettext (estimated under 30 packages) and actually only need gettext-runtime can change their
- Release engineering:
- todo: link to ticket
- 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
On upgrade both packages will get installed on systems having gettext. (preinstalled)
How To Test
- Preview test package is available from: https://copr.fedorainfracloud.org/coprs/suanand/gettext-runtime
- Test upgrades from F36 to F37
- Test minimal/default installs continue to work as expected
- Packages that depend on gettext continue to rebuild, install, and function normally
User Experience
User will see a new lighter gettext-runtime package and a gettext package.
Many of the desktop/web apps/libraries continue using gettext. This subpackage separation also corresponds to the recommended packaging by upstream and Debian's gettext-base and gettext packages.
Dependencies
Packages which explicitly have a dependency on gettext need to check if they need programs provided by gettext-runtime, and if so they may update their dependency to "gettext-runtime" from gettext.
Perhaps about ~26 packages require gettext and ~1115 packages have build dependency.
Furthermore, gettext has a dependency to gettext-runtime.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) Package owners to revert relevant packages.
- Contingency deadline: Beta freeze
- Blocks release? No
Documentation
https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob;f=PACKAGING
Release Notes
A gettext-runtime subpackage has been added to gettext to separate out the programs needed at runtime, reducing the default install footprint.