デフォルトでは、rpm は rpm 自体の内部で perl モジュールを探し、見つからない場合は依存関係エラーをスローします。たとえば、rpm にCrypt::DES
perl モジュールを使用する perl スクリプトがあるとします。その perl モジュールはシステム ( ) にあり、このディレクトリは rpm パッケージをインストールしようとすると/usr/local/lib64/perl5/Crypt/DES.pm
次のディレクトリに含まれます。@INC
[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 (spec ファイル内かもしれません) で指定する方法です。
答え1
仕様ファイルに以下のような内容を含めることができるはずです。
Requires: perl(Crypt::DES)
また、ディストリビューションがperl-Crypt-DESパッケージを提供しているかどうかを確認し、手動で/usr/local/の下にファイルを置く代わりにそれを使用するとよいでしょう。