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
- Name: Zbigniew Jędrzejewski-Szmek
- Email: zbyszek@in.waw.pl
- Release notes 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
- teach
- Other developers: report breakage and/or fix their own packages
- Release engineering: #7610
- List of deliverables: N/A
- 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.