[Zope3-dev] More thoughts on packaging

Jeremy Hylton jeremy at zope.com
Tue Feb 17 09:28:27 EST 2004


On Tue, 2004-02-17 at 05:08, Jim Fulton wrote:
> Somehow, Z3's setup.py is evidence of problems with distutils.
> I wish we had separate setup.py scripts for the separate major
> components of Zope 3, but somehow, this has been too hard. Instead,
> we have this rather complicated monolithic setup.py. Worse, we have
> three big monolithic setup.py scripts, for Zope 2, for Zope 3, and for
> ZODB that duplicate a good bit of code.
> 
> We should have separate setup.py scripts and a controller script that
> invokes the separate scripts.  It should, IMO, be possible for the central
> script to invoke the others as modules.  This doesn't seem to be possible,
> given the way things setup.py scripts are typically written.  It wouldn't
> be that big a deal to devise a different *style* of writing setup scripts
> so that they could be used by other setup scripts.

I'm in the minority, apparently, but I like having a single, top-level
setup script for ZODB.  It's a central point of control.  There's only
one place to look when a module isn't getting compiled or installed, and
there's a single list of all the software that should be installed.

The ZODB setup.py isn't all that big.  It's mostly just listings of
files, and it would be even smaller if distutils had better support for
data files.

Zope3 is a bit bigger -- it still feels small to me :-) -- because it
doesn't explicitly list packages (so there's Finder code) and because it
has a lot of C extensions.  Each C extension is only a few lines of
code, though, and mostly declarative at that.  It would be a little
smaller of distutils had built-in dependency support, which I've
threatened to add in the past.

At any rate, I think there's a lot of mileage to be had in building a
layer of on top of distutils to do what you want.

Jeremy





More information about the Zope3-dev mailing list