install_requires=[]
def require_python_version():
- import sys
+ import sys, platform
- # we require 2.4.4 on non-UCS-2 builds to avoid <http://www.python.org/news/security/PSF-2006-001/>
+ # we require 2.4.4 on non-UCS-2, non-Redhat builds to avoid <http://www.python.org/news/security/PSF-2006-001/>
+ # we require 2.4.3 on non-UCS-2 Redhat, because 2.4.3 is common on Redhat-based distros and will have patched the above bug
# we require at least 2.4.2 in any case to avoid a bug in the base64 module: <http://bugs.python.org/issue1171487>
if sys.maxunicode == 65535:
if sys.version_info < (2, 4, 2) or sys.version_info[0] > 2:
- raise NotImplementedError("Tahoe-LAFS current requires Python v2.4.2 or greater for a UCS-2 build (but less than v3), not %r" %
+ raise NotImplementedError("Tahoe-LAFS current requires Python v2.4.2 or greater "
+ "for a UCS-2 build (but less than v3), not %r" %
+ (sys.version_info,))
+ elif platform.platform().lower().find('redhat') >= 0:
+ if sys.version_info < (2, 4, 3) or sys.version_info[0] > 2:
+ raise NotImplementedError("Tahoe-LAFS current requires Python v2.4.3 or greater "
+ "on Redhat-based distributions (but less than v3), not %r" %
(sys.version_info,))
else:
if sys.version_info < (2, 4, 4) or sys.version_info[0] > 2:
- raise NotImplementedError("Tahoe-LAFS current requires Python v2.4.4 or greater for a non-UCS-2 build (but less than v3), not %r" %
+ raise NotImplementedError("Tahoe-LAFS current requires Python v2.4.4 or greater "
+ "for a non-UCS-2 build (but less than v3), not %r" %
(sys.version_info,))
def require_auto_deps():