Hatena::Groupangelos

Angelos in Action RSSフィード

Fork me on GitHub
 | 

2009-02-23

reqiresの記述漏れチェック

01:18 | reqiresの記述漏れチェック - Angelos in Action を含むブックマーク はてなブックマーク - reqiresの記述漏れチェック - Angelos in Action reqiresの記述漏れチェック - Angelos in Action のブックマークコメント

requiresに書くのがもれるのが嫌で以下のようなものを使っていた。

これで大体もれなくなったんだけど、今日指摘されてわかったことは、MouseX系、MooseX系などのwithで指定するRoleがもれちゃうということ。

prove -lv xt/extra/dependency.t | grep 'not ok' | awk '{print $5}'

xt/extra/dependency.t

use Test::Dependencies
    exclude => [qw/Test::Dependencies Test::Base Test::Perl::Critic CPAN::Packager/],
    style   => 'light';
ok_dependencies();

PPI使ってかくか、簡単にgrep+awk+sortでひっかけるのがいいのかなぁ。

# 当面は、これくらいでいいかぁ

find . -name \*.pm -print | xargs grep -e "MouseX"| awk {'print $2'}| sort | uniq

CPANPLUS::Distがよさげかも

00:13 | CPANPLUS::Distがよさげかも - Angelos in Action を含むブックマーク はてなブックマーク - CPANPLUS::Distがよさげかも - Angelos in Action CPANPLUS::Distがよさげかも - Angelos in Action のブックマークコメント

http://d.hatena.ne.jp/tokuhirom/20090223/1235357944

tokuhiromさんの日記にもかかれてますが、cpan2distは割と綺麗に実装されてるなぁと。Deb以外にもCPANPLUS::Dist::RPMが普通に綺麗に実装されていて、これをベースに考えるのはなかなか良さそう。

stanakaさんのやつのポイントは、依存関係を解決しながら、その解決する先のモジュールのrequireをfilterしたり、requireにモジュール追加したりするのができるってところだと思うので、それができればいいのかなぁと。

cpan2distのPODをみただけだと、それができるのかがちょっとわからない。ignoreとかは近いオプションだと思うのだけれど、Aモジュールはこれをignore, Bモジュールはこれをignoreのような設定がぱっとみた感じできなそうかなぁと。

あとはコードみてからかなぁと。

dh-make-perlで生成したdebモジュール群でperllocal.podが被る件

23:41 | dh-make-perlで生成したdebモジュール群でperllocal.podが被る件 - Angelos in Action を含むブックマーク はてなブックマーク - dh-make-perlで生成したdebモジュール群でperllocal.podが被る件 - Angelos in Action dh-make-perlで生成したdebモジュール群でperllocal.podが被る件 - Angelos in Action のブックマークコメント

deb中に複数のperllocal.podというのが生成されて、これが衝突してしまって、複数パッケージのインストールができないという問題を調べてみた。

手順としては、以下のようにすることで、回避ができた。

まず、dh-make-perlのビルドルールをコピー

cp -v /usr/share/dh-make-perl/rules.MakeMaker.noxs ~/.dh-make-perl

以下のように、ビルドする直前で、$(TMP)/usr/lib を削除する事で、perllocal.podが被るのを防ぐ。

--- rules.MakeMaker.noxs.orig   2009-02-23 23:33:44.000000000 +0900
+++ rules.MakeMaker.noxs        2009-02-23 23:33:36.000000000 +0900
@@ -72,6 +72,7 @@
        dh_installdeb
        dh_gencontrol
        dh_md5sums
+       rm -rfv $(TMP)/usr/lib 
        dh_builddeb

うーむ...これ最初っからパッチとして入ってるべきな気が...

 |