[Python-checkins] r72379 - in python/branches/py3k: Lib/distutils/command/build_clib.py Lib/distutils/tests/test_build_clib.py Misc/NEWS

tarek.ziade python-checkins at python.org
Wed May 6 09:26:24 CEST 2009


Author: tarek.ziade
Date: Wed May  6 09:26:24 2009
New Revision: 72379

Log:
Fixed #5940: distutils.command.build_clib.check_library_list is doing the right checkings again

Added:
   python/branches/py3k/Lib/distutils/tests/test_build_clib.py
      - copied unchanged from r72377, /python/trunk/Lib/distutils/tests/test_build_clib.py
Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/distutils/command/build_clib.py
   python/branches/py3k/Misc/NEWS

Modified: python/branches/py3k/Lib/distutils/command/build_clib.py
==============================================================================
--- python/branches/py3k/Lib/distutils/command/build_clib.py	(original)
+++ python/branches/py3k/Lib/distutils/command/build_clib.py	Wed May  6 09:26:24 2009
@@ -118,13 +118,15 @@
 
 
     def check_library_list(self, libraries):
-        """Ensure that the list of libraries (presumably provided as a
-           command option 'libraries') is valid, i.e. it is a list of
-           2-tuples, where the tuples are (library_name, build_info_dict).
-           Raise DistutilsSetupError if the structure is invalid anywhere;
-           just returns otherwise."""
-        # Yechh, blecch, ackk: this is ripped straight out of build_ext.py,
-        # with only names changed to protect the innocent!
+        """Ensure that the list of libraries is valid.
+
+        `library` is presumably provided as a command option 'libraries'.
+        This method checks that it is a list of 2-tuples, where the tuples
+        are (library_name, build_info_dict).
+
+        Raise DistutilsSetupError if the structure is invalid anywhere;
+        just returns otherwise.
+        """
         if not isinstance(libraries, list):
             raise DistutilsSetupError(
                   "'libraries' option must be a list of tuples")
@@ -134,15 +136,18 @@
                 raise DistutilsSetupError(
                       "each element of 'libraries' must a 2-tuple")
 
-            if isinstance(lib[0], str):
+            name, build_info = lib
+
+            if not isinstance(name, str):
                 raise DistutilsSetupError(
                       "first element of each tuple in 'libraries' "
                       "must be a string (the library name)")
-            if '/' in lib[0] or (os.sep != '/' and os.sep in lib[0]):
+
+            if '/' in name or (os.sep != '/' and os.sep in name):
                 raise DistutilsSetupError("bad library name '%s': "
                        "may not contain directory separators" % lib[0])
 
-            if not isinstance(lib[1], dict):
+            if not isinstance(build_info, dict):
                 raise DistutilsSetupError(
                       "second element of each tuple in 'libraries' "
                       "must be a dictionary (build info)")

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Wed May  6 09:26:24 2009
@@ -127,6 +127,9 @@
 Library
 -------
 
+- Issue #5940: distutils.command.build_clib.check_library_list was not doing 
+  the right type checkings anymore.
+
 - Issue #4875: On win32, ctypes.util.find_library does no longer
   return directories.
 


More information about the Python-checkins mailing list