[Grok-dev] Making an egg bundle for Grok
Maurits van Rees
m.van.rees at zestsoftware.nl
Fri May 16 20:31:23 EDT 2008
Hi fellow grokkers!
Out of the Grokkerdam sprint z3c.recipe.eggbasket was born. This lets
you quickstart a grok project by first installing the grok egg and its
dependencies from a tar ball without relying on a zillion cheese shops
and sourceforges, like this:
recipe = z3c.recipe.eggbasket
eggs = grok
url = http://grok.zope.org/releaseinfo/grok-eggs-0.12.tgz
The tar ball that is pointed to was made with zc.sourcerelease and
some handwavy procedure. We decided we wanted that to be easier. So
I added a command line script to z3c.recipe.eggbasket. It is only on
trunk, so if you want to test it, you need a checkout from:
It has a buildout.cfg for testing. The important part is this, which
you could add to any random buildout (say the grok one):
recipe = zc.recipe.egg
eggs = z3c.recipe.eggbasket
egg = 'grok',
versionfile = 'http://grok.zope.org/releaseinfo/grok-0.12.cfg'
This is slightly awkward: note the comma and the quotes that are
needed in the arguments. But it does the trick. You give the name of
an egg and a version file (can also be a local buildout.cfg). Then
you run bin/buildout and bin/releasemaker. You may want to grab a
coffee or a beer at that point as it may take a while. :-)
I would say: just try it out. For testing it is faster to use for
example 'martian' instead of 'grok'. That will give you a tar ball
with just the martian and zope.interface eggs.
So: there is working code and there is lots of room for improvement
(don't get me started). Now would be a good time to hop in with
contributions, cheer me on or point me in a different direction.
Testing on Windows would be cool too, both of the script and the
Naming suggestions for the script are also welcome: releasemaker,
releaser, eggbasket, create_egg_bundle, shipit, etc.
Maurits van Rees | http://maurits.vanrees.org/
Work | http://zestsoftware.nl/
"This is your day, don't let them take it away." [Barlow Girl]
More information about the Grok-dev