No edit summary |
No edit summary |
||
Line 33: | Line 33: | ||
--> | --> | ||
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1551327 #1551327] | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1551327 #1551327] | ||
* Release Notes tracking: [https://pagure.io/fedora-docs/release-notes/issue/123 #123] | |||
== Detailed Description == | == Detailed Description == |
Latest revision as of 19:46, 4 March 2018
Remove GCC from BuildRoot
Summary
Removing gcc and gcc-c++ from default buildroot in Koji and mock.
Owner
- Name: Igor Gnatenko
- Email: ignatenkobrain@fedoraproject.org
- Release notes owner:
Current status
- Targeted release: Fedora 29
- Last updated: 2018-03-04
- Tracker bug: #1551327
- Release Notes tracking: #123
Detailed Description
Since beginning of Fedora, gcc (and gcc-c++) are installed in every buildroot. Times have changed and nowadays many of packages are not written in C/C++, they are written in Python, Ruby, Node.js, Go, Rust, Perl and so on so they don't need to have C/C++ compiler. Installing gcc and gcc-c++ takes time so if we remove it, we can improve build times for many of the packages.
- Remove
gcc
andgcc-c++
frombuild
group in Koji. - Remove
gcc
andgcc-c++
frombuildsys-build
group in comps (fedora-comps). - Try to automatically fix affected packages.
Benefit to Fedora
- Smaller build times (for packages which do not need gcc/gcc-c++ during build).
- Better package compliance with Packaging Guidelines.
- Cleaner buildroot environment.
Scope
- Proposal owners: Automatically fix as much as possible of affected packages and send Pull Request for fedora-comps.
- Other developers: If package has not been automatically fixed by owners, fix it manually.
- Release engineering: #7317 (rel-eng should adjust koji configuration and merge Pull Request for fedora-comps)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: Nothing needed, guidelines already have paragraph about listing all required BuildRequires.
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
This change is internal to packaging and is not visible to end users.
How To Test
You can test that your package still builds without gcc and gcc-c++ in the buildroot by running mock
or fedpkg mockbuild
with a modified configuration file that excludes gcc
and gcc-c++
from the buildroot. Instructions can be found here.
User Experience
Users (developers) who build packages could notice this change if they use gcc/gcc-c++ in their packages. Solution is simple, add appropriate BuildRequires.
Dependencies
Change in koji settings and fedora-comps is required.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) Revert changes in koji/fedora-comps by persons who have access there.
- Contingency deadline: Beta Freeze
- Blocks release? Hard to say, we would need to fix packages.
Documentation
- https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires
- https://fedoraproject.org/wiki/Packaging:Guidelines#Build-Time_Dependencies_.28BuildRequires.29