]> granicus.if.org Git - python/commitdiff
Split ``get_platform()`` into ``get_supported_platform()`` and
authorPhillip J. Eby <pje@telecommunity.com>
Tue, 18 Apr 2006 15:30:05 +0000 (15:30 +0000)
committerPhillip J. Eby <pje@telecommunity.com>
Tue, 18 Apr 2006 15:30:05 +0000 (15:30 +0000)
``get_build_platform()`` to work around a Mac versioning problem that caused
the behavior of ``compatible_platforms()`` to be platform specific.

Lib/pkg_resources.py
Lib/setuptools.egg-info/PKG-INFO
Lib/setuptools/command/bdist_egg.py

index 85747f69c8f212e8f06bb3db21253025c5e32571..9db11d8445121cb1ec76fa40d129b87c22b39775 100644 (file)
@@ -18,7 +18,7 @@ from sets import ImmutableSet
 from os import utime, rename, unlink    # capture these to bypass sandboxing
 from os import open as os_open
 
-def _get_max_platform(plat):
+def get_supported_platform():
     """Return this platform's maximum compatible version.
 
     distutils.util.get_platform() normally reports the minimum version
@@ -31,7 +31,7 @@ def _get_max_platform(plat):
     If this condition occurs for any other platform with a version in its
     platform strings, this function should be extended accordingly.
     """
-    m = macosVersionString.match(plat)
+    plat = get_build_platform(); m = macosVersionString.match(plat)
     if m is not None and sys.platform == "darwin":
         try:
             plat = 'macosx-%s-%s' % ('.'.join(_macosx_vers()[:2]), m.group(3))
@@ -138,7 +138,7 @@ def _macosx_vers(_cache=[]):
 def _macosx_arch(machine):
     return {'PowerPC':'ppc', 'Power_Macintosh':'ppc'}.get(machine,machine)
 
-def get_platform():
+def get_build_platform():
     """Return this platform's string for platform-specific distributions
 
     XXX Currently this is the same as ``distutils.util.get_platform()``, but it
@@ -160,7 +160,7 @@ def get_platform():
 
 macosVersionString = re.compile(r"macosx-(\d+)\.(\d+)-(.*)")
 darwinVersionString = re.compile(r"darwin-(\d+)\.(\d+)\.(\d+)-(.*)")
-
+get_platform = get_build_platform   # XXX backward compat
 
 def compatible_platforms(provided,required):
     """Can code for the `provided` platform run on the `required` platform?
@@ -171,8 +171,6 @@ def compatible_platforms(provided,required):
     """
     if provided is None or required is None or provided==required:
         return True     # easy case
-    provided = _get_max_platform(provided)
-    if provided==required: return True
 
     # Mac OS X special cases
     reqMac = macosVersionString.match(required)
@@ -203,6 +201,8 @@ def compatible_platforms(provided,required):
             provMac.group(3) != reqMac.group(3):
             return False
 
+
+
         # is the required OS major update >= the provided one?
         if int(provMac.group(2)) > int(reqMac.group(2)):
             return False
@@ -616,7 +616,7 @@ class WorkingSet(object):
 class Environment(object):
     """Searchable snapshot of distributions on a search path"""
 
-    def __init__(self,search_path=None,platform=get_platform(),python=PY_MAJOR):
+    def __init__(self, search_path=None, platform=get_supported_platform(), python=PY_MAJOR):
         """Snapshot distributions available on a search path
 
         Any distributions found on `search_path` are added to the environment.
index 5da6b2e5b088edb24fea979e9594f2803c8b1211..ff5c1a1dbd79435c9e035524e0f46d99691d4788 100644 (file)
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: setuptools
-Version: 0.7a1dev-r45521
+Version: 0.7a1dev-r45536
 Summary: Download, build, install, upgrade, and uninstall Python packages -- easily!
 Home-page: http://peak.telecommunity.com/DevCenter/setuptools
 Author: Phillip J. Eby
index d571ac80cf42c63e3fb1594b5c8a765e70428236..74f2d426b2f2bccb118cee80d3c5223381b596b9 100644 (file)
@@ -8,7 +8,7 @@ from setuptools import Command
 from distutils.dir_util import remove_tree, mkpath
 from distutils.sysconfig import get_python_version, get_python_lib
 from distutils import log
-from pkg_resources import get_platform, Distribution
+from pkg_resources import get_build_platform, Distribution
 from types import CodeType
 from setuptools.extension import Library
 
@@ -48,7 +48,7 @@ class bdist_egg(Command):
             "temporary directory for creating the distribution"),
         ('plat-name=', 'p',
                      "platform name to embed in generated filenames "
-                     "(default: %s)" % get_platform()),
+                     "(default: %s)" % get_build_platform()),
         ('exclude-source-files', None,
                      "remove all .py files from the generated egg"),
         ('keep-temp', 'k',
@@ -99,7 +99,7 @@ class bdist_egg(Command):
             self.bdist_dir = os.path.join(bdist_base, 'egg')
 
         if self.plat_name is None:
-            self.plat_name = get_platform()
+            self.plat_name = get_build_platform()
 
         self.set_undefined_options('bdist',('dist_dir', 'dist_dir'))