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

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


On Jan 29, 2007, at 5:14 PM, Martin Aspeli wrote:

> Jim Fulton wrote:
>
>> So, from your example, you now have a kss.core-0.1dev egg.   It isn't
>> a real release. It reflects the state of your subversion repository
>> at the time you happened to run the buildout.
>>
>> My guess is that if you run the buildout again, the egg won't be
>> recreated.  You won't be tracking subversion changes as you wished.
>>
>> Further, if you use a shared eggs directory, any other buildouts will
>> likely use that same egg, which has a more or less random snapshot of
>> the software.  I suggest that this is a bad thing.
>>
>> IMO, this is what you really want:
>>
>> - You want something to check out your project and make it a develop
>> egg.
>>
>> - When you run buildout later, you want something to do an svn up in
>> the checkout and to rerun setup (in case there are extensions).
>>
>> I think this "something" should probably be a recipe (or a feature of
>> some existing recipe).
>>
>> I wonder what easy_install does in a case like this.  For example, I
>> wonder if easy_install would download and rebuild the egg every time
>> you ran it.   Of course, with easy_install, you probably would only
>> run it once, but, again, then you wouldn't be tracking subversion.
>
> I'd need to test this, but I *think* that it considers the svn  
> revision
> as part of the "version number" so that when the svn revision changes,

I wonder if the egg it generated has the version # in it.

>
> if buildout goes online to check for a new revision, it'd re-download
> and re-build. That sounds like what I want, anyway. :)

Well, it would be an improvement, but it still might not be what you  
want.
After all, it will check out the entire project everytime, when it would
be quicker to just do an svn up.

In any case, you should experiment with both easy_install and buildout.
I'm fairly sure that buildout won't pick up new versions -- but I  
could be wrong.
easy_install won't pick up new versions unless you use -U, but I  
wonder if it will even then.

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