m (PackagingDrafts/BuildRequires moved to Archive:PackagingDrafts/BuildRequires: (no revisions since import from MoinMoin May 2008) Has already been incorporated in Packaging:Guidelines#BuildRequires) |
m (internal link cleaning) |
||
Line 1: | Line 1: | ||
= BuildRequires = | = BuildRequires = | ||
== Overview == | == Overview == | ||
I propose to change the [ | I propose to change the [[Packaging/Guidelines#BuildRequires|BuildRequires]] section of Packaging Guidelines. This section talks only about using rpmdev-rmdevelrpms to detect missing BRs at present. However, mock seems to be a much better way (even if more complicated) to do that. This proposal also requires creation of Anchor(rmdevelrpms) in front of rpmdev-rmdevelrpms section. | ||
== Current == | == Current == |
Latest revision as of 13:35, 18 September 2016
BuildRequires
Overview
I propose to change the BuildRequires section of Packaging Guidelines. This section talks only about using rpmdev-rmdevelrpms to detect missing BRs at present. However, mock seems to be a much better way (even if more complicated) to do that. This proposal also requires creation of Anchor(rmdevelrpms) in front of rpmdev-rmdevelrpms section.
Current
rpmdev-rmdevelrpms is a suggested way for detecting missing BuildRequires. It involves using a minimal build environment then adding only explicitly defined Build
Requires in spec files. If the build fails or is missing certain features due to missing build dependencies, then the missing dependency needs to be found and added.
Proposal
There are two suggested ways of detecting missing BuildRequires. rpmdev-rmdevelrpms and mock. The first one is designed to remove all developer-related packages from your system. If the build fails or is missing certain features due to missing build dependencies, then the missing dependency needs to be found and added. Check the rpmdev-rmdevelrpms section to find out more.
mock is another good way to check build dependencies. Rather than remove all developer packages, it tries to build your package in a chroot. It makes no changes to your normal, daily environment and ensures that your package will build fine. However, mock may need a good internet connection to download all required packages. MockTricks page contains more information. Another mock-like tool, mach is also available in the Fedora repository.