Archive:PackagingDrafts/BuildRequires

From FedoraProject

Jump to: navigation, search

Contents

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 BuildRequires 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.