背景
評価用に Mercurial を一般ユーザーのホームディレクトリにインストールしたので、備忘録までに。
状況としてはディストリビューションがものすごく古い、一般ユーザー権限しか持っていない、パッケージ管理コマンドが使えない…といった良くあるもので、条件は以下のような感じ。
- ソースからインストールする
- 一般ユーザーのホームディレクトリにインストールする
- 今回インストールしたマシンは Ubuntu (古い)
- HTML / man 形式のヘルプテキストは不要 (hg help が使えれば良い)
依存関係
SupportedPythonVersions - Mercurial *1
※HTML/man 形式のヘルプテキストが必要な場合は Docutils もインストールする必要がありますが、今回は hg help で賄えるのでインストールしません。
Mercurial
- Python |
ソースアーカイブの取得
- Mercurial: http://selenic.com/hg
- Python: http://www.python.jp/
- zlib: http://www.zlib.net/
- bzip2: http://www.bzip.org/
アーカイブ形式は tar.gz として *2 ~/src にダウンロード。バージョンは以下のとおり *3
- Mercurial: 2.9.2 (3f83fc5cfe71)
- Python: 2.7.6
- zlib: 1.2.8
- bzip2: 1.0.6
インストール
# zlib $ cd ~/src $ tar zxvf zlib-1.2.8.tar.gz $ cd zlib-1.2.8 $ ./configure --prefix=$HOME $ make $ make install # bzip2 $ cd ~/src $ tar zxvf bzip2-1.0.6.tar.gz $ cd bzip2-1.0.6 $ make -f Makefile-libbz2_so $ make $ make install PREFIX=$HOME # make で -fPIC オプションを指定しろ〜と言われた場合には # Makefile-libbz2_so の CFLAGS に追加する。 # (ex.) CFLAGS=-fPIC (省略) # Python $ cd ~/src $ tar zxvf Python-2.7.6.tgz $ cd Python-2.7.6 $ ./configure --prefix=$HOME $ make $ make install
~/bin にパスを通すために ~/.bash_profile を編集。
# ~/.bash_profile export PATH=~/bin:$PATH
続いて Mercurial をインストール。
# Mercurial # HTML / man 形式のヘルプテキストは不要なので make install-home-bin $ cd ~/src $ tar zxvf Mercurial-3f83fc5cfe71.tar.gz $ cd Mercurial-3f83fc5cfe71 $ make install-home-bin
確認
$ hg version Distributed SCM (version 2.9.2) (see http://mercurial.selenic.com for more information) Copyright (C) 2005-2014 Matt Mackall and others This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
まとめ
依存関係の解決等、もっときちんとしたやり方があるはず。
パッケージ管理コマンドは偉大。
謝辞
不正確な記述、冗長な手順について指摘して下さった @flyingfoozy さん、ありがとうございました><