cpan2rpm での Perl モジュールのインストール

  • 投稿日:
  • by

Movable Type の mt-check.cgi で確認できるモジュールの中で、デフォルトの yum でインストールできないモジュールがあります。憎きそのモジュールは以下の3つです。

Crypt::DSA
IO::Uncompress::Gunzip
IO::Compress::Gzip

このうち Crypt::DSA はあまり重要ではないので、今回はほかの2つをインストールしてみます。
で、CPAN という便利なツールはあるのですが、如何せんアンインストールが不便です。そこで今回は CPAN モジュールを rpm に自動変換してくれるという超便利なツール cpan2rpm を使ってモジュールをインストールしてみようと思います。

まずは cpan2rpm のインストール。

[root@host ~]# cd /usr/local/bin/

[root@host bin]# rpm --import http://perl.arix.com/cpan2rpm/gpg.pub.asc

[root@host bin]# rpm -Uvh cpan2rpm-2.027-1.noarch.rpm

cpan2rpm のインストールが完了したら、いよいよモジュールのインストールです。

[root@host bin]# cpan2rpm --install IO::Uncompress::Gunzip

-- cpan2rpm - Ver: 2.027 --
Signatures not set up
Upgrade check

* A newer version of this program is now available. To upgrade
* enter the following command: /usr/bin/cpan2rpm --upgrade

Fetch: HTTP

-- module: IO::Uncompress::Gunzip --
Module not found on CPAN web site! at /usr/bin/cpan2rpm line 1201.
-- Done --

あれ... 見つからないと言われてしまった。http://search.cpan.org で調べてみると見つかるのになぁ...
あ、もしかしたらこのモジュール単体では無理なのかも。IO::Uncompress::Gunzip は http://search.cpan.org によると IO-Compress-Zlib に含まれているみたいなのでインストールしてみます。

[root@host bin]# cpan2rpm --install IO-Compress-Zlib

-- cpan2rpm - Ver: 2.027 --
Signatures not set up
Upgrade check

* A newer version of this program is now available. To upgrade
* enter the following command: /usr/bin/cpan2rpm --upgrade

Fetch: HTTP

-- module: IO::Compress::Zlib --
Found: IO-Compress-Zlib-2.008.tar.gz
At: http://search.cpan.org//CPAN/authors/id/P/PM/PMQS
Retrieving URL
Metadata retrieval
Tarball extraction: [/usr/src/redhat/SOURCES/IO-Compress-Zlib-2.008.tar.gz]
Unable to build module, the following dependencies have failed:
  IO::Uncompress::Base >= 2.008
  IO::Compress::Base >= 2.008
  Compress::Raw::Zlib >= 2.008
Stopped at /usr/bin/cpan2rpm line 492.
-- Done --

あらら。今度は依存関係でストップ。調べてみると IO::Uncompress::Base と IO::Compress::Base は「IO-Compress-Base」に含まれているみたい。Compress::Raw::Zlib はずばりそのまま。この2つをインストールしてみます。

[root@host bin]# cpan2rpm --install IO-Compress-Base
[root@host bin]# cpan2rpm --install Compress::Raw::Zlib

上記コマンドで無事インストール完了。ちなみにインストールするモジュール名にハイフン「-」やダブルコロン「::」を使い分けてますが、インストール時にはハイフン「-」に直されるみたいなので、どちらを指定しても構わないみたいです。
で、さっき完了しなかった IO-Compress-Zlib をインストール。

[root@host bin]# cpan2rpm --install IO-Compress-Zlib

無事インストールできました。mt-check.cgi の実行結果にも反映されています。めでたしめでたし。