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