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