[Distutils] Buildout Sprint Report

Jim Fulton jim at zope.com
Fri Mar 18 15:38:56 CET 2011

We did some sprinting on buildout at PyCon.

Alex Plugaru, fixed serveral bugs and clarified the development
process a little.

We had some good discussions about how buildout achieves isolation
that I expect will lead to simplification in the future.

I researched some test failures and ultimately had to disable some
tests except on windows and newer linux kernels.  The tests rely on
being able to name a script on a shebang line.

I worked on porting buildout to Python 3. My plan:

0. My goal is to have one code base that works in both Python 2 and
   Python 3.

1. Run 2to3 and get tests passing.  I spent the last 4+ days working
   on this.  There's a lot that 2to3 doesn't take care of.  I think
   I'm getting pretty close and will be able to finish the work this

   Lennart Regebro provided valuable advice and moral support through
   this process. :)

2. Review the diffs and adjust to make buildout work under Python 2&3.
   Also look for stupidities committed in the heat of hacking.  In
   particular, I used encode/decode calls in places as a band-aid to
   overcome mistakes in doing IO properly.

3. Make sure tests pass under both Python 2&3 and make a beta release.

Note that I'm reliying on distribute because:

- distutils2 aka packaging isn't ready (and when it is, it won't
  provide all of the features I need),

- setuptools isn't ported to Python 3 yet.

I'm sadly, but sorely, tempted to drop explicit support for
setuptools.  Maintaining support for both implementations is feeling
like a waste of time.


Jim Fulton

More information about the Distutils-SIG mailing list