[Zope3-dev] Thoughts on Zope CVS vs distributions
Jeremy Hylton
jeremy@zope.com (Jeremy Hylton)
Mon, 16 Dec 2002 06:25:01 -0500
>>>>> "BAW" == Barry A Warsaw <barry@zope.com> writes:
>>>>> "JF" == Jim Fulton <jim@zope.com> writes:
JF> In the long run, I want to be able to run Zope directly from CVS
JF> checkouts as we do now. This makes development a lot easier than
JF> having to run a build/install after every change.
JF> OTOH, Zope distributions (source or binary) should be installed
JF> using distutils.
BAW> There are two patterns that seem to be emerging, one that
BAW> builds in-place and one that doesn't. Probably most people
BAW> will be happy with the former, but the latter is useful for
BAW> testing the s/w with different versions of Python without
BAW> having to do a stupid_clean in between.
BAW> I think our build and test process needs to support both ways.
The process we currently use to build Zope3 in-place does not work
well with building distutils source distributions. If you have a
single setup file, you can build a source distribution by running
"setup.py sdist." This builds a source distribution for each setup()
call in the script. There are also a variety of binary installers;
the ZODB installers for Windows are built using "setup.py bdist_wininst."
In anticipation of a ZODB4 alpha release, I wrote a top-level setup.py
for ZODB that lists all of the packages to be installed and all the
extensions that need to be compiled. It is more work to maintain a
top-level setup than it is to use the stupid build process, which
merely looks for package-specific setup.py scripts to build
extensions. But there seems to be a lot of benefit to doing things
the distutils way.
Jeremy