[Zope-dev] zc.buildout template recipes: concerns with [z3c|collective].recipe.template and other issues

Gary Poster gary.poster at gmail.com
Fri Apr 24 15:22:52 EDT 2009


I'm concerned about the state of the zc.buildout template recipes.  I  
want one.  I want some one-off files, specific to a certain project,  
for which writing a standalone recipe feels very heavy.

Here are the template recipes I found:

collective.recipe.template (Wichert Akkerman)
iw.recipe.template (Ingeniweb)
inquant.recipe.textfile (Stefan Eletzhofer)
z3c.recipe.template (Uli Fouquet)
buildout_script (Nathan Yergler)
z3c.recipe.filetemplate (Philipp von Weitershausen)

First, on the basis of this list, it strikes me that a lot of people  
want this functionality.  Putting template support into zc.buildout  
itself would be nice.  I envision some APIs (like the ones in  
easy_install.py that zc.recipe.egg uses) that other recipes could use  
easily.  I would even want recipes like the zc.recipe.egg script  
recipe to allow specifying initialization code by identifying a  
template (i.e., ``initialization_template = buildout_templates/foo``,  
which would parse the given template and insert the code the same way  
the ``initialization`` parameter works).

Second, there's no clear winner at the moment.  I happened to find  
z3c.recipe.template, buildout_script, and z3c.recipe.filetemplate  
first.  On the basis of those three, and the comments that  
z3c.recipe.template made about collective.recipe.template,  
iw.recipe.template, and inquant.recipe.textfile, I decided to settle  
on z3c.recipe.template to be the package to which I would contribute.   
It has tests, a variable substitution approach that seems to work well  
with buildout, and recent development activity.

However, on starting to hack on its documentation to sketch the  
changes I wanted, I gradually realized that this was a fork of  
collective.recipe.template.  Since collective.recipe.template is  
listed as BSD in setup.py (though I saw no explicit licensing  
otherwise), placing z3c.recipe.template in the zope.org ZPL-only  
repository is problematic.

Since I don't find the prospect of creating yet another template  
recipe attractive, and Philipp's z3c.recipe.filetemplate looks like it  
can take my new features while maintaining backwards compatibility,  
I'll try that next, I suppose.

But meanwhile, I'm concerned about the state of z3c.recipe.template.   
IMO, Uli and Wichert should try to reconcile the licensing and forking  
issues (with Uli taking the lead in those discussions, ideally, since  
he is the one who forked).  z3c.recipe.template should be removed from  
the zope.org repository, unless/until the licensing story is cleaned up.

And maybe we can start to settle on a common template approach soon.   
This should be a problem that is solved for buildout canonically,  
IMO.  I'll be happy to try and see if my features are generally  
interesting, once I make them.

(Note: I could write about this on the distutils list but I'm not  
already subscribed there, and I suspect I have a better chance of  
catching some authors of the pertinent recipes over here, and some of  
this is about the zope.org repo.)

Gary


More information about the Zope-Dev mailing list