CookPerl - Perlのビルドを簡略化するツール

CookPerl

最近はPerlのバージョンアップ頻度も上がり、都度自分でバイナリをビルドしたり、定番のモジュールをインストールするのも地味に面倒くさい作業です。そんなPerlのバイナリビルドと、必要なモジュールのインストールを一度にやってくれるツールがCookPerlです。

主な特徴

  • インストールするPerlのバージョンと、モジュール一覧をrecipeと呼ばれるテキストファイルで、ビルド条件を指定。
  • LWPモジュールを使ってPerlのソースコードをダウンロードするので、認証付きproxy経由でも動作。
  • モジュールのインストールにはcpanmを使用。

インストール

$ curl -LO http://roova.jp/cookperl
$ chmod +x cookperl

recipeファイルの用意

最初の行にインストールするPerlのバージョンを「perl-5.xx.xx」形式で指定します。

2行目以降はモジュール名をxxx::yyy形式で記述します。

recipeファイルのファイル名がそのままrecipe名になります(拡張子.txtは除きます)。

recipeファイルの例:「recipe-sample.txt」

perl-5.12.2
Module::Starter
Test::Exception

なお、空行は無視されます。

Perlのビルド・モジュールのインストール

$ ./cookperl recipe recipe-sample.txt

Perl本体と、App::cpanminusは必ずインストールされます。

最後にPATHを設定するためのbashrcへのパスが表示されるので、.bashrcへ追記して下さい。

念のために一旦ログアウトして、再度ログインして下さい。

「~/perl5/cookperl/perls/current/bin/perl」が有効なPerlへのパスになります。

モジュールは、「~/perl5/cookperl/perls/current/locallib」へインストールされます。

インストール時のログは、「~/perl5/cookperl/log/」ディレクトリ配下へ「レシピ名.log」というファイル名で保存されます。

installedコマンド

インストールされているrecipeの一覧はinstalledコマンドで表示されます。*が付いたレシピ名が現在有効なレシピです(パスが通っている、という意味)。

switchコマンド

$ switch recipe名で有効なレシピが切り替わります。

これからのバージョンアップ予定

  • ドキュメントを書く
  • 中途半端に書いたテストを真面目に書く
  • メッセージの英語があまりにデタラメなので直す
  • アンインストール機能を作る
  • LWPが無い環境でも動く様にする
  • モジュール名の形式チェックを真面目にやる
  • 色んな環境で動くか試す(今はMac OS XとUbuntuしか試していない)

バグやバージョンアップ要望が有ればinfo@roova.jpまでお願います。

2010/10/24:更新

ログが全然正しく出力されていなかったので、修正。

2010/10/11:更新

local::libのセットアップに時間が掛かりすぎて、ビルドに失敗する(CPANモジュールがurllist取得するのに時間がかかっているみたい)ので、local::libを外して自前でモジュールのインストール先を指定してみました。


→Perl To The Peopleのインデックスページへ戻る

トラックバックURL

このエントリーのトラックバックURL:
http://ash.roova.jp/mt/mt-tb.cgi/229

コメントする