システム内の依存Perlモジュールを見つけるためにrpmを参照する方法

システム内の依存Perlモジュールを見つけるためにrpmを参照する方法

デフォルトでは、rpmはrpm自体内でperlモジュールを検索し、見つからない場合は依存関係エラーが発生します。たとえば、Crypt::DESPerlモジュールを使用するrpmにPerlスクリプトがあります。私のシステム(/usr/local/lib64/perl5/Crypt/DES.pm)にPerlモジュールがあり、そのディレクトリは@INC rpmパッケージをインストールしようとしたときに次のエントリに含まれています。

[jai@orange x86_64]$ rpm -ivh abc-1-1.el6.x86_64.rpm

error: Failed dependencies:

...(some other perl modules)

perl(Crypt::DES) is needed by abc-1.el6.x86_64

...(some other modules)

ただし、対応するPerlモジュール(DES.pm)をrpmソースコードに配置すると、そのPerlモジュールの依存関係エラーは表示されません。

私の質問は、システムでPerlの依存関係を見つけるためにrpm(おそらく仕様ファイル)に割り当てる方法です。

答え1

仕様ファイルに次の内容を含めることができる必要があります。

Requires:   perl(Crypt::DES)

バラよりhttps://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-specfile-syntax.html#id729642

ディストリビューションが perl-Crypt-DES パッケージを提供していることを確認し、ファイルを手動で /usr/local/ の下に配置する代わりに使用することもできます。

関連情報