view content/Coding/009-windows-trac-upgrade.rst @ 4:7ce6393e6d30

Adding converted blog posts from old blog.
author Brian Neal <bgneal@gmail.com>
date Thu, 30 Jan 2014 21:45:03 -0600
parents
children
line wrap: on
line source
Upgrading Trac on Windows Gotchas
#################################

:date: 2011-09-12 22:15
:tags: Python, Trac, Subversion, Windows
:slug: upgrading-trac-on-windows-gotchas
:author: Brian Neal

At work, we are outfitted with Windows servers. Despite this obstacle, I managed
to install Trac_ and Subversion_ a few years ago. During a break in the action,
we decided to update Subversion (SVN) and Trac. Since we are on Windows, this
means we have to rely on the `kindness of strangers`_ for Subversion binaries. I
ran into a couple of gotchas I'd like to document here to help anyone else who
runs into these.

I managed to get Subversion and Trac up and running without any real problems.
However when Trac needed to access SVN to display changesets or a timeline, for
example, I got an error:

``tracerror: unsupported version control system "svn" no module named _fs``

After some googling, I finally found that this issue is `documented on the Trac
wiki`_, but it was kind of hard to find. To fix this problem, you have to rename
the Python SVN binding's DLLs to ``*.pyd``. Specifically, change the 
``libsvn/*.dll`` files to ``libsvn/*.pyd``, but don't change the name of 
``libsvn_swig_py-1.dll``. I'd really like to hear an explanation of why one
needs to do this. Why doesn't the Python-Windows build process do this for you?

The second problem I ran into dealt with mod_wsgi_ on Windows. Originally, a few
years ago, I setup Trac to run under mod_python_. mod_python has long been
out of favor, so I decided to cut over to mod_wsgi. On my Linux boxes, I always
run mod_wsgi in daemon mode. When I tried to configure this on Windows, Apache
complained about an unknown directive ``WSGIDaemonProcess``. It turns out that
`this mode is not supported on Windows`_. You'll have to use the embedded mode on
Windows. 

.. _Trac: http://trac.edgewall.org/
.. _Subversion: http://subversion.apache.org/
.. _kindness of strangers: http://sourceforge.net/projects/win32svn/
.. _documented on the Trac wiki: http://trac.edgewall.org/wiki/TracSubversion
.. _mod_wsgi: http://code.google.com/p/modwsgi/
.. _mod_python: http://www.modpython.org/
.. _this mode is not supported on Windows: http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess