さくらインターネットで Subversion + Trac
このサーバで Trac を使えるようにしようと思い、 「さくらインターネットにTracを構築する」を参考にセットアップしている。 手順が分かりやすく書かれているので、特に迷うところは無かった。
でも、 trac-admin を実行してリポジトリをインポートするときに、こんなエラーが出る。
$ trac-admin /home/machu/var/trac/tdiary_plugin initenv Creating a new Trac environment at /home/machu/var/trac/tdiary_plugin Project Name [My Project]> tDiary plugins Database connection string [sqlite:db/trac.db]> Path to repository [/var/svn/test]> /home/machu/svn/tdiary_plugin Templates directory [/home/machu/share/trac/templates]> Creating and Initializing Project (中略) Indexing repository Failed to initialize environment. No module named thread Traceback (most recent call last): File "/home/machu/lib/python2.4/site-packages/trac/scripts/admin.py", line 616, in do_initenv repos = self.__env.get_repository() File "/home/machu/lib/python2.4/site-packages/trac/env.py", line 155, in get_repository from trac.versioncontrol.svn_fs import SubversionRepository File "/home/machu/lib/python2.4/site-packages/trac/versioncontrol/svn_fs.py", line 25, in ? from svn import fs, repos, core, delta File "/home/machu/lib/svn-python/svn/fs.py", line 19, in ? from libsvn.fs import * File "/home/machu/lib/svn-python/libsvn/fs.py", line 29, in ? import core File "/home/machu/lib/svn-python/libsvn/core.py", line 2903, in ? import threading File "/usr/local/lib/python2.4/threading.py", line 6, in ? import thread ImportError: No module named thread
さくらでは Thread モジュールが入っていないことが原因みたい。 何で、元の例では動いているんだろう。 最新のサーバ (www700番台) と古いサーバ (www200番台) で設定が違うのかな。
仕方が無いので、dummy_threading を使う方法を参考に、 lib/svn-python/libsvn/core.py を以下のように書き換えたら動いた。 これで本当に大丈夫かどうか良く分かんないけど。
@@ -2900,7 +2900,10 @@ _swig_setattr(self, apr_hash_t,self.__class__,apr_hash_t) _core.apr_hash_t_swigregister(apr_hash_tPtr) -import threading +try: + import threading +except ImportError: + import dummy_threading as threading application_pool = None application_pool_lock = threading.Lock()