#6 Use python3 style of calling super() without arguments in rpath patch
Closed 6 years ago by pviktori. Opened 6 years ago by mcyprian.
rpms/ mcyprian/python3 unixccompiler-recursion-fix  into  master

file modified
+3 -4
@@ -1,15 +1,14 @@ 

  diff -up Python-3.1.1/Lib/distutils/unixccompiler.py.rpath Python-3.1.1/Lib/distutils/unixccompiler.py

  --- Python-3.1.1/Lib/distutils/unixccompiler.py.rpath	2009-09-04 17:29:34.000000000 -0400

  +++ Python-3.1.1/Lib/distutils/unixccompiler.py	2009-09-04 17:49:54.000000000 -0400

- @@ -141,6 +141,16 @@ class UnixCCompiler(CCompiler):

+ @@ -141,6 +141,15 @@ class UnixCCompiler(CCompiler):

       if sys.platform == "cygwin":

           exe_extension = ".exe"

   

  +    def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):

  +        """Remove standard library path from rpath"""

- +        libraries, library_dirs, runtime_library_dirs = super(

- +            self.__class__, self)._fix_lib_args(libraries, library_dirs,

- +            runtime_library_dirs)

+ +        libraries, library_dirs, runtime_library_dirs = super()._fix_lib_args(

+ +            libraries, library_dirs, runtime_library_dirs)

  +        libdir = sysconfig.get_config_var('LIBDIR')

  +        if runtime_library_dirs and (libdir in runtime_library_dirs):

  +            runtime_library_dirs.remove(libdir)

file modified
+6 -1
@@ -12,7 +12,7 @@ 

  %global pyshortver 36

  

  Version: %{pybasever}.2

- Release: 11%{?dist}

+ Release: 12%{?dist}

  License: Python

  

  
@@ -1663,6 +1663,11 @@ 

  # ======================================================

  

  %changelog

+ * Mon Aug 28 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.2-12

+ - Use python3 style of calling super() without arguments in rpath

+   patch to prevent recursion in UnixCCompiler subclasses

+ Resolves: rhbz#1458122

+ 

  * Mon Aug 21 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-11

  - Add bcond for --without optimizations

  - Reword package descriptions

Calling super() with self.__class__ as a first argument causes infinite recursion in subclasses of UnixCCompiler. Using super() without any arguments fixes this issue (rhbz#1458122). This PR collides with https://src.fedoraproject.org/rpms/python3/pull-request/5 (rpath patch was renamed here) and will probably have to be rebased when PR #5 is merged.

Pull-Request has been closed by pviktori

6 years ago
Metadata