bgneal@4: Upgrading Trac on Windows Gotchas bgneal@4: ################################# bgneal@4: bgneal@4: :date: 2011-09-12 22:15 bgneal@4: :tags: Python, Trac, Subversion, Windows bgneal@4: :slug: upgrading-trac-on-windows-gotchas bgneal@4: :author: Brian Neal bgneal@4: bgneal@4: At work, we are outfitted with Windows servers. Despite this obstacle, I managed bgneal@4: to install Trac_ and Subversion_ a few years ago. During a break in the action, bgneal@4: we decided to update Subversion (SVN) and Trac. Since we are on Windows, this bgneal@4: means we have to rely on the `kindness of strangers`_ for Subversion binaries. I bgneal@4: ran into a couple of gotchas I'd like to document here to help anyone else who bgneal@4: runs into these. bgneal@4: bgneal@4: I managed to get Subversion and Trac up and running without any real problems. bgneal@4: However when Trac needed to access SVN to display changesets or a timeline, for bgneal@4: example, I got an error: bgneal@4: bgneal@4: ``tracerror: unsupported version control system "svn" no module named _fs`` bgneal@4: bgneal@4: After some googling, I finally found that this issue is `documented on the Trac bgneal@4: wiki`_, but it was kind of hard to find. To fix this problem, you have to rename bgneal@4: the Python SVN binding's DLLs to ``*.pyd``. Specifically, change the bgneal@4: ``libsvn/*.dll`` files to ``libsvn/*.pyd``, but don't change the name of bgneal@4: ``libsvn_swig_py-1.dll``. I'd really like to hear an explanation of why one bgneal@4: needs to do this. Why doesn't the Python-Windows build process do this for you? bgneal@4: bgneal@4: The second problem I ran into dealt with mod_wsgi_ on Windows. Originally, a few bgneal@4: years ago, I setup Trac to run under mod_python_. mod_python has long been bgneal@4: out of favor, so I decided to cut over to mod_wsgi. On my Linux boxes, I always bgneal@4: run mod_wsgi in daemon mode. When I tried to configure this on Windows, Apache bgneal@4: complained about an unknown directive ``WSGIDaemonProcess``. It turns out that bgneal@4: `this mode is not supported on Windows`_. You'll have to use the embedded mode on bgneal@4: Windows. bgneal@4: bgneal@4: .. _Trac: http://trac.edgewall.org/ bgneal@4: .. _Subversion: http://subversion.apache.org/ bgneal@4: .. _kindness of strangers: http://sourceforge.net/projects/win32svn/ bgneal@4: .. _documented on the Trac wiki: http://trac.edgewall.org/wiki/TracSubversion bgneal@4: .. _mod_wsgi: http://code.google.com/p/modwsgi/ bgneal@4: .. _mod_python: http://www.modpython.org/ bgneal@4: .. _this mode is not supported on Windows: http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess