Plagger インストール
MacOSX 10.4.7, perl 5.8.6 の環境で、perl に関してはほとんど何もしてない状態からスタート。
手順は、
- test Plagger で依存する CPAN モジュールのチェック・インストール
- install Plagger で Plagger のインストール
- subversion repository から assets をチェックアウト
- Plagger の設定
の順でやってみた。
1. test Plagger で依存する CPAN モジュールのチェック・インストール
まずは、test Plagger。
$ sudo cpan cpan> test Plagger [Core Features] - Test::More ...loaded. (0.64 >= 0.42) - Test::Base ...loaded. (0.52 >= 0.52) - Class::Accessor::Fast ...missing. - File::Find::Rule ...missing. - UNIVERSAL::require ...missing. (would need 0.1) - Template ...missing. (would need 2.13) - Template::Provider::Encoding ...missing. (would need 0.04) - YAML ...loaded. (0.62 >= 0.39) - Text::Tags ...missing. - DateTime ...missing. (would need 0.29) - DateTime::Format::Mail ...missing. - DateTime::Format::W3CDTF ...missing. - DateTime::Format::Strptime ...missing. - Digest::MD5 ...loaded. (2.33) - LWP ...missing. - HTML::Parser ...missing. (would need 3.48) - URI::Fetch ...missing. (would need 0.071) - Cache::Cache ...missing. (would need 1.04) - Module::Pluggable::Fast ...missing. - HTML::ResolveLink ...missing. - Date::Parse ...missing. - MIME::Types ...missing. (would need 1.16) - Net::DNS ...missing. - XML::Feed ...missing. (would need 0.09) - XML::LibXML ...missing. - XML::Atom ...missing. (would need 0.19) - XML::RSS::LibXML ...missing. (would need 0.2) - Encode ...missing. (would need 2.1) - Term::Encoding ...missing.
とこんな感じで、足りないモジュールが結構あった。で、このまま test Plagger を続けて、自動的に必要なモジュールをインストールできるみたいなんだけど、うまくインストールできないこともあったので、ある程度までは手で入れていった。ひとまず上から順に、
$ sudo cpan cpan> install Class::Accessor::Fast
という感じでインストール。
- Class::Accessor::Fast
- File::Find::Rule
- UNIVERSAL::require
- Template
- Template::Provider::Encoding
- Text::Tags
までは問題なくインストールできた。で、DateTime を入れる前に、
- DateTime::TimeZone
- Module::Build
をインストールして、Module::Signature の前に
- gnupg のインストール (これはいらないかもしれないなぁ)
$ sudo fink install gnupg
した。その後
- Module::Signature
- DateTime
- DateTime::Format::Mail
- DateTime::Format::W3CDTF
- DateTime::Format::Strptime
そして、LWPの前に、
- HTML::Tagset
- LWP
- HTML::Parser
で、URI::Fetch の前に(この辺はいらないかもなぁ)
- Heap::Fibonacci
- Date::Parse
- File::NFSLock
Cache:Cache の前に、
- Error
なんだけど、
t/08warndie..........................NOK 9 # Failed test 'die ?n-terminated exit code' # in t/08warndie.t at line 114. # got: '5' # expected: '3' t/08warndie..........................NOK 11 # Failed test 'die unterminated exit code' # in t/08warndie.t at line 135. # got: '5' # expected: '3' t/08warndie..........................NOK 13 # Failed test 'Error exit code' # in t/08warndie.t at line 156. # got: '5' # expected: '3' t/08warndie..........................NOK 21 # Failed test 'Custom die exit code' # in t/08warndie.t at line 215. # got: '5' # expected: '3' # Looks like you failed 4 tests of 21. t/08warndie..........................dubious Test returned status 4 (wstat 1024, 0x400) DIED. FAILED tests 9, 11, 13, 21 Failed 4/21 tests, 80.95% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/08warndie.t 4 1024 21 4 19.05% 9 11 13 21 Failed 1/8 test scripts, 87.50% okay. 4/42 subtests failed, 90.48% okay. make: *** [test_dynamic] Error 2 /usr/bin/make test -- NOT OK Running make install make test had returned bad status, won't install without force Failed during this command: SHLOMIF/Error-0.17.tar.gz : make_test NO
って言われてしまう。ここはひとまず force install した。
cpan> force install Error
その後、
を入れて、XML::Feed の前に、expat のインストール(XML::Parser に必要?)
$ sudo fink instal expat
で、そのあと、XML::Parser を入れて(expat の場所を指定)
$ sudo cpan $ look XML::Parser # perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include # make # make test # make install # exit
- XML::XPath
- XML::LibXML
- XML::SAX
- XML::NamespaceSupport
- XML::LibXML::Common
- XML::Atom
- XML::Feed
- XML::RSS::LibXML
- Encode
- Term::Encoding
と入れるとひとまずうまくいった。これで、Plagger が Core Features と言っているもの(余計なものも入ってるかもしれない)のインストールが終わる。で、改めて test Plagger すると、Encode::Detect を勧められて、これを入れるには、先に
- Encode::Detect
- ExtUtils::ParseXS
- Data/Dump.pm
- XML::SimpleObject
- Net::SSLeay
- IO::Socket::SSL
- XML::XPathEngine
- HTML::TreeBuilder
- Exporter::Lite
- Time::Duration
- Time::Duration::Parse
が入ってないとダメみたい。
これで、test Plagger が通る。最初は結構大変だったけど、要領が分かっていると案外すんなりいったなぁ。
2. install Plagger で Plagger のインストール
ここまでくればあとは簡単。
$ sudo cpan cpan> install Plagger
で Plagger のインストールは終わり。
3. subversion repository から assets をチェックアウト
次に、Plagger の subversion repository から plugin などをチェックアウトする。
$ cd /Users/truego $ svn co http://svn.bulknews.net/repos/plagger/trunk/plagger/assets plagger-assets
4. Plagger の設定
次に Plagger の設定をする。/usr/bin/config.yaml に設定ファイルを作る。global: assets_path は repository から取ってきたものの場所を指定する。
以下は、http://d.hatena.ne.jp/truego/rss にある feed を取ってきて、携帯で読めるように/tmp にCHTMLにして出力するという設定。
global: assets_path: /Users/truego/plagger-assets timezone: Asia/Tokyo plugins: - module: Subscription::Config config: feed: - url: http://d.hatena.ne.jp/truego/rss - module: Filter::EntryFullText config: store_html_on_failure: 1 - module: Publish::CHTML config: title: Hatena::truego work: /tmp/