[Zope-dev] Re: pinning, nailing and kgs'ing
Martijn Faassen
faassen at startifact.com
Tue Feb 5 13:38:56 EST 2008
Hey,
Kevin Teague wrote:
> And it would also be really nice
> if the Grok terminology and release methods lined up with the Zope 3
> terminology and release methods :)
Grok got there first, then KGS came along and did a lot of stuff. The
reason Grok's story is not the same as the one in KGS is that we haven't
caught up with the new stuff yet. We of course reserve the right to
simplify it for our purposes. :) What seems most useful about KGS is
that it tests versions of eggs together and publishes a list of those
versions that are known to work together.
The Grok process is fairly simple:
* when we release grok, we also release a versions.cfg on
grok.zope.org/releaseinfo. We name it after the new release of Grok, and
don't ever change it anymore.
* we also update a special URL that grokproject makes use of to
determine the last release of Grok. This way a newly created grokproject
automatically gets configured to use the right releaseinfo URL
* grokproject then pins those versions in buildout.cfg using the
'versions = versions' and 'extends =
http://grok.zope.org/releaseinfo/some-release-versions.cfg' lines in
[buildout].
We don't have any special index servers or anything. Right now we point
to PyPI and download.zope.org/distribution; the latter will likely
eventually go away as all eggs are properly on the cheeseshop.
We do have some issues concerning development, which I think you ran
into by looking at the viewlet branch. We can probably simplify the
branch by now as we did release a new version of Martian that has the
required changes.
We intend to try to go with KGS's list of packages. We need to test that
and determine the best way to reuse that list. I don't think we'll do
much else for now - Grok's process works fairly well for us.
One thing that we should eventually improve is to allow grokproject and
Grok buildouts to work offline. Right now buildout.cfg refers to a URL
in the 'extends' line which breaks things. Another thing I'd like us to
experiment with is to offer a one-tarball download of Grok, possibly in
combination with a frozen repository which contains all Grok
dependencies for a particular release. On the longer term I am still
curious about experimenting with getting the "these versions of my
dependencies are tested to work" information into the eggs themselves
somehow.
Regards,
Martijn
More information about the Zope-Dev
mailing list