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.30
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
perl
パッケージのバージョンには、エポック番号が含まれるため、バージョンに対する比較は行わないでください。
6.8.4. パッケージが正しい Perl インタープリターを使用することを確認 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、完全に互換性がない複数の Perl インタープリターを提供しています。そのため、Perl モジュールを提供するすべてのパッケージは、ビルド時に使用されたものと同じ Perl インタープリターをランタイムで使用する必要があります。
これを確認するには、以下の手順に従います。
手順
Perl モジュールを提供するパッケージの RPM
spec
ファイルに、バージョン管理されたMODULE_COMPAT
Requires
を含めます。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