2.8. Software Collection マクロ

Software Collection パッケージマクロ scl は、Software Collection のファイル構造の再配置先を定義します。移動したファイル構造は、Software Collection 専用で使用されるファイルシステムです。
%scl_package マクロは、Software Collection のメタパッケージの所有者を定義し、Software Collection 環境で使用する追加のパッケージマクロを提供します。
従来のパッケージと Software Collection パッケージを 1 つのスペックファイルで構築できるようにするには、以下の例のように %{?scl:macro} の説得時を Software Collection マクロに付けます。
%{?scl:Requires: %scl_runtime}
上記の例では、%scl_runtime マクロは Requires タグの値です。マクロとタグの両方が %{?scl: 接頭辞を使用します。

2.8.1. Software Collection に固有のマクロ

以下の表は、特定の Software Collection に固有のマクロの一覧を示しています。すべてのマクロにはデフォルト値があり、ほとんどの場合で変更する必要はありません。

表2.1 Software Collection 固有のマクロ

マクロ
詳細
値の例
%scl_name
Software Collection の名前
software_collection_1
%scl_prefix
末尾にダッシュが追加された Software Collection の名前
software_collection_1-
%pkg_name
元のパッケージの名前
perl
%_scl_prefix
Software Collection の root (パッケージの root ではない)
/opt/provider/
%_scl_scripts
Software Collection のスクリプトレットの場所
/opt/provider/software_collection_1/
%_scl_root
パッケージのインストール root (install-root)
/opt/provider/software_collection_1/root/
%scl_require_package software_collection_1 package_2
特定の Software Collection の特定のパッケージに依存します。
software_collection_1-package_2

2.8.2. Software Collection に指定されていないマクロ

以下の表は、特定の Software Collection に固有しないマクロの一覧を示しています。これらのマクロは移動されず、Software Collection ファイルシステムを参照しないため、システムの root ファイルシステムを参照できます。これらのマクロは、_root を接頭辞として使用します。
すべてのマクロにはデフォルト値があり、ほとんどの場合で変更する必要はありません。

表2.2 非 Software Collection 固有のマクロ

マクロ
詳細
再配置
値の例
%_root_prefix
Software Collection の %_prefix マクロ
いいえ
/usr/
%_root_exec_prefix
Software Collection の %_exec_prefix マクロ
いいえ
/usr/
%_root_bindir
Software Collection の %_bindir マクロ
いいえ
/usr/bin/
%_root_sbindir
Software Collection の %_sbindir マクロ
いいえ
/usr/sbin/
%_root_datadir
Software Collection の %_datadir マクロ
いいえ
/usr/share/
%_root_sysconfdir
Software Collection の %_sysconfdir マクロ
いいえ
/etc/
%_root_libexecdir
Software Collection の %_libexecdir マクロ
いいえ
/usr/libexec/
%_root_sharedstatedir
Software Collection の %_sharedstatedir マクロ
いいえ
/usr/com/
%_root_localstatedir
Software Collection の %_localstatedir マクロ
いいえ
/usr/var/
%_root_includedir
Software Collection の %_includedir マクロ
いいえ
/usr/include/
%_root_infodir
Software Collection の %_infodir マクロ
いいえ
/usr/share/info/
%_root_mandir
Software Collection の %_mandir マクロ
いいえ
/usr/share/man/
%_root_initddir
Software Collection の %_initddir マクロ
いいえ
/etc/rc.d/init.d/
%_root_libdir
Software Collection の %_libdir マクロ (Software Collection のメタパッケージがプラットフォームに依存していない場合、このマクロは機能しません)
いいえ
/usr/lib/

2.8.3. nfsmountable マクロ

Software Collection マクロ nfsmountable を使用すると、_sysconfdir_sharedstatedir、および _localstatedir マクロの値を変更できるため、Software Collection が、状態ファイルと設定ファイルが、Software Collection の /opt ファイルシステム階層外に置かれます。これにより、NFS で Software Collection を使用する場合に、ファイルの管理が容易になり、必要になります。
NFS を介した Software Collections のサポートが必要ない場合は、nfsmountable の使用は任意ですが推奨されます。詳細は、「NFS での Software Collections の使用」 を参照してください。