Changeset 69bd49f in trunk


Ignore:
Timestamp:
2012-06-24T19:10:24Z (13 years ago)
Author:
Brian Warner <warner@…>
Branches:
master
Children:
2ed6b676
Parents:
1b4474d
Message:

_auto_deps: bump foolscap to >=0.6.3 to tolerate twisted-12.0.0

The current Twisted release is 12.1.0, which (like 12.0.0 before it)
isn't compatible with foolscap-0.6.2 and earlier. We previously required
foolscap>=0.6.1, since that's all we actually need from foolscap itself.
_auto_deps specifies twisted>=11.0.0, so any system that can't meet that
will install the current Twisted (12.1.0), which will give them
something incompatible with foolscap-0.6.1 and 0.6.2 .

If we're limited to setuptools's declarative constraint language (and
can't have a function which evaluates the available dependency versions
and gives recommendations on which to change), then the only safe
approach is to make sure that any acceptable Foolscap version will be
compatible with all acceptable Twisted versions. So, bump the foolscap
dependency to >=0.6.3, which covers all currently-known
incompatibilities.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/allmydata/_auto_deps.py

    r1b4474d r69bd49f  
    1818    "zope.interface <= 3.6.2, >= 3.6.5",
    1919
    20     # On Windows we need at least Twisted 9.0 to avoid an indirect dependency on pywin32.
    21     # On Linux we need at least Twisted 10.1.0 for inotify support used by the drop-upload
    22     # frontend.
    23     # We also need Twisted 10.1 for the FTP frontend in order for Twisted's FTP server to
    24     # support asynchronous close.
    25     # When the cloud backend lands, it will depend on Twisted 10.2.0 which includes the fix to
    26     # https://twistedmatrix.com/trac/ticket/411
    27     # The SFTP frontend depends on Twisted 11.0.0 to fix the SSH server rekeying bug
    28     # http://twistedmatrix.com/trac/ticket/4395
     20    # * On Windows we need at least Twisted 9.0 to avoid an indirect
     21    #   dependency on pywin32.
     22    # * On Linux we need at least Twisted 10.1.0 for inotify support used by
     23    #   the drop-upload frontend.
     24    # * We also need Twisted 10.1 for the FTP frontend in order for Twisted's
     25    #   FTP server to support asynchronous close.
     26    # * When the cloud backend lands, it will depend on Twisted 10.2.0 which
     27    #   includes the fix to https://twistedmatrix.com/trac/ticket/411
     28    # * The SFTP frontend depends on Twisted 11.0.0 to fix the SSH server
     29    #   rekeying bug http://twistedmatrix.com/trac/ticket/4395
     30    #
    2931    "Twisted >= 11.0.0",
    3032
    31     # foolscap < 0.5.1 had a performance bug which spent
    32     # O(N**2) CPU for transferring large mutable files
    33     # of size N.
    34     # foolscap < 0.6 is incompatible with Twisted 10.2.0.
    35     # foolscap 0.6.1 quiets a DeprecationWarning.
    36     # pyOpenSSL is required by foolscap for it (foolscap) to provide secure
    37     # connections. Foolscap doesn't reliably declare this dependency in a
    38     # machine-readable way, so we need to declare a dependency on pyOpenSSL
    39     # ourselves. Tahoe-LAFS doesn't *really* depend directly on pyOpenSSL,
    40     # so if something changes in the relationship between foolscap and
    41     # pyOpenSSL, such as foolscap requiring a specific version of pyOpenSSL,
    42     # or foolscap switching from pyOpenSSL to a different crypto library, we
    43     # need to update this declaration here.
    44     "foolscap >= 0.6.1",
     33    # * foolscap < 0.5.1 had a performance bug which spent O(N**2) CPU for
     34    #   transferring large mutable files of size N.
     35    # * foolscap < 0.6 is incompatible with Twisted 10.2.0.
     36    # * foolscap 0.6.1 quiets a DeprecationWarning.
     37    # * foolscap < 0.6.3 is incompatible with Twisted-11.1.0 and newer. Since
     38    #   current Twisted is 12.0, any build which needs twisted will grab a
     39    #   version that requires foolscap>=0.6.3
     40    # * pyOpenSSL is required by foolscap for it (foolscap) to provide secure
     41    #   connections. Foolscap doesn't reliably declare this dependency in a
     42    #   machine-readable way, so we need to declare a dependency on pyOpenSSL
     43    #   ourselves. Tahoe-LAFS doesn't *really* depend directly on pyOpenSSL,
     44    #   so if something changes in the relationship between foolscap and
     45    #   pyOpenSSL, such as foolscap requiring a specific version of
     46    #   pyOpenSSL, or foolscap switching from pyOpenSSL to a different crypto
     47    #   library, we need to update this declaration here.
     48    #
     49    "foolscap >= 0.6.3",
    4550    "pyOpenSSL",
    4651
Note: See TracChangeset for help on using the changeset viewer.