CentOS5(x86_64)にSVKをインストールするシェルスクリプト
「名前は聞くし便利そうだけど、管理が面倒っぽいし、入れるのもダルいしいいや」で今までスルーしてたSVKを試してみました。
他のディストリだとパッケージが用意されてたりするんだけど、CentOSは手動ビルド以外の道がありません。見た感じ依存モジュールも多いし、CPANを飼い慣らす意味でもちょうどいいやということで試してみることに。
まず、「SVN::Core入れろよ」って言われたとこで引っ掛かる。こいつはCPANからインストール出来ないんだけど、yumでsubversion-perlを入れればぉk。
で、おもむろにcpan -i SVKしたら当然のように失敗して、ここから闘いが始まるわけです。まず、SVKから直接依存してるっぽいのから解決。
cpan -i SVN::Simple::Edit cpan -i IO::Pager
このIO::Pagerってのをインストールしてると、
# Your current $ENV{PAGER} = "less" # # Your IO::Pager $ENV{PAGER} = "less" Is this reasonable? [Yn]
とか聞かれたので、まぁ普通にそのままEnter。
で、 cpan -i SVKしたら、SVN::Mirrorがsudoしろというので手動で先に入れることに。ところが、こいつがまたすんなりいかない。VCPとか言うのが原因らしいので、そいつを直接入れてみる。VCPそのものズバリのモジュールはCPANに見当たらなくて、VCP-autrijus-snapshotというのを入れるらしい。cpanコマンドでは見つからなかったので、VCP-autrijus-snapshot-0.9-20050110 - search.cpan.orgから拾ってきた。
こいつを入れる時にもいろいろ言われて、最終的にこんな感じで入れた。
cpan -i Regexp::Shellish Text::Diff XML::Parser XML::Doctype wget http://search.cpan.org/CPAN/authors/id/A/AU/AUTRIJUS/VCP-autrijus-snapshot-0.9-20050110.tar.gz tar zxf VCP-autrijus-snapshot-0.9-20050110.tar.gz cd VCP-autrijus-snapshot-0.9-20050110 perl Makefile.PL PREFIX=$HOME/CPAN LIB=$HOME/CPAN/lib/perl5 INSTALLMAN1DIR=$HOME/CPAN/man/man1 INSTALLMAN3DIR=$HOME/CPAN/man/man3 make PREFIX=$HOME/CPAN make install
他にはData::UUIDも入れろと言われたので入れて、それでもSVN::Mirrorが入らない。forceで入ったこともあったけど、新しい環境作って試したらダメ。いろいろ調べてみると、環境変数で
export LANG=C
になってないとうまくいかないことがあるらしい。そこで、SVN::Mirrorを入れる時だけ変更したら無事に通るようになりました。
そんなこんなで一つずつ解決していった結果、出来上がったのがこんなシェルスクリプト。
# # installSVK.sh # CPANDIR="$HOME/CPAN" _lang=$LANG # Installing SVN::Core (and others?) sudo yum -y install subversion-perl # Installing VCP module cpan -i Regexp::Shellish Text::Diff XML::Parser XML::Doctype wget http://search.cpan.org/CPAN/authors/id/A/AU/AUTRIJUS/VCP-autrijus-snapshot-0.9-20050110.tar.gz tar zxf VCP-autrijus-snapshot-0.9-20050110.tar.gz cd VCP-autrijus-snapshot-0.9-20050110 perl Makefile.PL PREFIX=$CPANDIR LIB=$CPANDIR/lib/perl5 INSTALLMAN1DIR=$CPANDIR/man/man1 INSTALLMAN3DIR=$CPANDIR/man/man3 make PREFIX=$CPANDIR make install # Installing SVK cpan -i File::Type File::LibMagic File::MMagic cpan -i Compress::Zlib SVN::Simple::Edit cpan -i IO::Pager < /dev/null cpan -i FreezeThaw Locale::Maketext::Lexicon cpan -i Data::UUID < /dev/null export LANG=C cpan -i SVN::Mirror export LANG=$_lang cpan -i VCP::Dest::svk < /dev/null
インストール直後のCentOS5(x86_64)で通ったので、漏れは無いと思うけど当然ながら自己責任でお願いします。CPANDIRにCPANライブラリのインストール先を指定します。sudo yum -y installなんかも走ってるので注意。
最終的にcpan -i SVKはしなくても、VCP::Dest::svkを入れたら一緒に入ってくれたのでよし。
ちなみに、Macで使うならSVK builds for OSXがお勧めらしい。Ubuntuはapt-getでそのまま入るそうな。
主な参考URL