やんごとなき事情で、rpm パッケージがない perl のモジュールが必要になったので、
CPAN でインストールしようか考えたけど、環境を汚すことを考えると簡単に処理できる
rpm パッケージのがいいので、作ろうとしたお話。
まずは、CPAN から取得した tar.gz なりを rpm パッケージにできるソフトだが、
cpan2rpm や cpanflute2 がある。
cpan2rpm は CentOS と fedora9 くらいまでは yum でインストールできたが、
今はできなくなっていて、自分でソースいじってインストールしてみたがうまく動かなかった。
そこで cpanflute2 を使う。
まずは、 cpanflute2 のインストール
# yum -y install "perl(RPM::Specfile)"
余談だが、レポジトリ上にある perl のモジュールは “perl(MODULE_NAME)” を指定すれば
インストールできることをこの作業中に知った。
あとは、欲しいモジュールのアーカイブをCPANから探してきて cpanflute2 してやればいい。
ただ、注意しなければならないのが、問答無双でソースを fedora 13 では、
/root/rpmbuild/SOURCE に探しに行くので CPAN から tar.gz を持ってくるときに、以下のようにしとけばうまくいく。
# cd /root/rpmbuild/SOURCE # wget http://cpan.org/hogehoge.tar.gz # cpanflute2 --buildall hogehoge.tar.gz
これで rpm ができてるのであとは、以下の様にすれば依存性を解決してインストールしてくれる。
# yum --nogpgcheck install hogehoge.rpm
Win32::Fileなどの依存性でインストールできない場合は、 以下のようにしてインストールはできる。
動作するかはソースを見て確認する必要があるが。
# rpm -Uvh --nodeps hogehoge.rpm
こんな感じで、めんどくさくなってきたのでおわり。