[Zope-dev] Re: pinning, nailing and kgs'ing
Tres Seaver
tseaver at palladion.com
Sun Feb 3 14:23:50 EST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Kevin Teague wrote:
> I wanted to try using the snowsprint-viewlets2 branch of grok in my
> project the other day. It took me a little time to figure out how to
> do this, so I thought it'd be nice if there was a bit of documentation
> on how-to pull in a development version of Grok into a grok project,
> so I wrote this:
>
> http://grok.zope.org/documentation/how-to/trail-blazing
>
> (I've configured the Grok site to allow OpenId for authentication, and
> granted the View and Reply to Item permissions to documentation that
> is in the "Waiting for Review" state, which means you need to log-in
> to see the document, but that anyone can log-in, which seems like a
> decent compromise for unreviewed documentation on the Grok site which
> is potentially incorrect.)
>
> The part where I was fuzzy in the documentation process was the
> terminology for Known Good Sets. There are Grok releases such as "Grok
> 0.11" which has been called "pinned versions" (or "nailed versions")
> and when writting my help doc I've been calling this a "Known Good
> Set". I would propose this definition for Known Good Set:
>
> Known Good Set : A frozen set of Python egg names and version
> numbers that have been tested to work together. This set of eggs is
> also available from an archive maintained by the publisher of the
> known good set.
>
> For Grok this would be:
>
> http://grok.zope.org/releaseinfo/grok-0.11.cfg
>
> and the eggs are archived at:
>
> http://download.zope.org/distribution/
>
> (at least that's my understanding of the Grok releases, maybe I don't
> have that quite right ... )
You have one of the tow (disputed) definitions right (and I agree with you).
> However, the Zope 3.4 release announcement varies a bit from my
> understanding of Grok-centric understanding of Known Good Set:
>
> "The known good set -- or in short KGS -- is a package index that
> derives from the official Python Package Index (PyPI) and thus
> contains all available packages in the Python world. But for a
> controlled set of packages, only certain versions that are known to
> work together are available. "
>
> This is the part that seems a bit confusing to me, since it's not
> clear if the "set" also includes the super-set of packages from PyPI.
> It's also not clear if the super-set of all PyPI packages is also a
> continually updated mirror, or a frozen index. Or is the known good
> set just the controlled set of packages?
Agreed: the'package index he refers to is a mirror of PyPI, with the
exception that packages tracked by the KGS have those versions, rather
than whatever is in PyPI. The rationale (which I disagree with) is that
people want to use an index, but aren't willing to switch indexes when
installing a package not tracked by the KGS.
I have argued fairly strongly in the past that this is a bad idea, since
there is no possiblity that the indexed packages are "known good".
> It's also not entirely clear
> on how maintenance releases happen with Zope 3.4 from this, e.g. one
> could interpret the contents of the versions.cfg URL as either
> "frozen" (Zope 3.4.0-final) or "latest". For maintenance releases
> would there be:
>
> http://download.zope.org/zope3.4/versions.cfg
I would argue that this page shouldn't exist yet, because 3.4 final has
not yet been released. It shod be something like:
http://download.zope.org/zope3.4.0c1/versions.cfg
> http://download.zope.org/zope3.4.1/versions.cfg
> http://download.zope.org/zope3.4.2/versions.cfg
Those pages don't exist yet, because there are no releases later than 3.4.0.
> Or if this URL will always contain the latest stable packages in the
> 3.4 series then perhaps this should be more explicit with an URL such
> as:
>
> http://download.zope.org/zope3.4/current-versions.cfg
+1: if they represent a set which is changing over time, then they
should be named in a way that represents that: otherwise, people may
expect repeatable results when using the page.
> Shouldn't there also be URLs such as these?
>
> http://download.zope.org/zope3.4/3.4.0c1-versions.cfg
> http://download.zope.org/zope3.4/3.4.0-versions.cfg
> http://download.zope.org/zope3.4/3.4.1-versions.cfg
Something like that. ;)
> It should also be more explicit what "controlled" means. It seems like
> this is the same set of packages and versions and versions.cfg except
> that it also contains versions of previous packages? Is this a
> continually updated set of the most current versions of all packages
> that make up the Zope 3.4 series after all test suites pass?
>
> http://download.zope.org/zope3.4/controlled-packages.cfg
I don't nnow what that page means, exaclty.
> Too me it seems easier to understand if there are two URLs in
> buildout's find-links setting. e.g. for Plone there is a link to a
> controlled archive of Plone produced packages, then there is a link to
> PyPI (well the PPIX mirror actually), which makes it more obvious that
> there is a Zope managed archive of packages, and then there is the
> wide, wooly world of all Python packages:
>
> find-links =
> http://dist.plone.org
> http://download.zope.org/ppix/
>
> Anyways, I hope I don't sound too complain-y, but it would be much
> appreciated if the terminology and plan for maintaining the Zope 3.4
> release series was made a bit clearer. And it would also be really
> nice if the Grok terminology and release methods lined up with the
> Zope 3 terminology and release methods :)
+1. I think we are going to find that projects need to maintain their
own private indexes, just for the sake of sanity / repeatability. I've
done a litte work on building package indexes based on the packages
which are actually available to 'pkg_resources':
http://svn.repoze.org/compoze/trunk/README.txt
http://dist.repoze.org/compoze-0.2.tar.gz
I think that will work from a buildout-driven setup, as long as you hack
PYTHONPATH the 'compoze' script in the same way buildout hacks all the
other scripts (I normally use a virtualenv, which means I don't need to
worry about munging the path in each script).
Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFHphTF+gerLs4ltQ4RAq3GAJ4qVR57Lq5ZJSite7gvrvIOOi2w2ACggHav
6rlYi4vJDGqKQ2lY+o2Ht1Q=
=UG8P
-----END PGP SIGNATURE-----
More information about the Zope-Dev
mailing list