[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