fedora 13 で rpm パッケージのない perl のモジュールを作る

やんごとなき事情で、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

こんな感じで、めんどくさくなってきたのでおわり。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください