From bb37a0b5bc688b3deb269d2a70c4c8f04d425c04 Mon Sep 17 00:00:00 2001
From: Daira Hopwood <daira@jacaranda.org>
Date: Thu, 5 Sep 2013 19:15:06 +0100
Subject: [PATCH] Tue Jul  3 18:00:14 BST 2012  david-sarah@jacaranda.org   *
 [1.9.2 branch] _auto_deps: bump foolscap to >=0.6.3 to tolerate twisted
 >=11.1.0. refs #1788

---
 NEWS.rst                    |  7 +++++++
 src/allmydata/_auto_deps.py | 31 +++++++++++++++++--------------
 2 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/NEWS.rst b/NEWS.rst
index c206ae00..661cf9bc 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -37,6 +37,12 @@ Packaging Changes
 
 - Tahoe-LAFS can be built correctly from a git repository as well as
   from darcs.
+
+Compatibility and Dependencies
+''''''''''''''''''''''''''''''
+
+- foolscap >= 0.6.3 is required, in order to make Tahoe-LAFS compatible
+  with Twisted >= 11.1.0. (`#1788`_)
 - Versions 2.0.1 and 2.4 of PyCrypto are excluded. (`#1631`_, `#1574`_)
 
 .. _`#680`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/680
@@ -55,6 +61,7 @@ Packaging Changes
 .. _`#1689`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1689
 .. _`#1725`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1725
 .. _`#1749`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1749
+.. _`#1788`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1788
 
 
 Release 1.9.1 (2012-01-12)
diff --git a/src/allmydata/_auto_deps.py b/src/allmydata/_auto_deps.py
index d98e24f5..923c462c 100644
--- a/src/allmydata/_auto_deps.py
+++ b/src/allmydata/_auto_deps.py
@@ -24,20 +24,23 @@ install_requires = [
     # support asynchronous close.
     "Twisted >= 10.1.0",
 
-    # foolscap < 0.5.1 had a performance bug which spent
-    # O(N**2) CPU for transferring large mutable files
-    # of size N.
-    # foolscap < 0.6 is incompatible with Twisted 10.2.0.
-    # foolscap 0.6.1 quiets a DeprecationWarning.
-    # pyOpenSSL is required by foolscap for it (foolscap) to provide secure
-    # connections. Foolscap doesn't reliably declare this dependency in a
-    # machine-readable way, so we need to declare a dependency on pyOpenSSL
-    # ourselves. Tahoe-LAFS doesn't *really* depend directly on pyOpenSSL,
-    # so if something changes in the relationship between foolscap and
-    # pyOpenSSL, such as foolscap requiring a specific version of pyOpenSSL,
-    # or foolscap switching from pyOpenSSL to a different crypto library, we
-    # need to update this declaration here.
-    "foolscap >= 0.6.1",
+    # * foolscap < 0.5.1 had a performance bug which spent O(N**2) CPU for
+    #   transferring large mutable files of size N.
+    # * foolscap < 0.6 is incompatible with Twisted 10.2.0.
+    # * foolscap 0.6.1 quiets a DeprecationWarning.
+    # * foolscap < 0.6.3 is incompatible with Twisted-11.1.0 and newer. Since
+    #   current Twisted is 12.0, any build which needs twisted will grab a
+    #   version that requires foolscap>=0.6.3
+    # * pyOpenSSL is required by foolscap for it (foolscap) to provide secure
+    #   connections. Foolscap doesn't reliably declare this dependency in a
+    #   machine-readable way, so we need to declare a dependency on pyOpenSSL
+    #   ourselves. Tahoe-LAFS doesn't *really* depend directly on pyOpenSSL,
+    #   so if something changes in the relationship between foolscap and
+    #   pyOpenSSL, such as foolscap requiring a specific version of
+    #   pyOpenSSL, or foolscap switching from pyOpenSSL to a different crypto
+    #   library, we need to update this declaration here.
+    #
+    "foolscap >= 0.6.3",
     "pyOpenSSL",
 
     "Nevow >= 0.6.0",
-- 
2.45.2