2.12. Building a Software Collection

To build a Software Collection on your system, run the following command:
 rpmbuild -ba package.spec --define 'scl name' 
The difference between the command shown above and the standard command to build conventional packages (rpmbuild -ba package.spec) is that you have to append the --define option to the rpmbuild command when building a Software Collection.
The --define option defines the scl macro, which uses the Software Collection configured in the Software Collection spec file (package.spec).
Alternatively, to be able to use the standard command rpmbuild -ba package.spec to build the Software Collection, specify the following in the package.spec file:
BuildRequires: software_collection-build
where software_collection is the name of the Software Collection.

2.12.1. Rebuilding a Software Collection without build Subpackages

When you want to rebuild a Software Collection that comes with no build subpackages (software_collection-build), you can create the build subpackages by rebuilding the Software Collection metapackage, and thus avoid using the rpmbuild -ba package.spec --define 'scl name' command.
Note that you need to have the scl-utils-build package installed on your system, otherwise rebuilding the Software Collection metapackage with the rpmbuild command will fail.
For more information about the scl-utils-build package, see Section 1.3, “Enabling Support for Software Collections”.