Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-Nuitka for openSUSE:Factory checked in at 2021-04-22 18:03:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-Nuitka (Old) and /work/SRC/openSUSE:Factory/.python-Nuitka.new.12324 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Nuitka" Thu Apr 22 18:03:57 2021 rev:7 rq:887383 version:0.6.14.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-Nuitka/python-Nuitka.changes 2021-04-21 20:59:41.362228745 +0200 +++ /work/SRC/openSUSE:Factory/.python-Nuitka.new.12324/python-Nuitka.changes 2021-04-22 18:04:46.098580382 +0200 @@ -1,0 +2,7 @@ +Tue Apr 20 18:29:23 UTC 2021 - Ben Greiner <[email protected]> + +- Split out the tests into clang/gcc and python flavor multibuilds + The build time on Factory was getting out ouf hand with 3 python + flavors. + +------------------------------------------------------------------- New: ---- _multibuild ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-Nuitka.spec ++++++ --- /var/tmp/diff_new_pack.sDLjqC/_old 2021-04-22 18:04:46.610581163 +0200 +++ /var/tmp/diff_new_pack.sDLjqC/_new 2021-04-22 18:04:46.614581169 +0200 @@ -1,5 +1,5 @@ # -# spec file for package python-Nuitka +# spec file for package python-Nuitka%{?psuffix} # # Copyright (c) 2021 SUSE LLC # @@ -16,10 +16,95 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "" +%bcond_with test_clang +%bcond_with test_gcc +%define psuffix %{nil} +%else +%define psuffix -%{flavor} +%endif + +# Can't test for substrings server-side, so spell everything out. +# Keep this in sync with the multi-python build set! +%if 0%{suse_version} < 1550 + +%if "%{flavor}" == "clang-test-py2" %bcond_without test_clang +%bcond_with test_gcc +%define pythons python2 +%endif +%if "%{flavor}" == "clang-test-py36" +%bcond_without test_clang +%bcond_with test_gcc +%define pythons python3 +%endif +%if "%{flavor}" == "clang-test-py38" +ExclusiveArch: do-not-build +%endif +%if "%{flavor}" == "clang-test-py39" +ExclusiveArch: do-not-build +%endif +%if "%{flavor}" == "gcc-test-py2" +%bcond_with test_clang +%bcond_without test_gcc +%define pythons python2 +%endif +%if "%{flavor}" == "gcc-test-py36" +%bcond_with test_clang +%bcond_without test_gcc +%define pythons python3 +%endif +%if "%{flavor}" == "gcc-test-py38" +ExclusiveArch: do-not-build +%endif +%if "%{flavor}" == "gcc-test-py39" +ExclusiveArch: do-not-build +%endif + +%else + +%if "%{flavor}" == "clang-test-py2" +ExclusiveArch: do-not-build +%endif +%if "%{flavor}" == "clang-test-py36" +%bcond_without test_clang +%bcond_with test_gcc +%define pythons python36 +%endif +%if "%{flavor}" == "clang-test-py38" +%bcond_without test_clang +%bcond_with test_gcc +%define pythons python38 +%endif +%if "%{flavor}" == "clang-test-py39" +%bcond_without test_clang +%bcond_with test_gcc +%define pythons python39 +%endif +%if "%{flavor}" == "gcc-test-py2" +ExclusiveArch: do-not-build +%endif +%if "%{flavor}" == "gcc-test-py36" +%bcond_with test_clang %bcond_without test_gcc -Name: python-Nuitka +%define pythons python36 +%endif +%if "%{flavor}" == "gcc-test-py38" +%bcond_with test_clang +%bcond_without test_gcc +%define pythons python38 +%endif +%if "%{flavor}" == "gcc-test-py39" +%bcond_with test_clang +%bcond_without test_gcc +%define pythons python39 +%endif + +%endif + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +Name: python-Nuitka%{?psuffix} Version: 0.6.14.4 Release: 0 Summary: Python compiler with full language support and CPython compatibility @@ -40,7 +125,7 @@ Requires: python-devel Requires: scons Requires(post): update-alternatives -Requires(postun): update-alternatives +Requires(postun):update-alternatives Recommends: ccache Recommends: chrpath Recommends: clang @@ -51,6 +136,10 @@ Suggests: libfuse2 BuildArch: noarch # SECTION Testing requirements +%if %{with test_clang} +BuildRequires: clang +%endif +%if %{with test_gcc} || %{with test_clang} BuildRequires: %{python_module Brotli} BuildRequires: %{python_module Flask} BuildRequires: %{python_module appdirs} @@ -65,8 +154,8 @@ BuildRequires: %{python_module passlib} #BuildRequires: %%{python_module pendulum} BuildRequires: %{python_module pycairo} -BuildRequires: %{python_module pytest} BuildRequires: %{python_module pmw} +BuildRequires: %{python_module pytest} BuildRequires: %{python_module qt5} BuildRequires: %{python_module rsa} BuildRequires: %{python_module sip4} @@ -76,15 +165,12 @@ BuildRequires: %{python_module xml} BuildRequires: ccache BuildRequires: chrpath -BuildRequires: clang BuildRequires: gdb BuildRequires: strace BuildRequires: tk -BuildRequires: (python2-gtk if python2-base) -BuildRequires: (python2-numpy if python2-base) -BuildRequires: (python2-pandas if python2-base) -BuildRequires: python3-numpy -BuildRequires: python3-pandas +BuildRequires: %{python_module gtk if (%python-base with python-base)} +BuildRequires: %{python_module numpy if (%python-base without python36-base)} +BuildRequires: %{python_module pandas if (%python-base without python36-base)} # pyside2 has working tests, however it exists on few arch #BuildRequires: python3-pyside2 # AppImageKit not available in Factory yet @@ -92,6 +178,7 @@ #BuildRequires: appimagetool #BuildRequires: pkgconfig(fuse) BuildRequires: libfuse2 +%endif # /SECTION Testing requirements %python_subpackages @@ -143,9 +230,13 @@ # https://github.com/Nuitka/Nuitka/issues/1037 rm tests/standalone/PendulumUsing.py +# adjust mtime so that deduplicating the cache files after install does not make them inconsistent +find nuitka -name __init__.py -exec touch -m -r nuitka/__init__.py {} ';' + %build %python_build +%if ! %{with test_gcc} && ! %{with test_clang} %install %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} @@ -167,6 +258,7 @@ %python_clone -a %{buildroot}%{_mandir}/man1/nuitka.1.gz %python_clone -a %{buildroot}%{_mandir}/man1/nuitka-run.1.gz fi +%endif %check export CCACHE_DIR=~/.ccache/ @@ -174,6 +266,17 @@ export TCL_LIBRARY=%{_libdir}/tcl/tcl8.6 export TK_LIBRARY=%{_libdir}/tcl/tk8.6 +# scons is primary python3 only, but used in the tests it needs to find the modules in its "own" flavor. Luckily it is pure... +mkdir my-scons +cp -r %{python3_sitelib}/SCons my-scons/ +%{python_expand # +mkdir build/testbin +cp -r %{_bindir}/scons* build/testbin/ +sed -i '1 s/python3/$python /' build/testbin/* +} +export SCONS_LIB_DIR=$PWD/my-scons +export PATH=$PWD/build/testbin:$PATH + # Use `export CC=clang` to force using clang # which has known failures # https://github.com/Nuitka/Nuitka/issues/960 @@ -203,8 +306,13 @@ CC=clang $python ./tests/run-tests --skip-basic-tests --skip-syntax-tests --skip-program-tests --skip-package-tests --skip-plugins-tests --skip-reflection-test --no-other-python mv /tmp/*Using.py tests/standalone/ ||: +%if 0%{?suse_version} >= 1550 ccache -d ~/.ccache/ --show-stats ccache -d ~/.ccache/ --clear +%else +ccache --show-stats +ccache --clear +%endif # VM disk is being exceeded by PandasUsing. # Trying to find where, if any, disk space is being consumed by each test run @@ -224,8 +332,13 @@ CC=clang $python ./tests/run-tests --skip-basic-tests --skip-syntax-tests --skip-program-tests --skip-package-tests --skip-plugins-tests --skip-reflection-test --no-other-python mv /tmp/*Using.py tests/standalone/ ||: +%if 0%{?suse_version} >= 1550 ccache -d ~/.ccache/ --show-stats ccache -d ~/.ccache/ --clear +%else +ccache --show-stats +ccache --clear +%endif find tests -name '*.log' -print -delete rm -r /tmp/* ||: @@ -243,8 +356,13 @@ CC=gcc $python ./tests/run-tests --skip-reflection-test --no-other-python mv /tmp/*Using.py tests/standalone/ ||: +%if 0%{?suse_version} >= 1550 ccache -d ~/.ccache/ --show-stats ccache -d ~/.ccache/ --clear +%else +ccache --show-stats +ccache --clear +%endif find tests -name '*.log' -print -delete rm -r /tmp/* ||: @@ -252,6 +370,7 @@ %endif } +%if ! %{with test_gcc} && ! %{with test_clang} %post %python_install_alternative nuitka nuitka-run nuitka.1 nuitka-run.1 @@ -266,5 +385,6 @@ %python_alternative %{_bindir}/nuitka %python_alternative %{_mandir}/man1/nuitka.1 %python_alternative %{_mandir}/man1/nuitka-run.1 +%endif %changelog ++++++ _multibuild ++++++ <multibuild> <package>clang-test-py2</package> <package>clang-test-py36</package> <package>clang-test-py38</package> <package>clang-test-py39</package> <package>gcc-test-py2</package> <package>gcc-test-py36</package> <package>gcc-test-py38</package> <package>gcc-test-py39</package> </multibuild>
