はちゅにっき

こっちのブログはまったり更新

いまさらだけれど Remedie を使ってみよう

Shibuya.pmid:miyagawa さんが発表された、Remedie を今更ながらにインストールしてみることにしました。

本体を入手しよう。

Google Code にて開発が進められているようなので、そっからチェックアウトしてきました。

$ svn co http://remedie.googlecode.com/svn/trunk ./remedie

おわり。
ちなみに、チェックアウトされたのは以下のリビジョン。

$ svn info
パス: .
URL: http://remedie.googlecode.com/svn/trunk
リポジトリのルート: http://remedie.googlecode.com/svn
リポジトリ UUID: 820bdc58-a644-11dd-81d7-27b247425303
リビジョン: 471
ノード種別: ディレクトリ
準備中の処理: 特になし
最終変更者: hanekomu
最終変更リビジョン: 471
最終変更日時: 2008-12-11 10:42:33 +0900 (木, 11 12月 2008)

make の準備をしよう

Shibuy.pm で「Makefile とか全部嘘なんで」って言っていたきもするけど。。。

$ cd ./remedie
$ perl Makefile.PL

この Makefile.PL を実行すると、最後に必要だけれども見つからなかったモジュールが Warning として出力されるので、そのモジュールを cpan からインストール。
ただし、注意点(?)が2点。

requires 'DateTIme::Format::Strptime';

これは "TIme" と "I" が大文字になっているため、どー頑張ってもインストールできません。
なので、Makefile.PL を修正しました。

  • make install しちゃだめ

Makefile.PL を実行すると、最後にこんなメッセージが

WARNING WARNING WARNING WARNING WARNING WARNING

You seem to have Plagger 0.7.17 in your system. Running
'make install' will overwrite forked Plagger modules and that will
break your existent Plagger installation. I recommend you not doing
that.

  DO NOT RUN 'make install'

You have been warned.

WARNING WARNING WARNING WARNING WARNING WARNING

というわけで、make install しないようにしましょう。
あ、ついでに Plagger とか Moxy も make install は想定してないそうですよ!

make するよ

Makefile が生成されたら、make しちゃいます。

$ make
$ make test

make test まで無事終了すれば(ってゆーか test いらなそうだよね) 実行可能な状態に!
以降は チェックアウトされた中に含まれる HACKING を読めば、だいたいわかります。

DB の初期化

Remedie は SQLite を利用しているため、DB を初期化します。

$ rm -r ~/.remedie  # 初めて実行する場合は不要。以降 DB を初期化したいときなどに利用
$ perl -Ilib -MRemedie::DB::Schema -e 'Remedie::DB::Schema->install'  # DB 初期化

さてさて、あとは実行するだけだね!

じっこう!してみたけれど?

$ perl -Ilib ./bin/remedie-server.pl
HTTP::Server::Simple: You can connect to your server at http://localhost:10010/

起動したら、ブラウザで表示すると Remedie の画面が表示されました。わーい。
では、さっそくチャンネルを add するぞー。
と、ためしに YouTubeRSS なんかを引っ張ってきたんだけれど。。。

closing dbh with active statement handles at /usr/local/share/perl/5.10.0/Rose/DB.pm line 842.

とか表示されて、チャンネルが追加できない!!!
こまった。。。

解決法

調べてみると、id:tokuhirom さんのところで

DBD::SQLite で closing dbh with active statement handles になる件のまとめとその解決方法について

という記事を発見。
早速やってみることに。

DBD::SQLite::Amalgamation をいれる

どうやら、DBD::SQLite の既知の不具合で、そこから fork させたものがCodeRepos にアップロードされていたので、これを利用させていただくことに。

$ svn co http://svn.coderepos.org/share/lang/perl/DBD-YASQLite/trunk/ ./DBD-YASQLite
$ perl Makefile.PL
$ make
$ make test

make install していいか悩んだけれど、普通に DBD::SQLite を使っていても、結構起こりうる事象っぽいので迷わずにインストールすることにしました。

$ make install

とりあえず、もっかい DB 再構成しとく

必要か分からないけれど、ちょっと気持ち悪かったので。

$ rm -r ~/.remedie
$ perl -Ilib -MRemedie::DB::Schema -e 'Remedie::DB::Schema->install'
$ perl -Ilib ./bin/remedie-server.pl

こんどこそ

というわけで、もう一度 Remedie を起動して、ブラウザで表示してみると
見事にチャンネルも追加できるようになり、無事に Remedie ライフが始まりました。
miyagawa++、tokuhirom++ ですね。

おまけ

PuTTY + ポートフォワードを使えば localhost に Remedie をインストールしなくても使えるよ!
今度、sakura のレンタルサーバでもためしてみる!
って、さすがにポート使うのはマズイかな?