Comment 3 for bug 811792

Revision history for this message
Zooko Wilcox-O'Hearn (zooko) wrote :

Hi Tres Seaver: thanks for looking into this.

The Tahoe-LAFS project has a new stable release scheduled to come out soon, and this issue is causing problems for our users. Even though this isn't "zope.interface's fault" exactly, it is a problem that our users have if they have zope.interface 3.6.4 and they don't have the problem if they have an older version of zope.interface. At the moment Tahoe-LAFS has a work-around in our dependency specification by saying "Tahoe-LAFS requires zope.interface 3.3.1, 3.5.3, or 3.6.1":

http://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/src/allmydata/_auto_deps.py?annotate=blame&rev=5082

This has already proven problematic for a user (actually a developer) who had zope.interface 3.5.1 and was on a train when they discovered that our build system rejected it. Also it is really unsatisfying because as soon as a new version of Nevow comes out (let's assume it will be numbered 0.11.0), then we would like for users to be able to run with any version of zope.interface as long as they have Nevow >= 0.11.0. (Or, it would be okay if they ran with any version of Nevow as long as they had zope.interface < 3.6.4, but there's no way to express that alternative constraint in the Python dependency language).

Anyway, I was wondering if you had any ideas about how to work-around this problem in zope.interface. If you released a new zope.interface (let's assume it will be numbered 3.6.5) then a user would be able to get past this problem by upgrading zope.interface. This would be another way for them to get unstuck, in addition to the currently available way (downgrade zope.interface) and the hopefully imminent way (upgrade Nevow to >= 0.11.0).

Thanks!