amari3のはてなダイアリー このページをアンテナに追加 RSSフィード

2010-03-22

[][][]CPAN::Packager 試してみた

CPAN モジュールを Deb/RPM 形式のパッケージ化が簡単にできる、CPAN::Packager を試してみたのでメモ。ちなみに今回は、Debian GNU/Linux 5.0 でやってるので、Deb 形式のみとなります。たぶん、RPM 形式もそんなに大差ないはずです。

CPAN::Packager のインストール

CPAN::Packager モジュール単体では動作しないので、以下のパッケージを入れます。

% sudo aptitude install dh-make-perl

CPAN::Packager モジュールを入れます。依存するモジュールがかなりバージョンが高いものを要求してくるのもあるので、全部 CPAN から入れる方がいいと思います。

% sudo cpan -i CPAN::Packager

コンフィグファイルの取得

github で管理されているので、そこから取ってきます。

% git clone git://github.com/dann/p5-cpan-packager.git

CPAN::Packager の使い方

一般ユーザ権限では、失敗することがあるっぽいので、sudo or root で実行した方がよいと思います。

# cpan-packager --module Readonly --builder Deb --conf p5-cpan-packager/conf/config-deb.yaml

これを実行すると、~/.cpanpackger に Deb パッケージが出来上がっています。aptitude 等でインストールすれば OK です。


依存関係が複雑なモジュールはまだ試してないので、また色々触ってみようと思います。

2009-10-27

[][]CPANモジュールをdebパッケージ化する仕事

以前、一度同じようなエントリCPAN モジュールを deb パッケージ化 - amari3のはてなダイアリーを書いたが、今日あらためて、dh-make-perl を使って deb パッケージ化する際に面倒くさいと思ったこと。

  • 自分で依存関係を解決する必要がある
  • 依存関係が多いモジュールはその時点でやる気が失せる
  • META.yml 等の書き方がちょっと違ったりするだけで失敗する

ということもあり、CPAN::Packager の導入を検討しようと思う。

そういえば、github のアカウント持ってないし、ついでに登録しとこ。

2008-07-31 CPAN Authorになったよ!

[][]Parse::AccessLogEntry::Accessor

CPAN に Parse::AccessLogEntry::Accessor なるモジュールをアップしました。しかも、CPAN に初アップです!!やったね。なので、モジュールの説明などをちょこちょこと。

何するモジュールなの?

Apache の アクセスログを一行解析する、Parse::AccessLogEntry モジュールにアクセサを追加したモジュールです。

使い方はこんな感じ

下のサンプルだと、ホスト名と時間をアクセサを使って取り込んで表示してるだけです。

#!/usr/bin/perl
use strict;
use warnings;

use Parse::AccessLogEntry::Accessor;

my $LOGFILE = 'access.log';

my $parser = Parse::AccessLogEntry::Accessor->new;

open my $fh, '<', $LOGFILE or die;
while (my $line = <$fh>) {
    chomp $line;
    $parser->parse($line);
    print $parser->host(), $parser->time(), "\n";
}
close $fh;

個人的に、Parse::AccessLogEntry をよく使ってて、アクセサがあればなと思って作っちゃいました。よければ使っていただいて、意見等いただければと思います。

あとはモジュールの管理をどうするか。CodeRepos にアカウントをもらうのがいい気もします。

2008-07-26

[]CPAN PAUSE アカウント

PAUSE アカウントを申請してから5日くらい経つけど、パスワードが送られてこない。再申請をした方が良いのかしら。

ググったりして調べると、数時間かかってる人もいるみたいやけど、さすがに5日は長すぎないかなぁ。

2008-07-18

[][]CPAN::Mini入れてみた

CPANミラーをローカルに作れる、CPAN::Miniを今更ながら入れてみた。めちゃくちゃうれしいところは、こんな感じっすかね。

  • 飛行機や地下鉄といったオフラインな所でもCPANモジュールをごりごり入れられる
  • ダウンロードする手間が無い分だけインストールも早い

インストールの仕方はめちゃ簡単です。CPANからCPAN::Miniを入れるだけ。

cpan> install CPAN::Mini

インストールに成功すると、minicpanというコマンドが付属してくる。これを使って、CPANミラーをローカルに作ったりします。こんな感じで実行。

% minicpan -r http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/ -l ~/minicpan

CPANシェルからインストールするために、urllistに追加しておきます。*1

cpan> o conf urllist unshift file:///home/amari3/minicpan
cpan> o conf commit

あとは、cronか何かで一日一回同期しておくと良いです。

ちなみに、初回起動時は30分くらい処理に時間がかかるので注意!

*1:homeディレクトリに個人名が含まれるのでちょっとだけ変えてます