システム内の依存する Perl モジュールを探すために rpm を指定する方法

システム内の依存する Perl モジュールを探すために rpm を指定する方法

デフォルトでは、rpm は rpm 自体の内部で perl モジュールを探し、見つからない場合は依存関係エラーをスローします。たとえば、rpm にCrypt::DESperl モジュールを使用する 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)

見るhttps://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-specfile-syntax.html#id729642

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

関連情報