def get_package_versions_and_locations():
import warnings
from _auto_deps import package_imports, global_deprecation_messages, deprecation_messages, \
- user_warning_messages, runtime_warning_messages, warning_imports
+ runtime_warning_messages, warning_imports
def package_dir(srcfile):
return os.path.dirname(os.path.dirname(os.path.normcase(os.path.realpath(srcfile))))
# or any other bug that causes sys.path to be set up incorrectly. Therefore we
# must import the packages in order to check their versions and paths.
- # This is to suppress various DeprecationWarnings, UserWarnings, and RuntimeWarnings
+ # This is to suppress all UserWarnings and various DeprecationWarnings and RuntimeWarnings
# (listed in _auto_deps.py).
+ warnings.filterwarnings("ignore", category=UserWarning, append=True)
+
for msg in global_deprecation_messages + deprecation_messages:
warnings.filterwarnings("ignore", category=DeprecationWarning, message=msg, append=True)
- for msg in user_warning_messages:
- warnings.filterwarnings("ignore", category=UserWarning, message=msg, append=True)
for msg in runtime_warning_messages:
warnings.filterwarnings("ignore", category=RuntimeWarning, message=msg, append=True)
try:
except ImportError:
pass
finally:
- # Leave suppressions for global_deprecation_messages active.
- for ign in runtime_warning_messages + user_warning_messages + deprecation_messages:
+ # Leave suppressions for UserWarnings and global_deprecation_messages active.
+ for ign in runtime_warning_messages + deprecation_messages:
warnings.filters.pop()
packages = []
# * The SFTP frontend depends on Twisted 11.0.0 to fix the SSH server
# rekeying bug http://twistedmatrix.com/trac/ticket/4395
#
+ # service-identity is necessary for Twisted and pyOpenSSL to be able to
+ # verify PKI certificates.
+ #
"Twisted >= 11.0.0",
+ "service-identity",
# * foolscap < 0.5.1 had a performance bug which spent O(N**2) CPU for
# transferring large mutable files of size N.
# Includes some indirect dependencies, but does not include allmydata.
# These are in the order they should be listed by --version, etc.
package_imports = [
- # package name module name
- ('foolscap', 'foolscap'),
- ('pycryptopp', 'pycryptopp'),
- ('zfec', 'zfec'),
- ('Twisted', 'twisted'),
- ('Nevow', 'nevow'),
- ('zope.interface', 'zope.interface'),
- ('python', None),
- ('platform', None),
- ('pyOpenSSL', 'OpenSSL'),
- ('simplejson', 'simplejson'),
- ('pycrypto', 'Crypto'),
- ('pyasn1', 'pyasn1'),
- ('mock', 'mock'),
+ # package name module name
+ ('foolscap', 'foolscap'),
+ ('pycryptopp', 'pycryptopp'),
+ ('zfec', 'zfec'),
+ ('Twisted', 'twisted'),
+ ('Nevow', 'nevow'),
+ ('zope.interface', 'zope.interface'),
+ ('python', None),
+ ('platform', None),
+ ('pyOpenSSL', 'OpenSSL'),
+ ('simplejson', 'simplejson'),
+ ('pycrypto', 'Crypto'),
+ ('pyasn1', 'pyasn1'),
+ ('mock', 'mock'),
+ ('service-identity', 'service_identity')
]
def require_more():
"the sets module is deprecated",
]
-user_warning_messages = [
- "Hashing uninitialized InterfaceClass instance",
- "Reliable disconnection notification requires pywin32 215 or later",
- 'You do not have the service_identity module installed. Please install it from <https://pypi.python.org/pypi/service_identity>. Without the service_identity module and a recent enough pyOpenSSL tosupport it, Twisted can perform only rudimentary TLS client hostnameverification. Many valid certificate/hostname mappings may be rejected.',
-]
-
runtime_warning_messages = [
"Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.",
]