From Fedora Project Wiki
(initial version)
 
(add releng issue)
Line 68: Line 68:
<!-- What work do other developers 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 other developers 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?-->


* Release engineering: [https://pagure.io/releng/issues #Releng issue number] (a check of an impact with Release Engineering is needed) <!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
* Release engineering: [https://pagure.io/releng/issues/7610 #7610]
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->

Revision as of 13:47, 5 July 2018

Remove glibc-all-langpacks from buildroot

Summary

glibc-minimal-langpack is added to @Buildsystem group and installed into the minimal buildroot instead of glibc-all-langpacks. Packages which need more locales than plain C/C.UTF-8/POSIX need to pull them in through BuildRequires.

Owner

Current status

  • Targeted release: Fedora 29
  • Last updated: 2018-07-05
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Right now glibc-all-langpacks is installed in buildroots (mock, koji, …). It is 24 MB, out of the total of 145 MB. Replacing it with glibc-minimal-langpack, which has negligible size, decreases the buildroot size by 17%.

glibc Requires glibc-langpack, and Suggests glibc-all-langpacks, so it gets installed automatically to satisfy that dependency. If a different package providing glibc-langpack is installed, glibc-all-langpacks is skipped.

This change is basically adding glibc-minimal-langpack to @Buildsystem in comps and fixing any fallout in packages.

A quick grep over spec files reveals: ` $ rg -l 'LC_CTYPE=[^C]' *.spec | wc -l 11 $ rg -l 'LC_ALL=[^C]' *.spec | wc -l 42 ` that there are at least ~50 packages which need adjustment. They can be either switched over to C.UTF-8 or a BuildRequires can be added.

Benefit to Fedora

The minimal buildroot becomes smaller, making builds slightly faster.

Scope

  • Proposal owners:

- adjust comps - fix packages which can be identified without rebuilding (see grep output above) - fix fallout in the mass rebuild if anything is missed above

  • Other developers: report breakage and/or fix their own packages
  • Policies and guidelines: no changes needed

(The Packaging Guidelines already specify that all necessary dependencies must be declared using BuildRequires.)

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

Upgrade/compatibility impact

This only affect package building process, so it has no end-user impact.

How To Test

Verify that packages still build after the comps change.

User Experience

Not visible to end-users.

Dependencies

None.

Contingency Plan

Revert the comps change. Any changes in packages would be backwards compatible, so there's no need to revert them. There is also no need to rebuild any packages already successfully built.

  • Contingency mechanism: remove glibc-minimal-langpack from @Buildsystem
  • Contingency deadline: any time before relase
  • Blocks release? not directly, but if packages fail to build, it would be problem
  • Blocks product? no

Documentation

Just this page.

Release Notes

None.