Ce contenu n'est pas disponible dans la langue sélectionnée.
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
|
2.8.2. Macros Not Specific to a Software Collection
The table below shows a list of macros that are not specific to a particular Software Collection. Because these macros are not relocated and do not point to the Software Collection file system, they allow you to point to the system root file system. These macros use
_root
as a prefix.
All the macros have default values that you will not need to change in most cases.
Macro
|
Description
|
Relocated
|
Example value
|
---|---|---|---|
%_root_prefix
|
Software Collection's
%_prefix macro
|
no
| /usr/
|
%_root_exec_prefix
|
Software Collection's
%_exec_prefix macro
|
no
| /usr/
|
%_root_bindir
|
Software Collection's
%_bindir macro
|
no
| /usr/bin/
|
%_root_sbindir
|
Software Collection's
%_sbindir macro
|
no
| /usr/sbin/
|
%_root_datadir
|
Software Collection's
%_datadir macro
|
no
| /usr/share/
|
%_root_sysconfdir
|
Software Collection's
%_sysconfdir macro
|
no
| /etc/
|
%_root_libexecdir
|
Software Collection's
%_libexecdir macro
|
no
| /usr/libexec/
|
%_root_sharedstatedir
|
Software Collection's
%_sharedstatedir macro
|
no
| /usr/com/
|
%_root_localstatedir
|
Software Collection's
%_localstatedir macro
|
no
| /usr/var/
|
%_root_includedir
|
Software Collection's
%_includedir macro
|
no
| /usr/include/
|
%_root_infodir
|
Software Collection's
%_infodir macro
|
no
| /usr/share/info/
|
%_root_mandir
|
Software Collection's
%_mandir macro
|
no
| /usr/share/man/
|
%_root_initddir
|
Software Collection's
%_initddir macro
|
no
| /etc/rc.d/init.d/
|
%
_root_libdir
|
Software Collection's
%_libdir macro, this macro does not work if Software Collection's metapackage is platform-independent
|
no
| /usr/lib/
|
2.8.3. The nfsmountable Macro
Using a Software Collection macro
nfsmountable
allows you to change values for the _sysconfdir
, _sharedstatedir
, and _localstatedir
macros so that your Software Collection can have its state files and configuration files located outside the Software Collection's /opt
file system hierarchy. This makes the files easier to manage and is also required when using your Software Collection over NFS.
If you do not need support for Software Collections over NFS, using
nfsmountable
is optional but recommended. For more information, see Section 3.1, “Using Software Collections over NFS”.