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]