Plaggerインストールまつり (前半戦)

最近この界隈で「それPla」という言葉が流行っていたりして個人的に気になっていたPlaggerだが、こことかこことかこことかを見て面白そうだと思ったので、インストールに挑戦してみた。

Plaggerについては、その依存モジュールの多さからインストールが大変だという噂は以前から聞いていて、最近は割と簡単にインストールできるようになったらしいけど、これだとRPMのパッケージ管理からは外れてしまうので、無謀にも一個一個RPMパッケージを作ってインストールする事にした。

まず、前準備としてこれも最近知ったCPAN::Miniで全モジュールをダウンロードしておく。こうしておくと、後でモジュールの圧縮ファイルを一々ダウンロードしなくて済むのでとても便利。
CPANで配布されている圧縮ファイルは、cpanfluteというコマンドで機械的にソースRPMパッケージに変換する事ができる(この時点ではあくまで仮のもの)。このソースRPMを展開してspecファイルを修正して再コンパイルすればRPMパッケージのできあがり。なお、CPANモジュールをインストールすると、m コマンドでダウンロードしたファイルのパスが分かる。
ここまでは何も問題が起きなかったケースで、大抵さらに別のモジュールに依存していたりするので、その場合はそっちを先に作ってインストールする。あとはこの繰り返し。

今回インストールしたモジュールは以下の通り(45個)。

  • Spiffy
  • YAML::Syck
  • Module::ScanDeps
  • version
  • Module::CoreList
  • ExtUtils::ParseXS
  • Module::Install
  • Test::Base
  • YAML
  • Class::Accessor
  • Number::Compare
  • Text::Glob
  • File::Find::Rule
  • Text::Tags
  • DateTime::Format::Mail
  • DateTime::Format::Strptime
  • UNIVERSAL::require
  • Module::Pluggable::Fast
  • HTML::ResolveLink
  • Digest::HMAC
  • Net::IP
  • Net::DNS
  • Term::Encoding
  • Class::ErrorHandler
  • MIME::Types
  • XML::LibXML::XPathContext
  • XML::RSS::LibXML
  • IPC::ShareLite
  • Cache::Cache
  • File::NFSLock
  • Heap
  • Cache
  • URI::Fetch
  • Feed::Find
  • Class::Data::Inheritable
  • LWP::Authen::Wsse
  • XML::Atom
  • XML::Feed
  • Pod::POM
  • Text::Reform
  • Text::Autoformat
  • Template::Toolkit
  • Template::Provider::Encoding
  • HTML::Parser
  • DateTime

以下はPlaggerとは直接関係ないけど関連してインストールしたモジュール(Bundle::CPAN関係とか):

  • RPM::Specfile
  • Archive::Zip
  • Term::ReadLine::Perl
  • File::Which
  • Digest::SHA
  • Net::Telnet

ちなみにこれからインストールする必要のあるモジュール:

  • Audio::Beep
  • Cache::FastMmap
  • Config::INI::Simple
  • DBIx::Class::Schema
  • Data::Serializer
  • DateTime::Format::Epoch
  • Email::Address
  • Encode
  • Encode::Detect
  • File::Copy::Recursive
  • Flickr::API
  • HTML::RSSAutodiscovery
  • HTML::Scrubber
  • HTML::TreeBuilder::XPath
  • HTTP::Cookies::Mozilla
  • Hatena::Keyword
  • IPC::Run
  • Image::Info
  • KinoSearch
  • Lingua::ZH::HanDetect
  • Mail::IMAPClient
  • Mail::SpamAssassin
  • Net::Delicious
  • Net::MovableType
  • Net::NetSend
  • PDF::FromHTML
  • POE
  • POE::Component::Client::DNS
  • POE::Component::Client::HTTP
  • POE::Component::IKC::Client
  • POE::Component::IRC
  • Palm::PalmDoc
  • Regexp::Common::profanity_us
  • SWF::Builder
  • Search::Estraier
  • Spreadsheet::WriteExcel
  • Template::Plugin::JavaScript
  • Test::Pod
  • Test::Pod::Coverage
  • Text::CSV_PP
  • Text::Emoticon
  • Text::Hatena
  • Text::Language::Guess
  • Text::Markdown
  • Text::WrapI18N
  • Time::Duration::Parse
  • URI::Find
  • WWW::Babelfish
  • WWW::Mechanize
  • WWW::Mixi
  • WebService::Bloglines
  • XML::Liberal
  • XML::RSS::Liberal
  • Xango

うは、まだ54個も残ってるよ。この先さらに依存関係が増えることを考えると、半分どころかまだ全然終わってないじゃん。