2013/4/25 Marius Gedminas <marius@gedmin.as>:
On Thu, Apr 25, 2013 at 09:49:28AM -0400, Tres Seaver wrote:
On 04/25/2013 04:36 AM, Marius Gedminas wrote:
So latest stable ZODB3 (3.10.5) is incompatible with the two latest stable persistent releases (4.0.5 and 4.0.6).
What should we do? Release ZODB3 3.10.6 with a backport of these patches?
ZODB 3.10 bundles its own version of persistent: the standalone one shouldn't be used at all if ZODB 3.10 is in play.
Yet somehow we're getting both in a z3c.contents buildout. Note that z3c.contents doesn't directly require either one.
It looks like we're getting persistent via BTrees 4.0.5, and we're getting BTrees via zope.annotation 4.2.0, and we're getting zope.annotation via zope.copypastemove 3.8.0, which is a direct requirement of z3c.contents.
Are BTrees bundled with ZODB3 as well? (Yes.)
Can setuptools dependencies express complicated Debian-package-like concepts like "ZODB3 provides BTrees, persistent" and "ZODB3 conflicts with BTrees, persistent"?
Are there other ways of avoiding a flag day? I don't think we can reasonably require that no final-version PyPI package may depend on BTrees or persistent until ZODB 4.0.0 final is finally out.
I have removed some deprecated ftest dependencies like zope.app.securitypolicy that pulls in the whole Zope 3. Tests passed. Then I pinned some versions until nothing required ZODB3 any more. Let's see how winbot likes it. -- Gediminas