デフォルトでは、rpmはrpm自体内でperlモジュールを検索し、見つからない場合は依存関係エラーが発生します。たとえば、Crypt::DES
Perlモジュールを使用する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)
ディストリビューションが perl-Crypt-DES パッケージを提供していることを確認し、ファイルを手動で /usr/local/ の下に配置する代わりに使用することもできます。