From Fedora Project Wiki
(add note for Wrangler and mark as ready)
(add link to releng ticket)
 
(9 intermediate revisions by 2 users not shown)
Line 22: Line 22:


== Current status ==
== Current status ==
* Targeted release: [[Releases/29| Fedora 29 ]]  
* Targeted release: [[Releases/30| Fedora 30 ]]  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 32: Line 32:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1626677 #1626677]


== Detailed Description ==
== Detailed Description ==
Line 61: Line 61:
== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
- adjust comps
** 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)
** 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
 
* External:
** teach `mock` to use C.UTF-8: [https://github.com/rpm-software-management/mock/pull/208 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
* Other developers: report breakage and/or fix their own packages
<!-- 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/7610 #7610]
* Release engineering: [https://pagure.io/releng/issue/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 -->
Line 106: Line 109:
None.
None.


[[Category:ChangeReadyForWrangler]]
[[Category:ChangeAcceptedF30]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) -->  
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) -->  
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageReady-->
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageReady-->
[Note to Change Wrangler: This is a late submission, but considering that the change is simple, and really only needs to be made before the mass rebuild, I'm asking for an exception. If this is not possible, I'll move this to F30.]


<!-- Select proper category, default is Self Contained Change -->
<!-- Select proper category, default is Self Contained Change -->
[[Category:SystemWideChange]]
[[Category:SystemWideChange]]

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.