From Fedora Project Wiki
No edit summary
No edit summary
Line 81: Line 81:
-->
-->


[[Category:ChangeReadyForWrangler]]
[[Category:ChangeAnnounced]]
<!-- 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 -->

Revision as of 11:56, 16 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-16
  • 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, OCaml, 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.

Benefit to Fedora

Faster build times (for packages which do not need gcc/gcc-c++ during build).

Scope

  • Proposal owners: Remove gcc, gcc-c++ from build group in Koji and from buildsys-build group in comps.
  • Other developers: Maintainers should follow guidelines and add BuildRequires: gcc if they need it during build (this guideline exists for long time).
  • Release engineering: #7317 (a check of an impact with Release Engineering is needed)
  • 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

Users would no notice this, Fedora Package Maintainers need to fix their packaging.

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

Koji and fedora-comps needs to change.

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