Kawa.netxp [Perl] 作成したモジュールをCPANで公開する手順

CPANモジュール活用術
の記事は参考になるかも

久しぶりに Perl モジュールを作成してみた ので、せっかくなので CPAN にアップロードしてみました、の手順をメモ。

もともと、2002年に CPAN へのアップロードサイト PAUSE 用のアカウントは 作ってあったけど、実際に自作モジュールを CPAN で公開してもらったことはなかったので、 実は今回が初挑戦でした。

もし↓に間違っている点がありましたら、ご指摘いただけると幸いです。>識者の方

配布用のモジュールを作成する

まず第一歩は、 perlnewmod - 新しいモジュールを配布するには を熟読すること。
モジュール .pm ファイルと、 そのアーカイブ .tar.gz ファイル を作成するのが最初です。
中身は以下のようなファイル構成になりました。

lib/XML/TreePP.pm   # Perlモジュール本体
Makefile.PL         # ほぼh2xsで生成したそのまま
MANIFEST            # 配布ファイル一覧
META.yml            # いつの間にか自動生成されたもの
README              # README(今回はPODから生成)
t/force_array.t     # Test::Moreを使用したテストスクリプト
t/parse.t           # 
t/parsefile.t       # 
t/parsehttp.t       # 
t/write.t           # 
t/family.xml        # テストスクリプト用のXMLファイル
t/index.rdf         # 

テストスクリプトの書き方は Test::More - テストを書くためのもう一つのフレームワーク が参考になります。
とりあえず、make testが通るようにしておけばOKだろう。

Request PAUSE account

PAUSE とは、「The Perl Authors Upload Server」のこと。
CPAN に掲載されるモジュールは、ここからアップロードして登録します。
まずは Request PAUSE accountにアクセスして、アカウント発行申請をする。

Account≫Change Password

アカウント+パスワードが発行されたら、 早速 PAUSE の Change Password にアクセスして、パスワードを変更する。

ログイン認証は、ブラウザの BASIC 認証を使っているようです。

Account≫Edit Account Info

PAUSE に個人情報を登録する。

User menu≫Files≫Upload a file to CPAN

make distで作成した .tar.gz ファイルを PAUSE にアップロードする。

ファイルを送信すると、2通のメールが届きます。
Notification from PAUSE』は PAUSE サーバへの .tar.gz ファイルの到着通知で、
CPAN Upload: 〜』がデータベースに登録された通知のようです、多分。

User menu≫Files≫Delete Files

アップロードしたファイルの一覧が表示される。
CHECKSUMS ファイルは自動的に生成される。
削除するためじゃなくて、アップロード確認用にも使えそう。

Modules≫Register Namespace

アップロードしたファイルを CPAN で採用してもらう申請手続き。

まず『Module submission 〜』という申請完了通知メールが届きます。
続けて『PAUSE indexer report 〜』というメールが届きます。
詳しい意味は分かりません。

既存のモジュールと似たモジュールをアップロードすると、
    What's different with "use Pomu::Hoge"?
とか聞かれてしまうことになるので、よく考えること。

CPAN 経由でインストール。

アップロードしてから数時間経つと、中の人がテストをしてくれたのか、 本番サーバに反映されます。 モジュール名で検索をかければ、 POD を閲覧できるようになります。

めでたく perl -MCPAN -e shell 経由でインストール可能になりました!!

ただし、CPAN/Config.pm ファイルで CPAN のダウンロード元にミラーサーバを指定しているときは、 CPAN 本番サーバにはファイルが存在していても、 ミラーサーバにはまだ到達していない場合があります。 ミラーリングされるまでもうちょっと待つか、CPAN/Config.pm ファイルを修正する必要があります。

コメントはこちらへ by AjaxCom

その用他用ページへ用リンク

このページへ用トラックバック by AjaxTB

トラックバックURL:http://www.kawa.net/service/tb/ajaxtb.cgi/works/perl/tips/cpan.html

Kawa.netxp © Copyright 2006 Yusuke Kawasaki