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


* Other developers: Maintainers should follow guidelines and add <code>BuildRequires: gcc</code> if they need it during build (this guideline exists for long time).
* Other developers: Maintainers should follow guidelines and add <code>BuildRequires: gcc</code> if they need it during build (this guideline exists for long time).
* Release engineering: [https://pagure.io/releng/issues #Releng issue number] (a check of an impact with Release Engineering is needed)
* Release engineering: [https://pagure.io/releng/issue/7317 #7317] (a check of an impact with Release Engineering is needed)
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: Nothing needed, guidelines already have paragraph about listing all required BuildRequires.
* Policies and guidelines: Nothing needed, guidelines already have paragraph about listing all required BuildRequires.

Revision as of 11:48, 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