[Grok-dev] Re: solving buildout problems - pinning down eggs

Martijn Faassen faassen at startifact.com
Fri Sep 14 11:05:37 EDT 2007


Hey,

Wichert Akkerman wrote:
[snip]
> plone.recipe.plone does exactly that for Plone. Its implementation is
> very tied to the way the Plone release-creation-scripts work (horribly)
> but it solves this problem very well. You can see how it works on its
> cheesehop page.

Thanks for the reference to the cheeseshop page. For convenience to 
other readers, here's the link:

http://cheeseshop.python.org/pypi/plone.recipe.plone

This would code this information into the recipe though, if I understand 
it correctly. This would involve releasing a new recipe each time a new 
version of grok is released, correct?

I'd prefer just to do a release of grok and have everything Be Right. I 
think that the grok package should know about the dependencies anyway - 
if you install grok 0.10, you expect to get a lot of code that works for 
grok 0.10. I'd like reproducibility - you get the exact same versions of 
everything on each installation.

I was thinking about writing a recipe that can produce a list of 
dependencies (unfolded) for a particular egg. This output could then be 
used to place it in the dependencies section of setup.py.

Drawback of course is that these can't be overridden. Alternatively, if 
buildout grows a new feature, we could have a dependency_suggestions 
section in the setup.py, which can be overridden (somewhere. details 
still missing).

Regards,

Martijn



More information about the Grok-dev mailing list