PerlスクリプトをRPMの中に入れようとすると,requireまで依存性チェックした

specファイルを書いて,あるアプリケーションのインストーラを作成している.
cpでperlスクリプトをコピーするようにした.
rpmbuildは通るが,いざインストールしようとすると,

perl(bin::header.pl) は wab-3.00-1.x86_64 に必要とされています

のようなエラーが出た.
requireまで依存性チェックしてくれなくても..

調べたら,すぐ解決方法が見つかった.

Template Toolkit ですが、こちらで試したところ、単に これの RPM を作るだけでは「他の Perl モジュールが必要です」というエラーでインストールできません。

rpmbuild コマンドで RPM パッケージを作ると、自動で依存関係を調べて使わない Perl モジュールにまで依存してしまうのが問題です。解決方法としては 2 つあります。

  • 必要とされるもの全部いれる。
  • Template Toolkit のソースRPM に含まれる spec ファイルを書き換えて「AutoReqProv: no」を追加して、自動で依存関係設定しないようにする

via PerlモジュールからのRPM作成方法