すがブロ

sugamasaoのhatenablogだよ

Trac構築挫折(7)

心機一転

このままだとラチがあかないので、 vine 4.0 を再構築して、綺麗な状態でインストールを行った。

まず

apachesubversion のインストール。
これはこのページの通りに構築

apt-getで追加したもの

  • zlib
  • zlib-devel
  • sqlite3
  • swig
  • python2.4
  • python-devel
  • 他にもあったかもしれないけど、よく覚えていない

trac用ツール

それぞれDLしてインストールを行った。

  • SilverCity-0.9.7
  • clearsilver-0.10.4
  • docutils-0.4
  • pysqlite-2.3.2
  • trac-0.10.3-ja-1

基本的には python のインストールの流儀に則って行えば良い。

python setup.py build
python setup.py install

clearsilverのみ configure から行う(zlibを使わないオプション等を付ける)

./configure --disable-compression --with-python=/usr/bin/python --disable-ruby
make
make install

これでOKのハズ。

pythonsubversion のパス

パスが通っているかを pythonワンライナーで確認

python -c "import svn"
Traceback (most recent call last):
File "", line 1, in ?
ImportError: No module named svn

エラーになっているので、パスを通す。

echo /usr/local/subversion1.4.2/lib/svn-python > /usr/lib/python2.4/site-packages/subversion.pth

このあとまた確認する。

python -c "import svn"

エラーは返ってこなくなった。

リポジトリ作成

テスト用に作成する。

svnadmin create /tmp/svn/rep

trac 設定

trac-admin /tmp/trac/test initenv
Project Name [My Project]>(エンターキ−押下)
Database connection string [sqlite:db/trac.db]>(エンターキ−押下)
Repository type [svn]>(エンターキ−押下)
Path to repository [/path/to/repos]> /tmp/svn/rep

改めてここまでやったのに

やっぱり警告がでる。

Warning:
You should install the SVN bindings

無理矢理実行してみる

tracd --port 8000 /tmp/trac/test

やっぱりエラーになってしまう。
tracdを実行しているターミナルには特にエラーは出ていないんだけど、画面(web上)では以下のような表示になっている。

Oops…
Trac detected an internal error:

If you think this really should work and you can reproduce it, you should consider reporting this problem to the Trac team.

Go to http://trac.edgewall.org/ and create a new ticket where you describe the problem, how to reproduce it. Don't forget to include the Python traceback found below.

TracGuide ― The Trac User and Administration Guide
Python Traceback

Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 387, in dispatch_request
dispatcher.dispatch(req)
File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 191, in dispatch
chosen_handler = self._pre_process_request(req, chosen_handler)
File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 263, in _pre_process_request
chosen_handler = f.pre_process_request(req, chosen_handler)
File "/usr/lib/python2.4/site-packages/trac/versioncontrol/api.py", line 73, in pre_process_request
self.get_repository(req.authname) # triggers a sync if applicable
File "/usr/lib/python2.4/site-packages/trac/versioncontrol/api.py", line 91, in get_repository
raise TracError('Unsupported version control system "%s"'
TracError: Unsupported version control system "svn"

なぜ、trac から svn が見えないのだろうか。 pythonsvnが見えているようなんだけどなぁ。
↓の画像は以前貼り付けたヤツだけど、今回も同じエラー画面になっているので、参考までに。

まとめ

ゼロから構築したけど、やっぱり上手くいかない。
んー、こりゃ subversion1.3系&Windowsになるけど、All-In-One Trac 使った方が早いかな。