前回作成したモジュールは CPAN にアップロードします。今回は初めて ShipIt を使ってみたいと思います。
以下のように関連するモジュールのインストールです。cpan-upload-http は手動でインストール。
# cpan ShipIt
# cpan AppConfig::Std
# wget http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/cpan-upload-http-2.4.tar.gz
# tar xvfz cpan-upload-http-2.4.tar.gz
# cd cpan-upload-http-2.4
# perl Makefile.PL
# make
# make install
ShipIt するときに cpan-upload-http が利用する .pause ファイルの準備も。
# vi $HOME/.pause
# cat $HOME/.pause
user shigeta
password YOURPASSWORD
mailto [email protected]
# chmod 600 $HOME/.pause
ShipIt を使う場合、.shipit ファイルがプロジェクトのトップに必要なのですが、Perl モジュールのひな形を作成してくれる pmsetup は .shipit を自動的に生成してくれます。miyagawa++
ShipIt に限らずですが、以下を実施して MANIFESTファイルと MANIFEST.SKIP ファイルの中を調整するのを忘れずに。
# perl Makefile.PL
# make manifest
いきなり shipit コマンドを叩くのが怖いなと思う人は dry-run オプションを使うのが吉ですね。
# shipit --dry-run
で、アップロード内容について色々確認した結果、Ship It!
# shipit
Upload to CPAN? [Y/n] Y
cpan-upload-http: your config file /var/root/.pause is readable by others!
Upload failed.
orz
.pause は 600 とかのパーミッションにしないとダメっぽい(上の手順に chmod を追加しました。)
そのあともう一度登録しようとしましたが、すでに登録済みだからコミットしないと。。。
確かに github のほうにはタグらしいコミットがついてる。
Next/release version? 0.01
No local changes, and version on disk is already tagged. Nothing to do.
orz
# git tag
0.01
あーすでにタグが 0.01 で打たれちゃっているからダメなんですね。よし、0.02 にします。
# shipit
Running step ShipIt::Step::FindVersion=HASH(0x18012d0)
Current version is: 0.01
Next/release version? 0.02
Edit file? [Y/n] Y
ここで ChangeLog の編集
(make dist 中につき中略)
Upload to CPAN? [Y/n] Y
#
今度はうまくいったっぽい。 PAUSEのShow my files したらアップロードされているではないか!すばらしい。簡単にコミットできた。便利ですねぇ。CPAN Author の方は ShipIt を使った方はいいですよ。
seealso: