]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
Update the dependency on zope.interface to fix an incompatiblity between Nevow and...
authordavid-sarah <david-sarah@jacaranda.org>
Thu, 21 Jul 2011 23:49:41 +0000 (16:49 -0700)
committerdavid-sarah <david-sarah@jacaranda.org>
Thu, 21 Jul 2011 23:49:41 +0000 (16:49 -0700)
NEWS.rst
setup.py
src/allmydata/_auto_deps.py

index 873d06c473e6d5e23ba45eec11bae77847804fb5..387bd5b295150a98debd7985cb56b9d430195806 100644 (file)
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -15,6 +15,9 @@ Release 1.9.0 (2011-??-??)
 Compatibility and Dependencies
 ''''''''''''''''''''''''''''''
 
+- An incompatibility of zope.interface version 3.6.4 with Nevow has
+  been resolved. Tahoe-LAFS now requires one of the exact versions
+  v3.3.1, v3.5.3, or v3.6.1 of zope.interface. (`#1435`_)
 - The Twisted dependency has been raised to version 10.1. This ensures
   that we no longer require pywin32 on Windows, and that it is never
   necessary to patch Twisted in order to use the FTP frontend.
@@ -23,6 +26,7 @@ Compatibility and Dependencies
 .. _`#1274`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1274
 .. _`#1392`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1392
 .. _`#1409`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1409
+.. _`#1435`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1435
 .. _`#1438`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1438
 
 
index 09638d19470e6e4235fc4c463268e9bdd7226cc2..dcd2c34e335bac8e2d0e2d247f1bd9544e958b54 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -135,14 +135,20 @@ setup_requires = []
 # http://pypi.python.org/pypi/darcsver
 setup_requires.append('darcsver >= 1.7.2')
 
-# Nevow requires Twisted to setup, but prior to Nevow v0.9.33, didn't
-# declare that requirement in a way that enables setuptools to satisfy
-# the requirement before Nevow's setup.py tries to "import twisted".
-# This only matters when Twisted is not already installed.
-# See http://divmod.org/trac/ticket/2629
-# Retire this hack when
+# Nevow imports itself when building, which causes Twisted and zope.interface
+# to be imported. We need to make sure that the versions of Twisted and
+# zope.interface used at build time satisfy Nevow's requirements. If not
+# then there are two problems:
+#  - prior to Nevow v0.9.33, Nevow didn't declare its dependency on Twisted
+#    in a way that enabled setuptools to satisfy that requirement at
+#    build time.
+#  - some versions of zope.interface, e.g. v3.6.4, are incompatible with
+#    Nevow, and we need to avoid those both at build and run-time.
+#
+# This only matters when compatible versions of Twisted and zope.interface
+# are not already installed. Retire this hack when
 # https://bugs.launchpad.net/nevow/+bug/812537 has been fixed.
-setup_requires += [req for req in install_requires if req.startswith('Twisted')]
+setup_requires += [req for req in install_requires if req.startswith('Twisted') or req.startswith('zope.interface')]
 
 # setuptools_darcs is required to produce complete distributions (such
 # as with "sdist" or "bdist_egg"), unless there is a
index c479985c6070be7356d830968d044187cf31b52a..f2e29d30daa74c0e91f0a13fd7db6908a55d6e7d 100644 (file)
@@ -14,7 +14,9 @@ install_requires = [
     # Feisty has simplejson 1.4
     "simplejson >= 1.4",
 
-    "zope.interface",
+    # zope.interface 3.6.4 is incompatible with Nevow.
+    # These are the versions packaged in major versions of Debian or Ubuntu, or in pkgsrc.
+    "zope.interface == 3.3.1, == 3.5.3, == 3.6.1",
 
     # On Windows we need at least Twisted 9.0 to avoid an indirect dependency on pywin32.
     # We also need Twisted 10.1 for the FTP frontend in order for Twisted's FTP server to