gitosis インストール & 設定
Ubuntu 9.04 で gitosis をインストールしたときのメモ。
インストール
apt-get install gitosis
とすると gitosis がインストールされ、ユーザ gitosis が追加される。
cat /usr/share/doc/gitosis/README.Debian
でインストール後の設定を見る。
ユーザ登録
sudo -H -u gitosis gitosis-init < id_rsa.pub
とすれば、登録が出きるはずだが次のようなエラーが出てうまくいかない。
Traceback (most recent call last):
File "/usr/bin/gitosis-init", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2562, in <module>
working_set.require(__requires__)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 626, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 524, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: gitosis==0.2
インターネットで調べると、python2.5 で実行すればよいらしい。 /usr/bin/gitosis-* は python のスクリプトで、 python のバージョンが上がってうまくうごかなくなったということなのだろう。
sudo -H -u gitosis python2.5 /usr/bin/gitosis-init < id_rsa.pub
とすればうまくいった。
修正
python 2.6 で実行するとうまくうごかないので、
/usr/bin/gitosis-init /usr/bin/gitosis-run-hook /usr/bin/gitosis-serve
の3つのファイルを修正する。先頭にある
#!/usr/bin/python
の部分を
#!/usr/bin/python2.5
に変える。
実行テスト
登録したユーザで
git clone gitosis@localhost:gitosis-admin.git
としてみてうまくいけばOK。