Hatena::Groupangelos

あんじえろおおおおす!

2009-03-06

Build.PL しかないモジュールを cpanflute2 で RPM 化する patch 15:26  Build.PL しかないモジュールを cpanflute2 で RPM 化する patch - あんじえろおおおおす! を含むブックマーク はてなブックマーク -  Build.PL しかないモジュールを cpanflute2 で RPM 化する patch - あんじえろおおおおす!

293c293,299
<   $makefile_pl = qq{CFLAGS="\$RPM_OPT_FLAGS" %{__perl} Makefile.PL destdir=\$RPM_BUILD_ROOT $installdirs < /dev/null};
---
>   $makefile_pl = qq{CFLAGS="\$RPM_OPT_FLAGS" %{__perl} Build.PL destdir=\$RPM_BUILD_ROOT $installdirs < /dev/null};
>   $make_install = qq{./Build pure_install PERL_INSTALL_ROOT=\$RPM_BUILD_ROOT};
>   $spec->build(<<EOB);
> $makefile_pl
> ./Build %{?_smp_mflags} OPTIMIZE="\$RPM_OPT_FLAGS"
> EOB
> 
297,299c303
< }
< 
< $spec->build(<<EOB);
---
>   $spec->build(<<EOB);
303a308,309
> }
> 

なんで、$use_module_build で分岐させてるのに Makefile.PL 使おうとしてるのかがわからない。

ちなみに Build.PL の引数とかは全くわかってない。

トラックバック - http://angelos.g.hatena.ne.jp/vkgtaro/20090306

2009-03-02

CPAN::Packager に微妙なパッチ 19:46  CPAN::Packager に微妙なパッチ - あんじえろおおおおす! を含むブックマーク はてなブックマーク -  CPAN::Packager に微妙なパッチ - あんじえろおおおおす!

はてなグループで trackback 打つのどうすれば良いんだ?
リンク貼っておくと飛ぶとか? id:dann:20090221

module 名を解決してるところに perl ってのが来ると PerlInterp と解決されて、なぜか最終的に Inline::Java が依存関係に入ってくるという事態に陥ったので、perl が来たら return する。*1

diff --git a/lib/CPAN/Packager.pm b/lib/CPAN/Packager.pm
diff --git a/lib/CPAN/Packager/ModuleNameResolver.pm b/lib/CPAN/Packager/ModuleNameResolver.pm
index ce35906..cf22f4d 100644
--- a/lib/CPAN/Packager/ModuleNameResolver.pm
+++ b/lib/CPAN/Packager/ModuleNameResolver.pm
@@ -13,6 +13,8 @@ has 'ua' => (
 
 sub resolve {
     my ($self, $module) = @_;
+    return if $module eq 'perl';
+
     my $res = $self->get_or_retry(
         "http://search.cpan.org/search?query=$module&mode=module");
     return unless $res->is_success;

Test::Exception の Requires に Test::Builder::Tester が入っちゃって、それ Test::Simple だよ! とかちょっと苦戦したw かなり楽になってるとは思うけどめどいw これ config でどうにかなるのかな。

Mouse はこれで RPM 化できた気がするなぁ。作った RPM のテストってどうすれば良いんだろうね。

CPANPLUS::Dist::RPM も試してたけど、こっちはあまりうまくいってない。オプション周りがよくわかってないからっぽいなぁ。

cpanp のシェルに入って s conf dist_type CPANPLUS::Dist::RPM して s conf save して、インストールすると RPM ができてて、rpm 経由でインストールしてくれるってのは結構良いなぁ。

*1:requires にある perlperl の version 指定なだけだと思うので

danndann2009/03/30 03:04今日まで見過ごしてました! orz

danndann2009/03/30 03:08コミットdone !

vkgtarovkgtaro2009/03/30 11:03oh, thanks!

トラックバック - http://angelos.g.hatena.ne.jp/vkgtaro/20090302

2009-02-14

複数アプリを mod_perl 1プロセスに入れる対応 04:20  複数アプリを mod_perl 1プロセスに入れる対応 - あんじえろおおおおす! を含むブックマーク はてなブックマーク -  複数アプリを mod_perl 1プロセスに入れる対応 - あんじえろおおおおす!

mod_perl で1プロセスに複数アプリを突っ込むと Config や Logger のインスタンスなど、Singleton 化していたものが混同するという問題があったのですが、mod_perl ブランチを経て修正され、先ほどマージされました。id:dann++

解決のきっかけになったのは Sledge::Registrar::contextSledge::Pages::Base でセットするところだそうです。

Angelos#setup の該当部分

    no warnings 'redefine';
    local *Angelos::Registrar::context = sub {$self};

Angelos::Config などは、Angelos 側で Class::Singleton を使用して実装されていたので上記の方法で解決できてるのですが、Logger は Log::Dispatch 自身が Singleton 的な実装になっているためどう回避したのか気になってソースを読んでみました。

Angelos::Logger::Dispatch の build_logger で AppName::Logger::Backend な名前を作って _generate_logger_class に渡して、動的にクラスを生成しています。

sub _generate_logger_class {
    my ($self, $logger) = @_;

    # Log::Dispatch::Config is Singleton class,
    # This causes trobule under mod_perl enviroment,
    # So, we generate application specific logger class
    eval <<"";
        package $logger;
        use base qw/Log\::Dispatch\::Config/;

}

そして、$logger->require して instance 生成してます。

sub build_logger {
    my $self = shift;

    my $logger = join '::', ( $self->_app_class, 'Logger', 'Backend' );
    $self->_generate_logger_class($logger);
    $logger->require;
    $logger->configure_and_watch(
        Log::Dispatch::Configurator::YAML->new( $self->_logger_conf_file ) );
    $logger->instance;
}

ソース読んでて色々発見があって面白いですね!

トラックバック - http://angelos.g.hatena.ne.jp/vkgtaro/20090214

2009-02-01

はてなグループのトップページとキーワードページ 02:24  はてなグループのトップページとキーワードページ - あんじえろおおおおす! を含むブックマーク はてなブックマーク -  はてなグループのトップページとキーワードページ - あんじえろおおおおす!

ああああああ、構造が少し違うのかー。両方で使う style は両方の構造にあわせて定義するといいのか?
あと、IE で見ると残念なことになってます :-p

明日の夜あたりに本気出して直すw

トラックバック - http://angelos.g.hatena.ne.jp/vkgtaro/20090201

2009-01-30

angelos のサイトができたよ! 04:42  angelos のサイトができたよ! - あんじえろおおおおす! を含むブックマーク はてなブックマーク -  angelos のサイトができたよ! - あんじえろおおおおす!

angelos グループのトップなんだけどw

http://angelos.g.hatena.ne.jp/

Free CSS Template から、良さそうなの移植した。

当面、本体の完成まではこれでいい気がするね。
はてなグループ作った id:lyokato++

最近は赤が好きで、何となく赤い色を選びがちだったので、普段選ばないような色合いのものを選んでみた。
そしてどさくさに紛れて勝手にロゴも作ったw

PNG 透過なので IE6 は見苦しい表示になってるかもしれないけど。

色味はサイトデザインにあわせてるだけ。作ってるときは赤だったり青だったり。
そして、翼付けちゃってるけど、はたして angelos は angel なのかどうかが不明w

HTTP::Engine::Midleware 周りが追いついてけそうにないので、Angelos::Class::Pluggable とか Controller 周りを読むかなぁ。

トラックバック - http://angelos.g.hatena.ne.jp/vkgtaro/20090130