Hi Scott,

On Thu, 26 Jan 2012, Scott D Anderson wrote:

Ah, my apologies. I didn't realize that the patch had half-succeeded.   I
have reinstalled the python-setuptools package from the Fedora repo and
I've verified that the package is unmodified.  I've attached the
build_ext.py.orig file, which is identical to the build_ext.py file.

Sorry for the double-attachment last time.  I was trying to get it to
attach as plain text instead of octet stream, and then I couldn't delete
the extra attachment.

This is what I was afraid of. The original setuptools sources on PyPI, http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e (which list the author, pje, as the file owner even), has a different version of build_ext.py from what you sent me.

The diff is attached and included below.

Unless you can explain where your modified version is coming from and why, I really don't see what I can do to 'properly' fix this.

The comment about distutils 3.1 in your version that doesn't exist in the original seems to indicate that your version is newer than what it's purported to be, 0.6c11.

If there is a newer version of setuptools out there that needs a new patch, I can certainly write it but what is it and where is it coming from ?

Andi..

--- /Users/vajda/build_ext.py.orig      2012-01-27 15:13:36.000000000 -0800
+++ /Users/vajda/tmp/s.b/setuptools-0.6c11/setuptools/command/build_ext.py      
2009-10-19 10:35:44.000000000 -0700
@@ -77,27 +77,25 @@
             sources = _build_ext.swig_sources(self, sources) or sources
             # Then do any actual SWIG stuff on the remainder
             return _du_build_ext.swig_sources(self, sources, *otherargs)



     def get_ext_filename(self, fullname):
         filename = _build_ext.get_ext_filename(self,fullname)
-        if fullname not in self.ext_map:
-            return filename
-        ext = self.ext_map[fullname]
-        if isinstance(ext,Library):
-            fn, ext = os.path.splitext(filename)
-            return self.shlib_compiler.library_filename(fn,libtype)
-        elif use_stubs and ext._links_to_dynamic:
-            d,fn = os.path.split(filename)
-            return os.path.join(d,'dl-'+fn)
-        else:
-            return filename
+        if fullname in self.ext_map:
+            ext = self.ext_map[fullname]
+            if isinstance(ext,Library):
+                fn, ext = os.path.splitext(filename)
+                return self.shlib_compiler.library_filename(fn,libtype)
+            elif use_stubs and ext._links_to_dynamic:
+                d,fn = os.path.split(filename)
+                return os.path.join(d,'dl-'+fn)
+        return filename

     def initialize_options(self):
         _build_ext.initialize_options(self)
         self.shlib_compiler = None
         self.shlibs = []
         self.ext_map = {}

     def finalize_options(self):
@@ -108,21 +106,16 @@
                         if isinstance(ext,Library)]
         if self.shlibs:
             self.setup_shlib_compiler()
         for ext in self.extensions:
             ext._full_name = self.get_ext_fullname(ext.name)
         for ext in self.extensions:
             fullname = ext._full_name
             self.ext_map[fullname] = ext
-
-            # distutils 3.1 will also ask for module names
-            # XXX what to do with conflicts?
-            self.ext_map[fullname.split('.')[-1]] = ext
-
             ltd = ext._links_to_dynamic = \
                 self.shlibs and self.links_to_dynamic(ext) or False
             ext._needs_stub = ltd and use_stubs and not isinstance(ext,Library)
             filename = ext._file_name = self.get_ext_filename(fullname)
             libdir = os.path.dirname(os.path.join(self.build_lib,filename))
             if ltd and libdir not in ext.library_dirs:
                 ext.library_dirs.append(libdir)
             if ltd and use_stubs and os.curdir not in ext.runtime_library_dirs:
--- /Users/vajda/build_ext.py.orig      2012-01-27 15:13:36.000000000 -0800
+++ /Users/vajda/tmp/s.b/setuptools-0.6c11/setuptools/command/build_ext.py      
2009-10-19 10:35:44.000000000 -0700
@@ -77,27 +77,25 @@
             sources = _build_ext.swig_sources(self, sources) or sources
             # Then do any actual SWIG stuff on the remainder
             return _du_build_ext.swig_sources(self, sources, *otherargs)
 
 
 
     def get_ext_filename(self, fullname):
         filename = _build_ext.get_ext_filename(self,fullname)
-        if fullname not in self.ext_map:
-            return filename
-        ext = self.ext_map[fullname]
-        if isinstance(ext,Library):
-            fn, ext = os.path.splitext(filename)
-            return self.shlib_compiler.library_filename(fn,libtype)
-        elif use_stubs and ext._links_to_dynamic:
-            d,fn = os.path.split(filename)
-            return os.path.join(d,'dl-'+fn)
-        else:
-            return filename
+        if fullname in self.ext_map:
+            ext = self.ext_map[fullname]
+            if isinstance(ext,Library):
+                fn, ext = os.path.splitext(filename)
+                return self.shlib_compiler.library_filename(fn,libtype)
+            elif use_stubs and ext._links_to_dynamic:
+                d,fn = os.path.split(filename)
+                return os.path.join(d,'dl-'+fn)
+        return filename
 
     def initialize_options(self):
         _build_ext.initialize_options(self)
         self.shlib_compiler = None
         self.shlibs = []
         self.ext_map = {}
 
     def finalize_options(self):
@@ -108,21 +106,16 @@
                         if isinstance(ext,Library)]
         if self.shlibs:
             self.setup_shlib_compiler()
         for ext in self.extensions:
             ext._full_name = self.get_ext_fullname(ext.name)
         for ext in self.extensions:
             fullname = ext._full_name
             self.ext_map[fullname] = ext
-
-            # distutils 3.1 will also ask for module names
-            # XXX what to do with conflicts?
-            self.ext_map[fullname.split('.')[-1]] = ext
-
             ltd = ext._links_to_dynamic = \
                 self.shlibs and self.links_to_dynamic(ext) or False
             ext._needs_stub = ltd and use_stubs and not isinstance(ext,Library)
             filename = ext._file_name = self.get_ext_filename(fullname)
             libdir = os.path.dirname(os.path.join(self.build_lib,filename))
             if ltd and libdir not in ext.library_dirs:
                 ext.library_dirs.append(libdir)
             if ltd and use_stubs and os.curdir not in ext.runtime_library_dirs:

Reply via email to