Python Spread Module 1.1
------------------------

Copyright (c) 2001-2002 Python Software Foundation.  All rights reserved.

This code is released under the standard PSF license.
See the file LICENSE.

For changes since the last release, see the file CHANGES.

This package contains a simple Python wrapper module for the Spread
toolkit.

Spread (www.spread.org) is a group communications package.  You'll
need to download and install it separately.  The Python API has been
built and tested against Spread 3.16.1.  There's a bug in this version
that can cause disconnects under high load, and currently (March 5,
2002) we recommend to use Spread 3.16.2rc1 (or later), which fixes the
bug.  This version also solves some problems with the Makefile (the
3.16.1 Makefile didn't install the include files, and uses BASEDIR
instead of PREFIX).

Minimal user documentation for the Python programmer is in doc.txt.

Build instructions for Spread are way down in the Spread Readme.txt
file; search for "INSTALL".  On Linux, it's as simple as:

    cp LINUX_makefile Makefile
    make

The Spread makefiles do an odd install, putting things in
/var/tmp/testinstall by default.  You can force the Makefile to
install in /usr/local by saying

    make PREFIX=/usr/local

and that's what I recommend.  As long as you apply the patch below,
this will also take care of the header files.

The distutils setup.py script needs to be told where the spread code
is installed.  I still don't know the preferred way to do that, so
you'll need to edit the SPREAD_DIR constant in the right branch.  The
setup script assumes you've installed the header files.  Assuming you
followed the recipe above, including the "make install" part, the
SPREAD_DIR constant is already set up right and you can do this to
build the Python wrapper for Spread:

    python setup.py build

The man pages installed by Spread (and available at www.spread.org)
are fairly helpful, although obscure at times.  There is no
documentation for the Python wrapper yet.

To run the testspread.py unit tests, you'll need to manually set your
Python path to the build directory.  Again, I don't know if distutils
provides a good way to do this.  (I wish it did.)  The following works
for me:

    PYTHONPATH=build/lib.linux-i686-2.2
    export PYTHONPATH
    python testspread.py


Windows
=======
Versions of Spread prior to 3.16.2 suffer many severe Windows-specific
problems, due to ways in which the Spread source didn't realize sockets
work differently on Windows (e.g., the C library close() doesn't close
Windows sockets).

Spread 3.16.2 fixed all the Windows problems we know about.  Earler
versions should not be used on Windows.
