17
0

1 Commits

Author SHA256 Message Date
8c105e5cc4 Convert to libalternatives, bsc#1245883 2025-11-03 14:42:11 +01:00
3 changed files with 53 additions and 4 deletions

3
_multibuild Normal file
View File

@@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@@ -1,3 +1,14 @@
-------------------------------------------------------------------
Tue Aug 19 10:42:47 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- 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á <mmachova@suse.com>
- Convert to libalternatives on SLE-16-based and newer systems
-------------------------------------------------------------------
Thu Mar 27 09:44:38 UTC 2025 - Markéta Machová <mmachova@suse.com>

View File

@@ -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
@@ -16,8 +16,23 @@
#
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%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.7.1
Release: 0
Summary: Code coverage measurement for Python
@@ -33,11 +48,19 @@ 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
%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}
@@ -46,6 +69,7 @@ BuildRequires: %{python_module tomli}
# for database (sqlite3) support
BuildRequires: %{pythons}
# /SECTION
%endif
%python_subpackages
%description
@@ -60,15 +84,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
@@ -106,6 +135,10 @@ 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
%post
%python_install_alternative coverage
@@ -113,11 +146,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