読者です 読者をやめる 読者になる 読者になる

YAPC::Asiaで受けた質問について

YAPC後すぐに休みにはいってたので、大分遅くはなりましたが、CPAN::Packagerのセッションで頂いたコメントをまとめました。

Q&A

Q1: 古いバージョンのモジュールを残したい場合はどうすればいいか?
A: cpanminiなどでカスタムのミラーサーバーを作るか、カスタムのモジュールを置く場所をconfigにかけるようになっているので、それを使うようにするのがいいです。

Q2: モジュールビルド時にテストしたいんですが
A: Debian版ではそうなってるんですが、RPM版ではそうなってないです。テストをしようとすると依存関係があるものを深い順から順にrpmをインストールしながらテストをしていく必要があるんですが、インストールしてしまうのがどうかなぁと思ってデフォルトをインストールしないようにしています。そこの動作はそろえようと思ってます。実装としてはすぐにできるので。

Q3: onfigの仕様がよくわからない
A: configのサンプルがgithubにあって、Catalystがビルドできるくらいのものにはなっているので、それをみるのがいいです。CPAN::Packager::Config::Schemaにスキーマがかいてあるので、そこにdescriptionを追加しようかと思ってます。

Q4: 依存ライブラリが多いです
A: CPANPLUSを内部でつかっていて、それで依存関係が多いんです。それを削れば大分減るんですが、時間がなくてやってません...

(依存関係は切り離せるように、CPAN::Packager::DownloaderだけがCPANPLUSに依存するようにしているので、そのインターフェースにあわせて書き換えてミニマムな実装を用意すればいいようになってます。patches welcome!)

Q5: local::libに比べてメリットは?
A: pure perlのモジュールだけの場合local::libで管理するほうが楽だとは思います。distributionのパッケージが必要な場合は、rpmなどで一括管理した方が管理コストは減るんじゃないかと思います。

BSD, redhat などなどアーキテクチャやOSがばらばらのサーバー群がある場合には、逆にパッケージ作るのはむかないでしょうね。)

最後に

kazeburoさん、daibaさん、その他質問して頂いた方ありがとうございました。

モジュールビルド時のテストとconfigのdescriptionあたりから時間をみつけてやろうかと思ってます。