(Change submitted to FESCo) |
|||
(4 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
= Gettext Runtime Subpackage = | = Gettext Runtime Subpackage = | ||
== Summary == | == Summary == | ||
Line 26: | Line 24: | ||
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) --> | <!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) --> | ||
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete--> | <!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete--> | ||
[[Category: | [[Category:ChangeAcceptedF37]] | ||
<!-- [[Category:ChangeReadyForWrangler]]--> | <!-- [[Category:ChangeReadyForWrangler]]--> | ||
<!-- Select proper category, default is Self Contained Change --> | <!-- Select proper category, default is Self Contained Change --> | ||
Line 42: | Line 40: | ||
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/D24H2E6WW4BB6KYRMDO5HCPZLEUTFWD6/ devel thread] | * [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/D24H2E6WW4BB6KYRMDO5HCPZLEUTFWD6/ devel thread] | ||
* FESCo issue: [https://pagure.io/fesco/issue/2818 #2818] | * FESCo issue: [https://pagure.io/fesco/issue/2818 #2818] | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2103239 #2103239] | ||
* Release notes tracker: | * Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/852 #852] | ||
== Detailed Description == | == Detailed Description == | ||
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | <!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | ||
Gettext is one of the core packages. Its installed on-disk size is about ~6.1 MB. Extracting runtime utilities from main gettext package into a separate sub-package will reduce the default system footprint by about ~4.7 MB on most normal installations. | Gettext is one of the core packages. Its installed on-disk size is about ~6.1 MB. Extracting runtime utilities from main gettext package into a separate sub-package will reduce the default system footprint by about ~4.7 MB on most normal installations. | ||
''Note further that envsubst has also been split out into the gettext-envsubst subpackage allowing it to be installed independently.'' | |||
After the split this should look like: | After the split this should look like: | ||
Line 159: | Line 159: | ||
3. What are the expected results of those actions? | 3. What are the expected results of those actions? | ||
--> | --> | ||
* Test upgrades from F36 to F37 | * Test upgrades from F36 to F37 | ||
* Test minimal/default installs continue to work as expected | * Test minimal/default installs continue to work as expected | ||
Line 212: | Line 210: | ||
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze. | Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze. | ||
--> | --> | ||
gettext-runtime and gettext-envsubst subpackages have been added to gettext to separate out the programs needed at runtime, reducing the default install footprint. |
Latest revision as of 08:55, 7 September 2022
Gettext Runtime Subpackage
Summary
Subpackage gettext's runtime programs in a small runtime subpackage, reducing the default install footprint.
Owner
- Name: Sundeep ANAND, Jens Petersen
- Email: suanand@redhat.com, petersen@redhat.com
Current status
- Targeted release: Fedora Linux 37
- Last updated: 2022-09-07
- devel thread
- FESCo issue: #2818
- Tracker bug: #2103239
- Release notes tracker: #852
Detailed Description
Gettext is one of the core packages. Its installed on-disk size is about ~6.1 MB. Extracting runtime utilities from main gettext package into a separate sub-package will reduce the default system footprint by about ~4.7 MB on most normal installations.
Note further that envsubst has also been split out into the gettext-envsubst subpackage allowing it to be installed independently.
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:
- Add
Provides: gettext-runtime
togettext
[done in rawhide] - 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.
- Subpackage envsubst as a mini-subpackage of gettext-runtime (bz)
- Add
- Other developers:
- Packagers who own packages that have a direct runtime dependency on gettext (roughly 30 packages) and that actually only need gettext-runtime can change their
Requires: gettext
to the newgettext-runtime
subpackage in Rawhide.
- Packagers who own packages that have a direct runtime dependency on gettext (roughly 30 packages) and that actually only need gettext-runtime can change their
- Release engineering: #10836
- 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
Impact should be low: on upgrade both packages will get installed on systems that had gettext installed.
How To Test
- 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.
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 only need programs provided by gettext-runtime, and if so they can update their dependency to gettext-runtime
from gettext
.
Only about 33 Fedora packages currently require gettext (whereas almost 1200 packages have a buildtime dependency):
NsCDE backup-manager blivet-gui byobu debootstrap deepin-gettext-tools ecryptfs-utils fontconfig gambas3 gnome-books gnome-common grub2 ibus ibus-chewing kf5-ki18n libpst libvirt lokalize mate-common osmo photocollage playonlinux po-debconf po4a poedit redhat-lsb rpminspect sensible-utils sugar-toolkit-gtk3 translate-toolkit vdr vim-syntastic yast2-devtools
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
gettext-runtime and gettext-envsubst subpackages have been added to gettext to separate out the programs needed at runtime, reducing the default install footprint.