From Fedora Project Wiki
(add link to new PR)
(add link to releng ticket)
 
Line 61: Line 61:
== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
** adjust comps ([https://pagure.io/fedora-comps/pull-request/346 fedora-comps PR #346])
** adjust comps ([https://pagure.io/fedora-comps/pull-request/346 fedora-comps PR #346], [https://pagure.io/releng/issue/7926 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 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
** fix fallout in the mass rebuild if anything is missed above

Latest revision as of 13:24, 21 November 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

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 (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.

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.