From Fedora Project Wiki
No edit summary
No edit summary
Line 42: Line 42:


== Benefit to Fedora ==
== Benefit to Fedora ==
Faster build times (for packages which do not need gcc/gcc-c++ during build).
* Smaller build times (for packages which do not need gcc/gcc-c++ during build).
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
* Better package compliance with Packaging Guidelines.
* Cleaner buildroot environment.


== Scope ==
== Scope ==

Revision as of 16:52, 17 February 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-02-17
  • Tracker bug: <will be assigned by the Wrangler>

🔗 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 and gcc-c++ from build group in Koji.
  • Remove gcc and gcc-c++ from buildsys-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)
  • 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

Try to rebuild your package using mock with configuration provided (TODO).

🔗 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

🔗 Release Notes