Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pythran for openSUSE:Factory 
checked in at 2022-08-08 08:44:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pythran (Old)
 and      /work/SRC/openSUSE:Factory/.python-pythran.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pythran"

Mon Aug  8 08:44:53 2022 rev:3 rq:990028 version:0.11.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pythran/python-pythran.changes    
2022-03-16 21:30:38.927406472 +0100
+++ /work/SRC/openSUSE:Factory/.python-pythran.new.1521/python-pythran.changes  
2022-08-08 08:44:56.814409005 +0200
@@ -1,0 +2,7 @@
+Mon Jul 18 12:24:47 UTC 2022 - Ben Greiner <c...@bnavigator.de>
+
+- Add pythran-pr1984-fixdistutils.patch
+  * gh#serge-sans-paille/pythran#1984
+  * Fixes gh#serge-sans-paille/pythran#1984 with setuptools >= 60
+
+-------------------------------------------------------------------

New:
----
  pythran-pr1984-fixdistutils.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pythran.spec ++++++
--- /var/tmp/diff_new_pack.vFBgsX/_old  2022-08-08 08:44:57.330410523 +0200
+++ /var/tmp/diff_new_pack.vFBgsX/_new  2022-08-08 08:44:57.334410534 +0200
@@ -54,6 +54,8 @@
 Source0:        
https://github.com/serge-sans-paille/pythran/archive/refs/tags/%{version}.tar.gz#/pythran-%{version}-gh.tar.gz
 Source99:       python-pythran-rpmlintrc
 Patch0:         gcc12-fixes.patch
+# PATCH-FIX-UPSTREAM pythran-pr1984-fixdistutils.patch 
gh#serge-sans-paille/pythran#1984
+Patch1:         pythran-pr1984-fixdistutils.patch
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
@@ -73,6 +75,7 @@
 # /SECTION
 %if %{with test}
 BuildRequires:  %{python_module ipython}
+BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module pytest-xdist}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module pythran = %{version}}
@@ -87,12 +90,10 @@
 Ahead of Time compiler for numeric kernels
 
 %prep
-%setup -q -n pythran-%{version}
-%patch0 -p1
+%autosetup -p1 -n pythran-%{version}
 
 find -name '*.hpp' -exec chmod -x {} +
 sed -i '1{/env python/d}' pythran/run.py
-sed -i "s/'python'/sys.executable/" pythran/tests/test_distutils.py
 
 # Remove bundled header libs and use the ones from system
 rm -r third_party/boost
@@ -101,6 +102,13 @@
 no_boost=True
 EOF
 
+# Register pytest.mark.module
+cat >> pytest.ini << EOF
+# https://github.com/serge-sans-paille/pythran/pull/286
+[pytest]
+markers =
+    module: execute module annotate class
+EOF
 # The tests have some cflags in them
 # We need to adapt the flags to play nicely with other obs flags
 # E.g. fortify source implies at least -O1

++++++ pythran-pr1984-fixdistutils.patch ++++++
>From 934e31d86a6721c378598d4000c3ee39c59a154f Mon Sep 17 00:00:00 2001
From: serge-sans-paille <serge.guel...@telecom-bretagne.eu>
Date: Sun, 3 Apr 2022 11:22:17 +0200
Subject: [PATCH] Harden distutils tests

Use correct executable when running import tests.
Use pip install instead of setup.py install to test install.
Should fix #1981
---
 pythran/tests/test_distutils.py | 53 ++++++++++++++++++---------------
 1 file changed, 29 insertions(+), 24 deletions(-)

Index: pythran-0.11.0/pythran/tests/test_distutils.py
===================================================================
--- pythran-0.11.0.orig/pythran/tests/test_distutils.py
+++ pythran-0.11.0/pythran/tests/test_distutils.py
@@ -10,6 +10,8 @@ cwd = os.path.dirname(__file__)
 python_version = "python{}.{}".format(sys.version_info.major,
                                       sys.version_info.minor)
 
+python = sys.executable
+
 def find_so(name, path):
     for root, dirs, files in os.walk(path):
         for filename in files:
@@ -19,33 +21,35 @@ def find_so(name, path):
 class TestDistutils(unittest.TestCase):
 
     def test_setup_build(self):
-        check_call(['python', 'setup.py', 'build'],
+        check_call([python, 'setup.py', 'build'],
                    cwd=os.path.join(cwd, 'test_distutils'))
-        check_call(['python', 'setup.py', 'install', '--prefix=demo_install'],
+        check_call([python, '-m', 'pip', 'install', '.', 
'--prefix=demo_install'],
                    cwd=os.path.join(cwd, 'test_distutils'))
 
         base = os.path.join(cwd, 'test_distutils', 'demo_install',)
         libdir = os.path.join(base, 'lib')
         if not os.path.isdir(libdir):
             libdir = os.path.join(base, 'lib64')
-        check_call(['python', '-c', 'import demo'],
-                   cwd=os.path.join(libdir, python_version, 'site-packages'))
-        check_call(['python', 'setup.py', 'clean'],
+
+        local_env = os.environ.copy()
+        local_env['PYTHONPATH'] = os.path.join(libdir, python_version, 
'site-packages')
+        check_call([python, '-c', 'import demo'], env=local_env)
+        check_call([python, 'setup.py', 'clean'],
                    cwd=os.path.join(cwd, 'test_distutils'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils', 'demo_install'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils', 'build'))
 
     def test_setup_sdist_install(self):
-        check_call(['python', 'setup.py', 'sdist', "--dist-dir=sdist"],
+        check_call([python, 'setup.py', 'sdist', "--dist-dir=sdist"],
                    cwd=os.path.join(cwd, 'test_distutils'))
         check_call(['tar', 'xzf', 'demo-1.0.tar.gz'],
                    cwd=os.path.join(cwd, 'test_distutils', 'sdist'))
-        check_call(['python', 'setup.py', 'install', '--prefix=demo_install'],
+        check_call([python, 'setup.py', 'install', '--prefix=demo_install'],
                    cwd=os.path.join(cwd, 'test_distutils', 'sdist', 
'demo-1.0'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils', 'sdist'))
 
     def test_setup_bdist_install(self):
-        check_call(['python', 'setup.py', 'bdist', "--dist-dir=bdist"],
+        check_call([python, 'setup.py', 'bdist', "--dist-dir=bdist"],
                    cwd=os.path.join(cwd, 'test_distutils'))
         dist_path = os.path.join(cwd, 'test_distutils', 'bdist')
         tgz = [f for f in os.listdir(dist_path) if f.endswith(".tar.gz")][0]
@@ -56,7 +60,7 @@ class TestDistutils(unittest.TestCase):
         shutil.rmtree(dist_path)
 
     def test_setup_wheel_install(self):
-        check_call(['python', 'setup.py', 'bdist_wheel', 
"--dist-dir=bdist_wheel"],
+        check_call([python, 'setup.py', 'bdist_wheel', 
"--dist-dir=bdist_wheel"],
                    cwd=os.path.join(cwd, 'test_distutils_setuptools'))
         dist_path = os.path.join(cwd, 'test_distutils_setuptools', 
'bdist_wheel')
         wheel_dir = 'wheeeeeeel'
@@ -69,33 +73,34 @@ class TestDistutils(unittest.TestCase):
 
 
     def test_setup_build2(self):
-        check_call(['python', 'setup.py', 'build'],
+        check_call([python, 'setup.py', 'build'],
                    cwd=os.path.join(cwd, 'test_distutils_packaged'))
-        check_call(['python', 'setup.py', 'install', '--prefix=demo_install2'],
+        check_call([python, '-m', 'pip', 'install', '.', 
'--prefix=demo_install2'],
                    cwd=os.path.join(cwd, 'test_distutils_packaged'))
 
         base = os.path.join(cwd, 'test_distutils_packaged', 'demo_install2',)
         libdir = os.path.join(base, 'lib')
         if not os.path.isdir(libdir):
             libdir = os.path.join(base, 'lib64')
-        check_call(['python', '-c', 'import demo2.a'],
-                   cwd=os.path.join(libdir, python_version, 'site-packages'))
-        check_call(['python', 'setup.py', 'clean'],
+        local_env = os.environ.copy()
+        local_env['PYTHONPATH'] = os.path.join(libdir, python_version, 
'site-packages')
+        check_call([python, '-c', 'import demo2.a'], env=local_env)
+        check_call([python, 'setup.py', 'clean'],
                    cwd=os.path.join(cwd, 'test_distutils_packaged'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils_packaged', 
'demo_install2'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils_packaged', 'build'))
 
     def test_setup_sdist_install2(self):
-        check_call(['python', 'setup.py', 'sdist', "--dist-dir=sdist2"],
+        check_call([python, 'setup.py', 'sdist', "--dist-dir=sdist2"],
                    cwd=os.path.join(cwd, 'test_distutils_packaged'))
         check_call(['tar', 'xzf', 'demo2-1.0.tar.gz'],
                    cwd=os.path.join(cwd, 'test_distutils_packaged', 'sdist2'))
-        check_call(['python', 'setup.py', 'install', '--prefix=demo_install2'],
+        check_call([python, 'setup.py', 'install', '--prefix=demo_install2'],
                    cwd=os.path.join(cwd, 'test_distutils_packaged', 'sdist2', 
'demo2-1.0'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils_packaged', 'sdist2'))
 
     def test_setup_bdist_install2(self):
-        check_call(['python', 'setup.py', 'bdist', "--dist-dir=bdist"],
+        check_call([python, 'setup.py', 'bdist', "--dist-dir=bdist"],
                    cwd=os.path.join(cwd, 'test_distutils_packaged'))
         dist_path = os.path.join(cwd, 'test_distutils_packaged', 'bdist')
         tgz = [f for f in os.listdir(dist_path) if f.endswith(".tar.gz")][0]
@@ -106,34 +111,34 @@ class TestDistutils(unittest.TestCase):
         shutil.rmtree(dist_path)
 
     def test_setup_build3(self):
-        check_call(['python', 'setup.py', 'build'],
+        check_call([python, 'setup.py', 'build'],
                    cwd=os.path.join(cwd, 'test_distutils_numpy'))
-        check_call(['python', 'setup.py', 'install', '--prefix=demo_install3'],
+        check_call([python, 'setup.py', 'install', '--prefix=demo_install3'],
                    cwd=os.path.join(cwd, 'test_distutils_numpy'))
 
         base = os.path.join(cwd, 'test_distutils_numpy', 'demo_install3',)
         libdir = os.path.join(base, 'lib')
         if not os.path.isdir(libdir):
             libdir = os.path.join(base, 'lib64')
-        check_call(['python', '-c', 'import a'],
+        check_call([python, '-c', 'import a'],
                    cwd=os.path.join(libdir, python_version, 'site-packages',
                                     'demo3'))
-        check_call(['python', 'setup.py', 'clean'],
+        check_call([python, 'setup.py', 'clean'],
                    cwd=os.path.join(cwd, 'test_distutils_numpy'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils_numpy', 
'demo_install3'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils_numpy', 'build'))
 
     def test_setup_sdist_install3(self):
-        check_call(['python', 'setup.py', 'sdist', "--dist-dir=sdist3"],
+        check_call([python, 'setup.py', 'sdist', "--dist-dir=sdist3"],
                    cwd=os.path.join(cwd, 'test_distutils_numpy'))
         check_call(['tar', 'xzf', 'demo3-1.0.tar.gz'],
                    cwd=os.path.join(cwd, 'test_distutils_numpy', 'sdist3'))
-        check_call(['python', 'setup.py', 'install', '--prefix=demo_install3'],
+        check_call([python, 'setup.py', 'install', '--prefix=demo_install3'],
                    cwd=os.path.join(cwd, 'test_distutils_numpy', 'sdist3', 
'demo3-1.0'))
         shutil.rmtree(os.path.join(cwd, 'test_distutils_numpy', 'sdist3'))
 
     def test_setup_bdist_install3(self):
-        check_call(['python', 'setup.py', 'bdist', "--dist-dir=bdist"],
+        check_call([python, 'setup.py', 'bdist', "--dist-dir=bdist"],
                    cwd=os.path.join(cwd, 'test_distutils_numpy'))
         dist_path = os.path.join(cwd, 'test_distutils_numpy', 'bdist')
         tgz = [f for f in os.listdir(dist_path) if f.endswith(".tar.gz")][0]

Reply via email to