[Distutils] Bazaar support for setuptools

Phillip J. Eby pje at telecommunity.com
Fri Jul 20 22:18:57 BST 2007

At 04:32 PM 7/20/2007 -0400, Barry Warsaw wrote:
>Well, I hacked this together pretty quickly but it seems to work for
>my particular use case.  The Mailman source code is now kept under
>the Bazaar revision control system, and I'm about to merge a branch
>that converts the Mailman 3 branch from autoconf-based builds to
>setuptools.  So I needed Bazaar support in order to build my sdist
>files and such.
>Writing the plugin code was pretty easy after Michael Hudson gave me
>the key bzrlib clues.  Maybe this could be included by default in the
>next version of setuptools?

No, since it relies on a package (bzrlib) that's not in the stdlib or 
bundled with setuptools.

You can, however, just add a setup.py to your module that declares 
the entry point, and upload the whole thing to Cheeseshop.  You can 
even declare its dependency on bzrlib and have that automatically 
installed too, assuming that it's either on the Cheeseshop or you can 
supply a download link or page with download links in your 

>Side note: I found it interesting and a bit annoying that setuptools
>doesn't call find_files_for_bzr() recursively.  It would seem like
>the framework should do the recursion instead of the plugin, as I'd
>think it would be the most common use case.

Well, the assumption is that only the plugin knows whether a 
directory is a candidate for recursion.  Also, some revision control 
systems only keep path information in one place, so trying to call 
the plugin recursively would be redundant.

>In any event, the
>setuptools documentation should probably be clear that it's up to the
>plugin to recurse into subdirectories.

Fair enough; patches welcome.  In fact, feel free to just go ahead 
and check documentation additions right in, just drop me a line and 
let me know what you did so I can double-check and edit if necessary.

More information about the bazaar mailing list