Merge branch 'master' of git://github.com/ashcrow/buildbot
[buildbot.git] / README.w32
blobde54c97f336947bf8ce66e2b79cfbce16d040f70
1 Several users have reported success in running a buildslave under Windows.
2 The following list of steps might help you accomplish the same. They are a
3 list of what I did as a unix guy struggling to make a winXP box run the
4 buildbot unit tests. When I was done, most of the unit tests passed.
6 If you discover things that are missing or incorrect, please send your
7 corrections to the buildbot-devel mailing list (archives and subscription
8 information are available at http://buildbot.sourceforge.net).
10 Many thanks to Mike "Bear" Taylor for developing this list.
13 0. Check to make sure your PATHEXT environment variable has ";.PY" in 
14 it -- if not set your global environment to include it.
16  Control Panels / System / Advanced / Environment Variables / System variables
18 1. Install python -- 2.4 -- http://python.org
19         * run win32 installer - no special options needed so far
21 2. install zope interface package -- 3.0.1final -- 
22 http://www.zope.org/Products/ZopeInterface
23         * run win32 installer - it should auto-detect your python 2.4
24           installation
26 3. python for windows extensions -- build 203 -- 
27 http://pywin32.sourceforge.net/
28         * run win32 installer - it should auto-detect your python 2.4 
29           installation
31  the installer complains about a missing DLL. Download mfc71.dll from the
32  site mentioned in the warning
33  (http://starship.python.net/crew/mhammond/win32/) and move it into
34  c:\Python24\DLLs
36 4. at this point, to preserve my own sanity, I grabbed cygwin.com's setup.exe
37    and started it. It behaves a lot like dselect. I installed bash and other
38    tools (but *not* python). I added C:\cygwin\bin to PATH, allowing me to
39    use tar, md5sum, cvs, all the usual stuff. I also installed emacs, going
40    from the notes at http://www.gnu.org/software/emacs/windows/ntemacs.html .
41    Their FAQ at http://www.gnu.org/software/emacs/windows/faq3.html#install
42    has a note on how to swap CapsLock and Control.
44  I also modified PATH (in the same place as PATHEXT) to include C:\Python24
45  and C:\Python24\Scripts . This will allow 'python' and (eventually) 'trial'
46  to work in a regular command shell.
48 5. twisted -- 2.0 -- http://twistedmatrix.com/projects/core/
49         * unpack tarball and run
50                 python setup.py install
51         Note: if you want to test your setup - run:
52                 python c:\python24\Scripts\trial.py -o -R twisted
53         (the -o will format the output for console and the "-R twisted" will 
54          recursively run all unit tests)
56  I had to edit Twisted (core)'s setup.py, to make detectExtensions() return
57  an empty list before running builder._compile_helper(). Apparently the test
58  it uses to detect if the (optional) C modules can be compiled causes the
59  install process to simply quit without actually installing anything.
61  I installed several packages: core, Lore, Mail, Web, and Words. They all got
62  copied to C:\Python24\Lib\site-packages\
64  At this point
66    trial --version
68  works, so 'trial -o -R twisted' will run the Twisted test suite. Note that
69  this is not necessarily setting PYTHONPATH, so it may be running the test
70  suite that was installed, not the one in the current directory.
72 6. I used CVS to grab a copy of the latest Buildbot sources. To run the
73    tests, you must first add the buildbot directory to PYTHONPATH. Windows
74    does not appear to have a Bourne-shell-style syntax to set a variable just
75    for a single command, so you have to set it once and remember it will
76    affect all commands for the lifetime of that shell session.
78   set PYTHONPATH=.
79   trial -o -r win32 buildbot.test
81  To run against both buildbot-CVS and, say, Twisted-SVN, do:
83   set PYTHONPATH=.;C:\path to\Twisted-SVN
86 All commands are done using the normal cmd.exe command shell. As of
87 buildbot-0.6.4, only one unit test fails (test_webPathname_port) when you run
88 under the 'win32' reactor. (if you run under the default reactor, many of the
89 child-process-spawning commands fail, but test_webPathname_port passes. go
90 figure.)
92 Actually setting up a buildslave is not yet covered by this document. Patches
93 gladly accepted.
95  -Brian