[Checkins] SVN: ZODB/branches/jim-new-release/ Converted to a buildout. Handle external dependencies as setuptools

Jim Fulton jim at zope.com
Tue Nov 21 15:50:00 EST 2006


Log message for revision 71251:
  Converted to a buildout.  Handle external dependencies as setuptools
  dependencies.
  

Changed:
  _U  ZODB/branches/jim-new-release/
  D   ZODB/branches/jim-new-release/DEPENDENCIES.cfg
  D   ZODB/branches/jim-new-release/MANIFEST
  D   ZODB/branches/jim-new-release/MANIFEST.in
  D   ZODB/branches/jim-new-release/PACKAGE.cfg
  D   ZODB/branches/jim-new-release/PUBLICATION.cfg
  U   ZODB/branches/jim-new-release/README.txt
  A   ZODB/branches/jim-new-release/bootstrap.py
  A   ZODB/branches/jim-new-release/buildout.cfg
  U   ZODB/branches/jim-new-release/setup.py
  D   ZODB/branches/jim-new-release/zpkg.conf

-=-

Property changes on: ZODB/branches/jim-new-release
___________________________________________________________________
Name: svn:ignore
   - build
dist
testing.log

   + build
dist
testing.log
develop-eggs
parts
bin


Deleted: ZODB/branches/jim-new-release/DEPENDENCIES.cfg
===================================================================
--- ZODB/branches/jim-new-release/DEPENDENCIES.cfg	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/DEPENDENCIES.cfg	2006-11-21 20:49:59 UTC (rev 71251)
@@ -1,4 +0,0 @@
-ZEO
-ZODB
-ZODB-Scripts
-ZopeUndo

Deleted: ZODB/branches/jim-new-release/MANIFEST
===================================================================
--- ZODB/branches/jim-new-release/MANIFEST	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/MANIFEST	2006-11-21 20:49:59 UTC (rev 71251)
@@ -1,379 +0,0 @@
-LICENSE.txt
-MANIFEST
-MANIFEST.in
-NEWS.txt
-README.txt
-log.ini
-setup.py
-test.py
-doc/ACKS
-doc/Makefile
-doc/README.txt
-doc/storage.pdf
-doc/storage.tex
-doc/zdctl.txt
-doc/zodb.pdf
-doc/ZConfig/Makefile
-doc/ZConfig/README.txt
-doc/ZConfig/schema.dtd
-doc/ZConfig/xmlmarkup.perl
-doc/ZConfig/xmlmarkup.sty
-doc/ZConfig/zconfig.pdf
-doc/ZConfig/zconfig.tex
-doc/ZEO/README.txt
-doc/ZEO/ZopeREADME.txt
-doc/ZEO/cache.txt
-doc/ZEO/howto.txt
-doc/ZEO/trace.txt
-doc/guide/README
-doc/guide/TODO
-doc/guide/admin.tex
-doc/guide/chatter.py
-doc/guide/gfdl.tex
-doc/guide/indexing.tex
-doc/guide/introduction.tex
-doc/guide/links.tex
-doc/guide/modules.tex
-doc/guide/prog-zodb.tex
-doc/guide/storages.tex
-doc/guide/transactions.tex
-doc/guide/zeo.tex
-doc/guide/zodb.tex
-src/BTrees/BTreeItemsTemplate.c
-src/BTrees/BTreeModuleTemplate.c
-src/BTrees/BTreeTemplate.c
-src/BTrees/BucketTemplate.c
-src/BTrees/IIBTree.py
-src/BTrees/IOBTree.py
-src/BTrees/Interfaces.py
-src/BTrees/Length.py
-src/BTrees/Maintainer.txt
-src/BTrees/MergeTemplate.c
-src/BTrees/OIBTree.py
-src/BTrees/OOBTree.py
-src/BTrees/SetOpTemplate.c
-src/BTrees/SetTemplate.c
-src/BTrees/TreeSetTemplate.c
-src/BTrees/_IIBTree.c
-src/BTrees/_IOBTree.c
-src/BTrees/_OIBTree.c
-src/BTrees/_OOBTree.c
-src/BTrees/__init__.py
-src/BTrees/_fsBTree.c
-src/BTrees/check.py
-src/BTrees/intkeymacros.h
-src/BTrees/intvaluemacros.h
-src/BTrees/objectkeymacros.h
-src/BTrees/objectvaluemacros.h
-src/BTrees/sorters.c
-src/BTrees/tests/__init__.py
-src/BTrees/tests/testBTrees.py
-src/BTrees/tests/testBTreesUnicode.py
-src/BTrees/tests/testConflict.py
-src/BTrees/tests/testSetOps.py
-src/BTrees/tests/test_btreesubclass.py
-src/BTrees/tests/test_check.py
-src/BTrees/tests/test_compare.py
-src/Persistence/_Persistence.c
-src/Persistence/__init__.py
-src/Persistence/mapping.py
-src/Persistence/tests/__init__.py
-src/Persistence/tests/testPersistent.py
-src/Persistence/tests/test_ExtensionClass.py
-src/Persistence/tests/test_mapping.py
-src/ThreadedAsync/LoopCallback.py
-src/ThreadedAsync/__init__.py
-src/ZConfig/BRANCHES.txt
-src/ZConfig/__init__.py
-src/ZConfig/cfgparser.py
-src/ZConfig/cmdline.py
-src/ZConfig/datatypes.py
-src/ZConfig/info.py
-src/ZConfig/loader.py
-src/ZConfig/matcher.py
-src/ZConfig/schema.py
-src/ZConfig/substitution.py
-src/ZConfig/url.py
-src/ZConfig/components/__init__.py
-src/ZConfig/components/basic/__init__.py
-src/ZConfig/components/basic/component.xml
-src/ZConfig/components/basic/mapping.py
-src/ZConfig/components/basic/mapping.xml
-src/ZConfig/components/basic/tests/__init__.py
-src/ZConfig/components/basic/tests/test_mapping.py
-src/ZConfig/components/logger/__init__.py
-src/ZConfig/components/logger/abstract.xml
-src/ZConfig/components/logger/base-logger.xml
-src/ZConfig/components/logger/component.xml
-src/ZConfig/components/logger/datatypes.py
-src/ZConfig/components/logger/eventlog.xml
-src/ZConfig/components/logger/factory.py
-src/ZConfig/components/logger/handlers.py
-src/ZConfig/components/logger/handlers.xml
-src/ZConfig/components/logger/logger.py
-src/ZConfig/components/logger/logger.xml
-src/ZConfig/components/logger/loghandler.py
-src/ZConfig/components/logger/tests/__init__.py
-src/ZConfig/components/logger/tests/test_logger.py
-src/ZConfig/doc/Makefile
-src/ZConfig/doc/README.txt
-src/ZConfig/doc/schema.dtd
-src/ZConfig/doc/xmlmarkup.perl
-src/ZConfig/doc/xmlmarkup.sty
-src/ZConfig/doc/zconfig.pdf
-src/ZConfig/doc/zconfig.tex
-src/ZConfig/scripts/zconfig
-src/ZConfig/tests/__init__.py
-src/ZConfig/tests/runtests.bat
-src/ZConfig/tests/runtests.py
-src/ZConfig/tests/support.py
-src/ZConfig/tests/test_cfgimports.py
-src/ZConfig/tests/test_cmdline.py
-src/ZConfig/tests/test_config.py
-src/ZConfig/tests/test_datatypes.py
-src/ZConfig/tests/test_loader.py
-src/ZConfig/tests/test_schema.py
-src/ZConfig/tests/test_subst.py
-src/ZConfig/tests/input/base-datatype1.xml
-src/ZConfig/tests/input/base-datatype2.xml
-src/ZConfig/tests/input/base-keytype1.xml
-src/ZConfig/tests/input/base-keytype2.xml
-src/ZConfig/tests/input/base.xml
-src/ZConfig/tests/input/include.conf
-src/ZConfig/tests/input/inner.conf
-src/ZConfig/tests/input/library.xml
-src/ZConfig/tests/input/logger.xml
-src/ZConfig/tests/input/outer.conf
-src/ZConfig/tests/input/simple.conf
-src/ZConfig/tests/input/simple.xml
-src/ZConfig/tests/input/simplesections.conf
-src/ZConfig/tests/input/simplesections.xml
-src/ZConfig/tests/library/README.txt
-src/ZConfig/tests/library/__init__.py
-src/ZConfig/tests/library/thing/__init__.py
-src/ZConfig/tests/library/thing/component.xml
-src/ZConfig/tests/library/thing/extras/extras.xml
-src/ZConfig/tests/library/widget/__init__.py
-src/ZConfig/tests/library/widget/component.xml
-src/ZConfig/tests/library/widget/extra.xml
-src/ZEO/ClientStorage.py
-src/ZEO/ClientStub.py
-src/ZEO/CommitLog.py
-src/ZEO/DebugServer.py
-src/ZEO/Exceptions.py
-src/ZEO/README.txt
-src/ZEO/ServerStub.py
-src/ZEO/StorageServer.py
-src/ZEO/TransactionBuffer.py
-src/ZEO/__init__.py
-src/ZEO/cache.py
-src/ZEO/component.xml
-src/ZEO/mkzeoinst.py
-src/ZEO/monitor.py
-src/ZEO/runzeo.py
-src/ZEO/schema.xml
-src/ZEO/simul.py
-src/ZEO/stats.py
-src/ZEO/util.py
-src/ZEO/version.txt
-src/ZEO/zeoctl.py
-src/ZEO/zeoctl.xml
-src/ZEO/zeopasswd.py
-src/ZEO/auth/__init__.py
-src/ZEO/auth/auth_digest.py
-src/ZEO/auth/base.py
-src/ZEO/auth/hmac.py
-src/ZEO/tests/Cache.py
-src/ZEO/tests/CommitLockTests.py
-src/ZEO/tests/ConnectionTests.py
-src/ZEO/tests/InvalidationTests.py
-src/ZEO/tests/TestThread.py
-src/ZEO/tests/ThreadTests.py
-src/ZEO/tests/__init__.py
-src/ZEO/tests/auth_plaintext.py
-src/ZEO/tests/deadlock.py
-src/ZEO/tests/forker.py
-src/ZEO/tests/multi.py
-src/ZEO/tests/speed.py
-src/ZEO/tests/stress.py
-src/ZEO/tests/testAuth.py
-src/ZEO/tests/testConnection.py
-src/ZEO/tests/testMonitor.py
-src/ZEO/tests/testTransactionBuffer.py
-src/ZEO/tests/testZEO.py
-src/ZEO/tests/testZEOOptions.py
-src/ZEO/tests/test_cache.py
-src/ZEO/tests/zeoserver.py
-src/ZEO/zrpc/__init__.py
-src/ZEO/zrpc/_hmac.py
-src/ZEO/zrpc/client.py
-src/ZEO/zrpc/connection.py
-src/ZEO/zrpc/error.py
-src/ZEO/zrpc/log.py
-src/ZEO/zrpc/marshal.py
-src/ZEO/zrpc/server.py
-src/ZEO/zrpc/smac.py
-src/ZEO/zrpc/trigger.py
-src/ZODB/ActivityMonitor.py
-src/ZODB/BaseStorage.py
-src/ZODB/ConflictResolution.py
-src/ZODB/Connection.py
-src/ZODB/DB.py
-src/ZODB/DemoStorage.py
-src/ZODB/ExportImport.py
-src/ZODB/MappingStorage.py
-src/ZODB/Mount.py
-src/ZODB/POSException.py
-src/ZODB/TmpStore.py
-src/ZODB/UndoLogCompatible.py
-src/ZODB/ZApplication.py
-src/ZODB/__init__.py
-src/ZODB/broken.py
-src/ZODB/component.xml
-src/ZODB/config.py
-src/ZODB/config.xml
-src/ZODB/conversionhack.py
-src/ZODB/dbmStorage.py
-src/ZODB/fsIndex.py
-src/ZODB/fsrecover.py
-src/ZODB/fstools.py
-src/ZODB/interfaces.py
-src/ZODB/lock_file.py
-src/ZODB/serialize.py
-src/ZODB/storage.xml
-src/ZODB/subtransactions.txt
-src/ZODB/transact.py
-src/ZODB/utils.py
-src/ZODB/winlock.c
-src/ZODB/FileStorage/FileStorage.py
-src/ZODB/FileStorage/__init__.py
-src/ZODB/FileStorage/format.py
-src/ZODB/FileStorage/fsdump.py
-src/ZODB/FileStorage/fspack.py
-src/ZODB/tests/BasicStorage.py
-src/ZODB/tests/ConflictResolution.py
-src/ZODB/tests/Corruption.py
-src/ZODB/tests/HistoryStorage.py
-src/ZODB/tests/IteratorStorage.py
-src/ZODB/tests/LocalStorage.py
-src/ZODB/tests/MTStorage.py
-src/ZODB/tests/MinPO.py
-src/ZODB/tests/PackableStorage.py
-src/ZODB/tests/PersistentStorage.py
-src/ZODB/tests/ReadOnlyStorage.py
-src/ZODB/tests/RecoveryStorage.py
-src/ZODB/tests/RevisionStorage.py
-src/ZODB/tests/StorageTestBase.py
-src/ZODB/tests/Synchronization.py
-src/ZODB/tests/TransactionalUndoStorage.py
-src/ZODB/tests/TransactionalUndoVersionStorage.py
-src/ZODB/tests/VersionStorage.py
-src/ZODB/tests/__init__.py
-src/ZODB/tests/dangle.py
-src/ZODB/tests/sampledm.py
-src/ZODB/tests/speed.py
-src/ZODB/tests/testActivityMonitor.py
-src/ZODB/tests/testBroken.py
-src/ZODB/tests/testCache.py
-src/ZODB/tests/testConfig.py
-src/ZODB/tests/testConnection.py
-src/ZODB/tests/testDB.py
-src/ZODB/tests/testDemoStorage.py
-src/ZODB/tests/testFileStorage.py
-src/ZODB/tests/testMappingStorage.py
-src/ZODB/tests/testPersistentList.py
-src/ZODB/tests/testPersistentMapping.py
-src/ZODB/tests/testRecover.py
-src/ZODB/tests/testSerialize.py
-src/ZODB/tests/testSubTransaction.py
-src/ZODB/tests/testTimeStamp.py
-src/ZODB/tests/testUtils.py
-src/ZODB/tests/testZODB.py
-src/ZODB/tests/test_cache.py
-src/ZODB/tests/test_datamanageradapter.py
-src/ZODB/tests/test_storage.py
-src/ZODB/tests/testfsIndex.py
-src/ZODB/tests/testmvcc.py
-src/ZODB/tests/util.py
-src/ZODB/tests/warnhook.py
-src/ZopeUndo/Prefix.py
-src/ZopeUndo/__init__.py
-src/ZopeUndo/tests/__init__.py
-src/ZopeUndo/tests/testPrefix.py
-src/persistent/README.txt
-src/persistent/TimeStamp.c
-src/persistent/__init__.py
-src/persistent/cPersistence.c
-src/persistent/cPersistence.h
-src/persistent/cPickleCache.c
-src/persistent/dict.py
-src/persistent/interfaces.py
-src/persistent/list.py
-src/persistent/mapping.py
-src/persistent/ring.c
-src/persistent/ring.h
-src/persistent/wref.py
-src/persistent/tests/__init__.py
-src/persistent/tests/persistent.txt
-src/persistent/tests/persistenttestbase.py
-src/persistent/tests/testPersistent.py
-src/persistent/tests/test_PickleCache.py
-src/persistent/tests/test_list.py
-src/persistent/tests/test_overriding_attrs.py
-src/persistent/tests/test_persistent.py
-src/persistent/tests/test_pickle.py
-src/persistent/tests/test_wref.py
-src/scripts/README.txt
-src/scripts/analyze.py
-src/scripts/checkbtrees.py
-src/scripts/fsdump.py
-src/scripts/fsrefs.py
-src/scripts/fsstats.py
-src/scripts/fstail.py
-src/scripts/fstest.py
-src/scripts/migrate.py
-src/scripts/netspace.py
-src/scripts/parsezeolog.py
-src/scripts/repozo.py
-src/scripts/space.py
-src/scripts/timeout.py
-src/scripts/zeopack.py
-src/scripts/zeoqueue.py
-src/scripts/zeoreplay.py
-src/scripts/zeoserverlog.py
-src/scripts/zeoup.py
-src/scripts/zodbload.py
-src/scripts/tests/test-checker.fs
-src/scripts/tests/testfstest.py
-src/scripts/tests/testzeopack.py
-src/transaction/README.txt
-src/transaction/__init__.py
-src/transaction/_manager.py
-src/transaction/_transaction.py
-src/transaction/interfaces.py
-src/transaction/notes.txt
-src/transaction/util.py
-src/transaction/tests/__init__.py
-src/transaction/tests/abstestIDataManager.py
-src/transaction/tests/test_SampleDataManager.py
-src/transaction/tests/test_register_compat.py
-src/transaction/tests/test_transaction.py
-src/transaction/tests/test_util.py
-src/zLOG/EventLogger.py
-src/zLOG/__init__.py
-src/zLOG/tests/__init__.py
-src/zLOG/tests/test_logging.py
-src/zLOG/tests/testzLog.py
-src/zdaemon/__init__.py
-src/zdaemon/component.xml
-src/zdaemon/sample.conf
-src/zdaemon/schema.xml
-src/zdaemon/zdctl.py
-src/zdaemon/zdoptions.py
-src/zdaemon/zdrun.py
-src/zdaemon/tests/__init__.py
-src/zdaemon/tests/donothing.sh
-src/zdaemon/tests/nokill.py
-src/zdaemon/tests/parent.py
-src/zdaemon/tests/testzdoptions.py
-src/zdaemon/tests/testzdrun.py

Deleted: ZODB/branches/jim-new-release/MANIFEST.in
===================================================================
--- ZODB/branches/jim-new-release/MANIFEST.in	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/MANIFEST.in	2006-11-21 20:49:59 UTC (rev 71251)
@@ -1,9 +0,0 @@
-include MANIFEST MANIFEST.in
-include *.txt
-include test.py log.ini
-recursive-include src *.h *.c *.xml *.txt *.sh *.conf *.bat
-include src/ZConfig/scripts/zconfig
-graft doc
-graft src/scripts
-graft src/ZConfig/doc
-global-exclude .cvsignore

Deleted: ZODB/branches/jim-new-release/PACKAGE.cfg
===================================================================
--- ZODB/branches/jim-new-release/PACKAGE.cfg	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/PACKAGE.cfg	2006-11-21 20:49:59 UTC (rev 71251)
@@ -1,17 +0,0 @@
-<distribution>
-  doc
-  log.ini
-  test.py
-  COPYRIGHT.txt
-  LICENSE.txt
-  NEWS.txt
-  README.txt
-</distribution>
-
-<collection>
-  doc           -
-  setup.py      -
-  src           -
-  zpkg.conf     -
-  buildsupport  -
-</collection>

Deleted: ZODB/branches/jim-new-release/PUBLICATION.cfg
===================================================================
--- ZODB/branches/jim-new-release/PUBLICATION.cfg	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/PUBLICATION.cfg	2006-11-21 20:49:59 UTC (rev 71251)
@@ -1,23 +0,0 @@
-Metadata-version: 1.1
-Name: ZODB3
-License: ZPL 2.1
-Home-page: http://www.zope.org/Wikis/ZODB
-Summary: Zope Object Database: object database and persistence
-Description:
-        The Zope Object Database provides an object-oriented database
-        for Python that provides a high-degree of transparency.
-        Applications can take advantage of object database features
-        with few, if any, changes to application logic.  ZODB includes
-        features such as a plugable storage interface, rich
-        transaction support, and undo.
-Maintainer: ZODB Developers
-Maintainer-email: zodb-dev at zope.org
-Platform: any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: Zope Public License
-Classifier: Programming Language :: Python
-Classifier: Topic :: Database
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Classifier: Operating System :: Microsoft :: Windows
-Classifier: Operating System :: Unix

Modified: ZODB/branches/jim-new-release/README.txt
===================================================================
--- ZODB/branches/jim-new-release/README.txt	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/README.txt	2006-11-21 20:49:59 UTC (rev 71251)
@@ -16,7 +16,6 @@
 - Standard storages such as FileStorage
 - The persistent BTrees modules
 - ZEO
-- ZConfig -- a Zope configuration language
 - documentation
 
 Our primary development platforms are Linux and Windows 2000.  The
@@ -28,9 +27,9 @@
 Compatibility
 -------------
 
-ZODB 3.7 requires Python 2.4.2 or later.
+ZODB 3.7 requires Python 2.4.3 or later.
 
-The Zope 2.8 release, and Zope3 releases, should be compatible with this
+The Zope 2.10 release, and Zope 3.3 releases, should be compatible with this
 version of ZODB.  Note that Zope 2.7 and higher includes ZEO, so this package
 should only be needed to run a ZEO server.
 
@@ -70,12 +69,25 @@
 builds Python extensions.  If you have the source release of ZODB,
 you will need a C compiler.
 
+You also need the ZConfig, zdaemon, zope.interface, zope.proxy and
+zope.testing packages.  If you are using easy_install or zc.buildout to
+install ZODB, then these will be installed for you automatically.
+
 Installation
 ------------
 
-ZODB is released as a distutils package.  To build it, run the setup
-script::
+ZODB is released as a distutils package.  The easiest ways to build
+and install it are to use `easy_install
+<http://peak.telecommunity.com/DevCenter/EasyInstall>`_, or
+`zc.buildout <http://www.python.org/pypi/zc.buildout>`_.
 
+To install by hand, first install the dependencies, ZConfig, zdaemon,
+zope.interface, zope.proxy and zope.testing.  These can be found
+either in the `Python Package Index <http://www.python.org/pypi>`_,
+or at http://download.zope.org/distribution/.
+
+To build it, run the setup script::
+
     % python setup.py build
 
 To test the build, run the test script::
@@ -95,14 +107,20 @@
 Testing for Developers
 ----------------------
 
-When working from a ZODB checkout, do an in-place build instead::
+The ZODB check outs are `buldouts <http://www.python.org/pypi/zc.buildout>`_.
+When working from a ZODB checkout, first run the bootstrap.py script
+to initialize the buildout:
 
-    % python setup.py build_ext -i
+    % python bootstrap.py
 
-followed by::
+and then use the buildout script to build ZODB and gather the dependencies:
+ 
+    % bin/buildout
 
-    % python test.py -v
+This creates a test script:
 
+    % bin/test -v
+
 This command will run all the tests, printing a single dot for each
 test.  When it finishes, it will print a test summary.  The exact
 number of tests can vary depending on platform and available

Added: ZODB/branches/jim-new-release/bootstrap.py
===================================================================
--- ZODB/branches/jim-new-release/bootstrap.py	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/bootstrap.py	2006-11-21 20:49:59 UTC (rev 71251)
@@ -0,0 +1,52 @@
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Bootstrap a buildout-based project
+
+Simply run this script in a directory containing a buildout.cfg.
+The script accepts buildout command-line options, so you can
+use the -c option to specify an alternate configuration file.
+
+$Id$
+"""
+
+import os, shutil, sys, tempfile, urllib2
+
+tmpeggs = tempfile.mkdtemp()
+
+ez = {}
+exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
+                     ).read() in ez
+ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
+
+import pkg_resources
+
+cmd = 'from setuptools.command.easy_install import main; main()'
+if sys.platform == 'win32':
+    cmd = '"%s"' % cmd # work around spawn lamosity on windows
+
+ws = pkg_resources.working_set
+assert os.spawnle(
+    os.P_WAIT, sys.executable, sys.executable,
+    '-c', cmd, '-mqNxd', tmpeggs, 'zc.buildout',
+    dict(os.environ,
+         PYTHONPATH=
+         ws.find(pkg_resources.Requirement.parse('setuptools')).location
+         ),
+    ) == 0
+
+ws.add_entry(tmpeggs)
+ws.require('zc.buildout')
+import zc.buildout.buildout
+zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
+shutil.rmtree(tmpeggs)


Property changes on: ZODB/branches/jim-new-release/bootstrap.py
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: ZODB/branches/jim-new-release/buildout.cfg
===================================================================
--- ZODB/branches/jim-new-release/buildout.cfg	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/buildout.cfg	2006-11-21 20:49:59 UTC (rev 71251)
@@ -0,0 +1,9 @@
+[buildout]
+develop = .
+parts = test
+find-links = http://download.zope.org/distribution/
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = ZODB3
+


Property changes on: ZODB/branches/jim-new-release/buildout.cfg
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: ZODB/branches/jim-new-release/setup.py
===================================================================
--- ZODB/branches/jim-new-release/setup.py	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/setup.py	2006-11-21 20:49:59 UTC (rev 71251)
@@ -20,6 +20,8 @@
 interface, rich transaction support, and undo.
 """
 
+DEPENDENCIES = 
+
 # The (non-obvious!) choices for the Trove Development Status line:
 # Development Status :: 5 - Production/Stable
 # Development Status :: 4 - Beta
@@ -39,17 +41,15 @@
 import glob
 import os
 import sys
-from distutils.core import setup
 from distutils.extension import Extension
 from distutils import dir_util
-from distutils.core import setup
 from distutils.dist import Distribution
 from distutils.command.install_lib import install_lib
 from distutils.command.build_py import build_py
 from distutils.util import convert_path
 
-if sys.version_info < (2, 3, 4):
-    print "ZODB 3.3 requires Python 2.3.4 or higher"
+if sys.version_info < (2, 4, 3):
+    print "This version of ZODB requires Python 2.4.3 or higher"
     sys.exit(0)
 
 # Include directories for C extensions
@@ -113,32 +113,15 @@
                       sources= ['src/persistent/TimeStamp.c']
                       )
 
-##coptimizations = Extension(name = 'ZODB.coptimizations',
-##                           include_dirs = include,
-##                           sources= ['src/ZODB/coptimizations.c']
-##                           )
-
 winlock = Extension(name = 'ZODB.winlock',
                     include_dirs = include,
                     sources = ['src/ZODB/winlock.c']
                     )
 
-cZopeInterface = Extension(
-            name = 'zope.interface._zope_interface_coptimizations',
-            sources= ['src/zope/interface/_zope_interface_coptimizations.c']
-            )
-
-cZopeProxy = Extension(
-            name = 'zope.proxy._zope_proxy_proxy',
-            sources= ['src/zope/proxy/_zope_proxy_proxy.c']
-            )
-
 exts += [cPersistence,
          cPickleCache,
          TimeStamp,
          winlock,
-         cZopeInterface,
-         cZopeProxy,
         ]
 
 # The ZODB.zodb4 code is not being packaged, because it is only
@@ -147,25 +130,10 @@
 packages = ["BTrees", "BTrees.tests",
             "ZEO", "ZEO.auth", "ZEO.zrpc", "ZEO.tests",
             "ZODB", "ZODB.FileStorage", "ZODB.tests",
-            #"Persistence", "Persistence.tests",
             "persistent", "persistent.tests",
             "transaction", "transaction.tests",
             "ThreadedAsync",
-            "zdaemon", "zdaemon.tests",
-
-            "zope",
-            "zope.interface", "zope.interface.tests",
-            "zope.interface.common", "zope.interface.common.tests",
-            "zope.proxy", "zope.proxy.tests",
-            "zope.testing",
-
             "ZopeUndo", "ZopeUndo.tests",
-            "ZConfig", "ZConfig.tests",
-            "ZConfig.components",
-            "ZConfig.components.basic", "ZConfig.components.basic.tests",
-            "ZConfig.components.logger", "ZConfig.components.logger.tests",
-            "ZConfig.tests.library", "ZConfig.tests.library.widget",
-            "ZConfig.tests.library.thing",
             ]
 
 scripts = ["src/scripts/fsdump.py",
@@ -179,9 +147,6 @@
            "src/scripts/zeopasswd.py",
            "src/scripts/mkzeoinst.py",
            "src/scripts/zeoctl.py",
-           "src/ZConfig/scripts/zconfig",
-           "src/zdaemon/zdrun.py",
-           "src/zdaemon/zdctl.py",
            ]
 
 def copy_other_files(cmd, outputbase):
@@ -190,37 +155,14 @@
     extensions = ["*.conf", "*.xml", "*.txt", "*.sh"]
     directories = [
         "transaction",
+        "transaction/tests",
         "persistent/tests",
-        "ZConfig/components/basic",
-        "ZConfig/components/logger",
-        "ZConfig/tests/input",
-        "ZConfig/tests/library",
-        "ZConfig/tests/library/thing",
-        "ZConfig/tests/library/thing/extras",
-        "ZConfig/tests/library/widget",
         "ZEO",
         "ZODB",
         "ZODB/tests",
-        "zdaemon",
-        "zdaemon/tests",
-        "zope/interface", "zope/interface/tests",
-        "zope/testing",
         ]
-    # zope.testing's testrunner-ex is not a package, but contains
-    # packages, in a fairly elaborate subtree.  Major special-casing
-    # for this.  First find all the (non-SVN) directories starting
-    # there, and append them all to `directories`.
-    for root, dirs, files in os.walk("src/zope/testing/testrunner-ex"):
-        dirs[:] = [d for d in dirs if ".svn" not in d]
-        assert root.startswith("src/")
-        normpath = root[4:].replace("\\", "/")
-        directories.append(normpath)
     for dir in directories:
         exts = extensions
-        if dir.startswith("zope/testing/testrunner-ex"):
-            # testrunner-ex isn't a package, so not even the .py files
-            # get copied unless we force that there.
-            exts = extensions + ["*.py"]
         dir = convert_path(dir)
         inputdir = os.path.join("src", dir)
         outputdir = os.path.join(outputbase, dir)
@@ -263,8 +205,26 @@
 
 doclines = __doc__.split("\n")
 
+try:
+    from setuptools import setup
+except ImportError:
+    from distutils.core import setup
+    extra = {}
+else:
+    extra = dict(
+        install_requires = [
+            'zope.interface',
+            'zope.proxy',
+            'zope.testing',
+            'ZConfig',
+            'zdaemon',
+            ],
+        zip_safe = False,
+        dependency_links = ['http://download.zope.org/distribution/'],
+        )
+
 setup(name="ZODB3",
-      version="3.5.0a6",
+      version="3.7.0a2",
       maintainer="Zope Corporation",
       maintainer_email="zodb-dev at zope.org",
       url = "http://www.zope.org/Wikis/ZODB",
@@ -281,4 +241,4 @@
       long_description = "\n".join(doclines[2:]),
       distclass = MyDistribution,
       scripts = scripts,
-      )
+      **extra)

Deleted: ZODB/branches/jim-new-release/zpkg.conf
===================================================================
--- ZODB/branches/jim-new-release/zpkg.conf	2006-11-21 19:50:51 UTC (rev 71250)
+++ ZODB/branches/jim-new-release/zpkg.conf	2006-11-21 20:49:59 UTC (rev 71251)
@@ -1,40 +0,0 @@
-# zpkg config file
-#
-# To getnerate a ZODB release, use:
-#
-#     zpkg -C zpkg.conf -v <version>
-#
-
-build-application     no
-collect-dependencies  yes
-default-collection    ZODB3
-
-<resources>
-  # This is the ZODB3 release package:
-  #
-  ZODB3           .
-
-  # This group is maintained as part of the ZODB project:
-  #
-  BTrees          src/BTrees
-  persistent      src/persistent
-  transaction     src/transaction
-  ThreadedAsync   src/ThreadedAsync
-  ZEO             src/ZEO
-  ZODB            src/ZODB
-  ZODB-Scripts    src/scripts
-  ZopeUndo        src/ZopeUndo
-
-  # These are copied in from the Zope3 project; they are needed for ZODB
-  # 3.4 and newer:
-  #
-  zope            src/zope
-  zope.interface  src/zope/interface
-  zope.proxy      src/zope/proxy
-  zope.testing    src/zope/testing
-
-  # These are copied in from the ZConfig and zdaemon projects:
-  #
-  ZConfig         src/ZConfig
-  zdaemon         src/zdaemon
-</resources>



More information about the Checkins mailing list