[Distutils] Buildout release news

Gary Poster gary.poster at canonical.com
Fri Aug 20 22:17:21 CEST 2010


On Aug 20, 2010, at 11:38 AM, Attila Oláh wrote:

> Hi,
> 
> On Fri, Aug 20, 2010 at 17:22, Gary Poster <gary.poster at canonical.com> wrote:
>> I intend to release zc.buildout 1.5.0 Monday, August 23.  I will merge the code from from svn+ssh://svn.zope.org/repos/main/zc.buildout/branches/gary-betafix into trunk.
> 
> Is this the branch that Jim mentioned here:
> https://bugs.launchpad.net/zc.buildout/+bug/429383/comments/2 ?

Yes.

> I
> still couldn't find a way to generate buildout scripts with excluding
> the system site-packages.

See the documentation I mentioned: http://svn.zope.org/zc.buildout/branches/gary-betafix/SYSTEM_PYTHON_HELP.txt?view=markup .

> 
> Also, I had troubles with the following bug a while ago, that seems to
> be fixed in 1.5.0b1 now:
> 
> - Installing a namespace package using a Python that already has a package
>  in the same namespace (e.g., in the Python's site-packages) failed in
>  some cases.  It is now handled correctly.

Do you mean that you had trouble with this behavior in 1.5.0b1?  If so, more details would be helpful, particularly after you try following the instructions in the help file.  As you might expect, Debian/Ubuntu compatibility has been the standard I've used for my own experiments and those of my beta testers.

Note that, as noted elsewhere, using a system Python is inherently fragile.  I've caught about everything I can in the Debian/Ubuntu world, but there are still bugs like https://bugs.edge.launchpad.net/ubuntu/+source/python2.6/+bug/621348 that make things less smooth than they would be otherwise.

> Is there a bootstrap.py file that can be used for early-testing of the
> release that you're going to make in three days?

The bootstrap to use for now is 

http://svn.zope.org/repos/main/zc.buildout/branches/gary-betafix/bootstrap/bootstrap.py

Next, as I said, read the SYSTEM_PYTHON_HELP.txt I mentioned (though, of course, the gary-betafix bootstrap I mention above is the one to use for now, not the one in trunk).  Follow the pertinent instructions, and set your expectations on the basis of its warnings (in particular, the only script-generating recipe that uses the new functionality so far is z3c.recipe.scripts).

Now, because things are not yet released, you'll have to do a number of extra steps.  These are the ones I follow.  Maybe someone else has a better approach, but this tests both buildout *and* bootstrap (other approaches only test buildout AFAIK, and you need both).

1) If you don't have one yet, set up a download-cache per the usual buildout instructions.  Generally, the docs are http://pypi.python.org/pypi/zc.buildout#using-a-download-cache .  More specifically, I do what is described here: https://dev.launchpad.net/HackingLazrLibraries#Global%20Cache .

2) In your download-cache's dist's directory (~/.buildout/download-cache/dist/ if you followed the Global Cache instructions) put the following four items in:
- the setuptools egg for the Python version you are using (from http://pypi.python.org/pypi/setuptools) 
- temporary releases of the three pertinent releases, available from http://people.canonical.com/~gary/zc.buildout-1.5.0-early-releases/

3) When you are ready to call the new bootstrap in a fresh checkout of your project, you'll need to specify the download-cache-dist directory as an argument.  Here's an example of my call: python bootstrap.py --download-base=/home/gary/.buildout/download-cache/dist/

Now you should be testing the releases as I intend to make them.  Note that, if I do have to make changes before that release on the basis of feedback, you will need to remove all versions of these (in download-cache and in any cached eggs) before you get the new changes.

Gary


More information about the Distutils-SIG mailing list