[Grok-dev] Buildouts - was timte-json branch

Darryl Cousins darryl at darrylcousins.net.nz
Sat Mar 24 22:21:48 EDT 2007


Hey Martijn,

That all worked as suggested. (Yes, I was doing it while you were
answering). And I found out how to get eggs listed in bin/test. Hooray.

Your further suggestions for collecting tutorial and faq's for
zc.buildout into one place is a good idea. Though I must say that
actually hacking at other's buildouts has been the best teacher. But
that only after reading all the READMEs.

(Now if I can attract Philipp's attention to say that the deliverance
egg won't build from within the NudgeNudge buildout - lxml bombs -
although the deliverance buildout itself does build on my Debian box.)

Back to red-bean to learn about svn:external.

Sincerest regards,
Darryl

On Sun, 2007-03-25 at 04:09 +0200, Martijn Faassen wrote:
> Hey,
> 
> Darryl Cousins wrote:
> > Could I pick your brains further on the subject?  
> 
> Sure!
> 
> > 1. Is it ok then to add an svn:externals pointing to grok repository
> > from my project repos so it checks out grok into my project directory
> > each and every time?
> 
> Yes. This is a regular pattern with buildouts. You list 'grok' in the 
> 'develop' line in the [buildout] section, so buildout can recognize this 
> as an egg.
> 
> > 2. Related but a little different. I have used some z3c pakages in my
> > project. I created a recipe to check out these packages into
> > parts/instance/lib/python. Could/should this be done differently? 
> 
>  > Possibly by:
>  > For example adding svn:externals to these packages so they check out
>  > into my project/src directory along with my code? And therefore are
>  > built as part of my code.
> 
> Yes, it can be done differently. If these are registered on the 
> cheeseshop, just list them as a dependency in your setup.py. If they are 
> stored in some other location (zope.org has a few, though I can't 
> remember the name), you can add this as an alternate repository to look 
> for eggs too. (I forget the name too)
> 
> If they are not in the cheeseshop, just create an svn:external to them 
> in the top-level project directory and list them in the 'develop' 
> section of your buildout.cfg.
> 
> If you want their ZCML to be registered, you can change buildout.cfg in 
> the 'zcml' section of your instances to have it included.
> 
> Then run: $ bin/buildout -N
> 
> The '-N' option avoids network access when you already have an egg, and 
> typically a buildout runs much faster.
> 
> Please note that running buildout can remove and reinstall your 
> instance, including any changes you made there, including etc/zope.conf. 
> Hopefully we can move that file off into some other directory eventually.
> 
> Someone should take notes on all this and write this into a coherent 
> tutorial for zc.buildout. I imagine it can be pretty use-case driven, or 
> even FAQ style ("How do I..?"). Volunteers to start such a document are 
> welcome!
> 
> For eager website volunteers that may be around you, making a nice web 
> presence for zc.buildout (buildout.zope.org?) would be a fun project. 
> Right now there's lots of buildout documentation on the cheeseshop 
> (generated from the doctests): cheeseshop.python.org/py/zc.buildout
> 
> There's also this document that Jim wrote on buildout:
> 
> http://us.pycon.org/common/talkdata/PyCon2007/116/buildout.pdf
> 
> Collecting this stuff in one place, giving it a bit of a layout, would 
> be work that has quick payoffs. That said, you do need to provide Jim 
> with an easy way to update the docs to the latest versions - he has 
> setup.py do that for him automatically for the cheeseshop upload, so 
> you'll have to beat that. :)
> 
> Regards,
> 
> Martijn
> 
> _______________________________________________
> Grok-dev mailing list
> Grok-dev at zope.org
> http://mail.zope.org/mailman/listinfo/grok-dev



More information about the Grok-dev mailing list