5.8. Perl スクリプトで RPM パッケージを処理する方法
RHEL 8 以降、Perl プログラミング言語はデフォルトの buildroot に含まれていません。したがって、Perl スクリプトを含む RPM パッケージでは、RPM spec
ファイルの BuildRequires:
ディレクティブを使用して、Perl への依存関係を明示的に示す必要があります。
5.8.2. 特定の Perl モジュールの使用
特定の Perl モジュールがビルド時に必要な場合は、以下の手順に従います。
手順
RPM
spec
ファイルに次の構文を適用します。BuildRequires: perl(MODULE)
注記この構文は Perl コアモジュールにも適用します。これは、
perl
パッケージを同時に移動し、タイムアウトするためです。
5.8.3. 特定の Perl バージョンへのパッケージの制限
パッケージを特定の Perl バージョンに限定するには、以下の手順に従います。
手順
RPM
spec
ファイルで、必要なバージョン制約を指定したperl (:VERSION)
依存関係を使用します。たとえば、パッケージを Perl バージョン 5.22 以降に制限するには、以下を使用します。
BuildRequires: perl(:VERSION) >= 5.22
perl
パッケージのバージョンには、エポック番号が含まれるため、バージョンに対する比較は行わないでください。
5.8.4. パッケージが正しい Perl インタープリターを使用することを確認
Red Hat は、完全に互換性がない複数の Perl インタープリターを提供しています。そのため、Perl モジュールを提供するすべてのパッケージは、ビルド時に使用されたものと同じ Perl インタープリターをランタイムで使用する必要があります。
これを確認するには、以下の手順に従います。
手順
Perl モジュールを提供するパッケージの RPM
spec
ファイルに、バージョン管理されたMODULE_COMPAT
Requires
を含めます。Requires: perl(:MODULE_COMPAT_%(eval `perl -V:version`; echo $version))