RPM packaging basis

packaging flow

  1. %prep : package.tar.gz unzip. to %builddir?
  2. %build : make %builddir
  3. %install : make %_buildroot
  4. %files : owned by package

term

BuildRequires:
A comma-separated list of packages required for building (compiling) the program.
These dependencies are not automatically determined, so you need to include everything needed to build the program.

Requires: A comma-separate list of packages that are required when the program is installed.
Note that the BuildRequires tag lists what is required to build the binary RPM, while the Requires tag lists what is required when installing/running the program

In many cases, rpmbuild automatically detects dependencies so the Requires tag is not always necessary.
However, you may wish to highlight some specific packages as being required, or they may not be automatically detected.

usage

Tip

https://fedoraproject.org/wiki/Packaging:Guidelines https://fedoraproject.org/wiki/Packaging:PkgConfigBuildRequires