[Distutils] Building an egg from Subversion using zc.buildout

Jim Fulton jim at zope.com
Mon Jan 29 12:26:52 CET 2007


Martin Aspeli wrote:
> Phillip J. Eby wrote:
>> At 12:21 PM 11/19/2006 -0500, Nathan R. Yergler wrote:
>>> I'm using zc.buildout for deploying a handful of applications, and one
>>> of our dependencies doesn't have eggs or "correctly" formatted pages
>>> (that would allow easy_install to track down the repository for direct
>>> building from source).  Does zc.buildout provide any way to build an egg
>> >from a Subversion URL?  Something with similar behavior to:
>>> easy_install -m -d ./eggs http://path/to/svn/repos
>>>
>>> I'm happy to write a recipe if necessary, just thought I'd make sure
>>> someone else hadn't already scratched this itch.
>> If it's a dependency declared in your setup.py, you can do something like this:
>>
>>      dependency_links=['http://path/to/svn/repos#egg=Foo-dev'],
>>      install_requires=['Foo>=1.2,==dev'],
>>
>> in your setup() call, to depend on version 1.2 or greater of Foo; the ==dev 
>> and the #egg=Foo-dev will allow it to be found via SVN.
>>
>> See also these two manual sections that document the use of ==dev and #egg=:
>>
>> http://peak.telecommunity.com/DevCenter/setuptools#managing-continuous-releases-using-subversion
>>
>> http://peak.telecommunity.com/DevCenter/setuptools#making-your-package-available-for-easyinstall

I need to:

- try this myself, and

- work up some documentation on using this with buildout.

I'll add this to my to-do list.


> I found myself searching for this very thing, and couldn't find a way to 
> do it with zc.buildout. Listing an svn URL in the 'eggs' section gave a 
> syntax error (with or without the #egg=Foo-dev bit). Listing the svn URL 
> in 'find-links' didn't work either.

I think you got lots of hints in various responses, although I'm not sure
you have the setup foo to make semse of them. :)

> I'm not sure I understand zc.recipe.egg and setuptools well enough to be 
> able to guess what may be wrong.

As Ian pointed out, this doesn't seem to be a buildout thing, although
I can't be sure until I try to make it work myself.

> Since zc.buildout uses setuptools 
> though, if there is a standard setuptools way of doing this, I'd hope it 
> should be possible to do it in zc.buildout?

I think it should be, although I'm not sure it will have the
semantics you want, although I won't be sure until I try it myself.
I will try to do this this week.  Feel free to nag me. :)

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Distutils-SIG mailing list