[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