2012年6月13日水曜日

ユーザーhomeにsubversionインストールしたときのメモ

管理者権限がないのにシステムにインストールされているsubversionが自分の使いたいバージョンと違うことってありますよね。例えば、v1.4以下とv1.5以降でこんなふうに違いがあります。
http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/svn_externals_relative.html
  • 相対リンク設定可能
  • URLとディレクトリの順番が逆
  • など
ということで、homeに自分の使いたいsubversionをいれて使いましょう。 ちなみに、ここではRHEL5でやったやり方を書きます。 他でも同様にやれば、まぁ動くと思います。 ここではv1.6.18とv1.7.5でやったやり方を書いておきます。
※wgetのリンクが切れてたら適宜自分でさがしてください。subversionは本家から

v1.6.18のインストール

wget http://subversion.tigris.org/downloads/subversion-1.6.18.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.18.tar.gz
tar xvzf subversion-1.6.18.tar.gz
tar xvzf subversion-deps-1.6.18.tar.gz
cd subversion-1.6.18
depsはdependenciesのことで、依存パッケージを同じディレクトリに展開してくれる(sqlite,neonなど)。
./configure --prefix=$HOME/mybin/subversion-1.6.18 --without-apxs --with-ssl --without-serf
make install
基本的にクライアント機能だけでいいので、apxsとかはずす。じつは、あまり良く解っていない。neonを入れるのでserfはいれていないっぽい。もし、何か足りなくてconfigureで怒られたら、INSTALLを読んで、必要なものをとってきてください。prefixでインストール先を指定する。prefixで指定した先に、bin,share,libなどのディレクトリが作られます。

v1.7.15のインストール

wget http://mirrors.axint.net/apache/subversion/subversion-1.7.5.tar.gz
tar xvzf subversion-1.7.5.tar.gz
cd subversion-1.7.5
wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
tar xvzf sqlite-amalgamation-3.6.13.tar.gz
mv sqlite-3.6.13 sqlite-amalgamation
wget http://www.webdav.org/neon/neon-0.29.0.tar.gz
tar xvzf neon-0.29.0.tar.gz
mv neon-0.29.0 neon
1.7.5は2012.06.12現在ではdepsは存在しないので自分でとってくる。v1.6のdepsからコピってきても良いと思われる。
cd neon
./configure --prefix=$HOME/mybin/subversion-1.7.5 --with-ssl
make install
cd ../
neonはv1.6と違い、なぜか普通にconfigureしても、インストールしてくれないので、自分でインストールする。--with-neonでneonをインストールしたディレクトリを指定してsubversionをインストール。
./configure --prefix=$HOME/mybin/subversion-1.7.5 --with-neon=$HOME/mybin/subversion-1.7.5 --without-apxs --with-ssl --without-serf
make install

使用するsvnを指定する

svnへのコマンドのエイリアスを付ければ良いので、ターミナルで
alias svn=$HOME/mybin/subversion-1.6.18/bin/svn
と打てば、指定したバージョンのsvnを使える。または、
export PATH=$HOME/mybin/subversion-1.6.18/bin:$PATH
としてパスを通してしまう。(通すディレクトリが先。後ろにつなぐとシステムの方のsubversionが呼ばれる。)
$ svn --version
svn, version 1.6.18 (r1303927)
   compiled Jun 12 2012, 20:08:51

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.apache.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
もちろん、.bashrcなどに書いてしまった方がいい
ソースファイルへのリンクが切れていたらコチラ。 v1.6 v1.6deps v1.7。 v1.7のneon,sqliteはdepsの中のものをコピーして配置すれば使えると思います。

0 件のコメント:

コメントを投稿