From 29978ca83d6d72a92abd6c99b4c8708174ba3e43d079b6a47ab59fa6b26cbef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Thu, 14 Aug 2025 12:34:34 +0000 Subject: [PATCH 1/2] - Convert to libalternatives on SLE-16-based and newer systems OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=145 --- python-coverage.changes | 5 +++++ python-coverage.spec | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/python-coverage.changes b/python-coverage.changes index 4ea946c..c93f654 100644 --- a/python-coverage.changes +++ b/python-coverage.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Aug 14 12:33:02 UTC 2025 - Markéta Machová + +- Convert to libalternatives on SLE-16-based and newer systems + ------------------------------------------------------------------- Thu Jul 17 19:35:48 UTC 2025 - Dirk Müller diff --git a/python-coverage.spec b/python-coverage.spec index a25357f..95b6e56 100644 --- a/python-coverage.spec +++ b/python-coverage.spec @@ -16,6 +16,11 @@ # +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif %{?sle15_python_module_pythons} Name: python-coverage Version: 7.9.2 @@ -31,10 +36,15 @@ BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python -Requires(post): update-alternatives -Requires(postun): update-alternatives # coverage[toml] Recommends: python-tomli +%if %{with libalternatives} +BuildRequires: alts +Requires: alts +%else +Requires(post): update-alternatives +Requires(postun): update-alternatives +%endif # SECTION test requirements BuildRequires: %{python_module flaky} BuildRequires: %{python_module hypothesis >= 6} @@ -105,6 +115,9 @@ donttest+=" or test_report_wildcard or test_run_omit_vs_report_omit" %pytest_arch -n auto --no-flaky-report -k "$donttest" -rp ||: %pytest_arch -n auto --no-flaky-report -k "not ($donttest)" +%pre +%python_libalternatives_reset_alternative coverage + %post %python_install_alternative coverage From db7a8fde2e4cf5dfe73dcefc660dcedf102888477435b146e305964241600f8c Mon Sep 17 00:00:00 2001 From: Daniel Garcia Date: Tue, 19 Aug 2025 10:46:51 +0000 Subject: [PATCH 2/2] - Add _multibuild for running tests, it's required to call "coverage" command when using libalternatives. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=146 --- _multibuild | 3 +++ python-coverage.changes | 6 ++++++ python-coverage.spec | 26 ++++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 _multibuild diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/python-coverage.changes b/python-coverage.changes index c93f654..626364f 100644 --- a/python-coverage.changes +++ b/python-coverage.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Aug 19 10:42:47 UTC 2025 - Daniel Garcia + +- Add _multibuild for running tests, it's required to call "coverage" + command when using libalternatives. + ------------------------------------------------------------------- Thu Aug 14 12:33:02 UTC 2025 - Markéta Machová diff --git a/python-coverage.spec b/python-coverage.spec index 95b6e56..a142e57 100644 --- a/python-coverage.spec +++ b/python-coverage.spec @@ -1,7 +1,7 @@ # # spec file for package python-coverage # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,8 +21,18 @@ %else %bcond_with libalternatives %endif + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif + %{?sle15_python_module_pythons} -Name: python-coverage +Name: python-coverage%{psuffix} Version: 7.9.2 Release: 0 Summary: Code coverage measurement for Python @@ -45,7 +55,10 @@ Requires: alts Requires(post): update-alternatives Requires(postun): update-alternatives %endif + +%if %{with test} # SECTION test requirements +BuildRequires: %{python_module coverage = %{version}} BuildRequires: %{python_module flaky} BuildRequires: %{python_module hypothesis >= 6} BuildRequires: %{python_module pytest-xdist} @@ -54,6 +67,7 @@ BuildRequires: %{python_module tomli} # for database (sqlite3) support BuildRequires: %{pythons} # /SECTION +%endif %python_subpackages %description @@ -68,15 +82,20 @@ library to determine which lines are executable, and which have been executed. sed -i -e '/addopts/d' setup.cfg %build +%if %{without test} %pyproject_wheel +%endif %install +%if %{without test} %pyproject_install rm -vf %{buildroot}%{_bindir}/coverage{2,3} %python_clone -a %{buildroot}%{_bindir}/coverage %python_expand %fdupes %{buildroot}%{$python_sitearch} +%endif %check +%if %{with test} export LANG=en_US.UTF8 %python_flavored_alternatives %{python_expand # indicate a writeable .pth directory for tests @@ -114,6 +133,7 @@ donttest+=" or test_report_wildcard or test_run_omit_vs_report_omit" %pytest_arch -n auto --no-flaky-report -k "$donttest" -rp ||: %pytest_arch -n auto --no-flaky-report -k "not ($donttest)" +%endif %pre %python_libalternatives_reset_alternative coverage @@ -124,11 +144,13 @@ donttest+=" or test_report_wildcard or test_run_omit_vs_report_omit" %postun %python_uninstall_alternative coverage +%if %{without test} %files %{python_files} %license LICENSE.txt %doc CHANGES.rst CONTRIBUTORS.txt README.rst howto.txt %python_alternative %{_bindir}/coverage %{python_sitearch}/coverage/ %{python_sitearch}/coverage-%{version}.dist-info +%endif %changelog