From Fedora Project Wiki

Revision as of 13:47, 5 July 2018 by Zbyszek (talk | contribs) (add releng issue)

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.