From Fedora Project Wiki

Remove glibc-all-langpacks from buildroot


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.


Current status

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.


  • Proposal owners:
    • adjust comps (fedora-comps PR #346, releng ticket #7926)
    • fix packages which can be identified without rebuilding (see grep output above) [DONE: 149 packages have been patched and builds started. 10 packages failed to build (for unrelated reasons): OpenTK, passenger, php-nette-{utils,http,application,database}, hive, hibernate3, rubygem-{gettext-setup,taskjuggler}).
    • fix fallout in the mass rebuild if anything is missed above
  • External:
    • teach mock to use C.UTF-8: mock PR #208, merged, released in mock-1.4.12-1, present in F27-30+, EPEL7
  • 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.



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


Just this page.

Release Notes