_auto_deps.py: allow Python 2.4.3 on Redhat-based distributions.
authordavid-sarah <david-sarah@jacaranda.org>
Wed, 9 Jun 2010 00:36:46 +0000 (17:36 -0700)
committerdavid-sarah <david-sarah@jacaranda.org>
Wed, 9 Jun 2010 00:36:46 +0000 (17:36 -0700)
_auto_deps.py

index dfa8d7b3a0439ff7c96e1e99864827ffc3475500..aabda81600fec6722e6b347320c84ee434ea3aed 100644 (file)
@@ -66,17 +66,25 @@ if hasattr(sys, 'frozen'): # for py2exe
     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():