[ZODB-Dev] RE: [Zope-Coders] revising layout of ZODB3 checkout

Tim Peters tim at zope.com
Thu Jan 8 22:43:38 EST 2004


[Jeremy Hylton]
> Several people have had problems with the current layout of source
> code within a ZODB3 checkout and, hence, a source distribution.  The
> problem is the top-level directories that contain packages with
> cExtensions (like persistent).  If you build using setup.py build and
> run the tests, all the compiled C extensions are in the build
> directory.  If you then run python from the same directory and type
> "import ZODB," it will fail because it picks up the uncompiled source
> directory.

OTOH, if you build with

    setup.py build_ext -i

then "import ZODB" works fine.  But the *tests* don't run then.  I'd rather
change that, since "build_ext -i" is the normal way to build Zope from
source, and there's no apparent reason for Zope and ZODB3 to favor different
build procedures.

> I think we can fix this by moving all the source code to a top-level
> src directory.  As a result, a checkout would only have two top-level
> directories Doc and src.  It would also have setup.py, test.py, and a
> few other files.
>
> This change would not affect a Zope checkout at all.  I would just
> re-arrange the repolinks for the ZODB3 CVS module.

Then what ZODB "looks like" would differ between a Zope checkout and a ZODB3
checkout?  If so, that sounds like a candidate for causing worse confusion
than we have now.  "OK, that bug is fixed in ZODB 3.3.1 -- just get the
tarball for that, unzip it, and rearrange the directory structure by hand in
the obvious ways so it fits in your Zope installation" <0.9 wink>.

> The one downside is that it screws up current checkouts.  In most
> cases, people would be best off getting a fresh checkout if the
> change is made.  Would that be a problem?

I don't care about that one -- happy to do a fresh checkout.

> Does anyone object?

As above, I think I have other objections, and would rather make ZODB3
development work more like Zope development wrt building and testing.




More information about the ZODB-Dev mailing list