2.8. Software Collection Macros
The Software Collection packaging macro
scl
defines where to relocate the Software Collection's file structure. The relocated file structure is a file system used exclusively by the Software Collection.
The
%scl_package
macro defines files ownership for the Software Collection's metapackage and provides additional packaging macros to use in the Software Collection environment.
To be able to build a conventional package and a Software Collection package with a single spec file, prefix the Software Collection macros with
%{?scl:macro}
, as in the following example:
%{?scl:Requires:%scl_runtime}
In the example above, the
%scl_runtime
macro is the value of the Requires
tag. Both the macro and the tag use the %{?scl:
prefix.
2.8.1. Macros Specific to a Software Collection
The table below shows a list of all macros specific to a particular Software Collection. All the macros have default values that you will not need to change in most cases.
Macro
|
Description
|
Example value
|
---|---|---|
%scl_name
|
name of the Software Collection
| software_collection_1
|
%scl_prefix
|
name of the Software Collection with a dash appended at the end
| software_collection_1-
|
%pkg_name
|
name of the original package
| perl
|
%_scl_prefix
|
root of the Software Collection (not package's root)
| /opt/provider/
|
%_scl_scripts
|
location of Software Collection's scriptlets
| /opt/provider/software_collection_1/
|
%_scl_root
|
installation root (install-root) of the package
| /opt/provider/software_collection_1/root/
|
%scl_require_package software_collection_1 package_2
|
depend on a particular package from a specific Software Collection
| software_collection_1-package_2
|