@ -1,34 +1,54 @@
# Tests are disbaled by default, they require:
# a) tested tox to be installed
## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 1;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
%bcond bootstrap 0
# Many tests are enabled by default, unless bootstrapping
%bcond tests %{without bootstrap}
# However, some tests are disabled by default, becasue they require:
# a) tested tox to be installed and/or
# b) internet connection
# To test, do the following:
# 1) Build --without tests (the default)
# (e.g. fedpkg mockbuild)
# To run them , do the following:
# 1) Build --without ci_ tests (the default) and optionally --without tests
# (e.g. fedpkg mockbuild --without tests )
# 2) Install the built package
# (e.g. mock install ./results_python-tox/.../tox-...rpm)
# 3) Build again --with tests (and internet connection)
# (e.g. fedpkg mockbuild --enable-network --no-clean-all --with tests)
# 3) Build again --with ci_ tests (and internet connection)
# (e.g. fedpkg mockbuild --no-clean-all -- enable-network --with ci_ tests)
# The Fedora CI tests do this.
%bcond_with tests
%bcond ci_ tests 0
# Unset -s on python shebang - ensure that extensions installed with pip
# to user locations are seen and properly loaded
# Fixes https://bugzilla.redhat.com/2057015
%global py3_shebang_flags %(echo %py3_shebang_flags | sed s/s//)
%undefine _py3_shebang_s
Name: python-tox
Version: 3.28.0
Release: 1%{?dist}
Version: 4.2 3.2
Release: %autorelease
Summary: Virtualenv-based automation of test activities
License: MIT
URL: https://tox.readthedocs.io/
Source0: %{pypi_source tox}
Source: %{pypi_source tox}
# Remove dependency on devpi-process.
# Remove dependency on detect-test-pollution.
# Remove coverage-related dependencies.
# Adjust virtualenv environment variables to make it work with our patched virtualenv.
Patch: fix-tests.patch
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: pyproject-rpm-macros
# for dependency-groups support:
BuildRequires: pyproject-rpm-macros >= 1.16
%if %{with tests}
BuildRequires: /usr/bin/gcc
@ -39,8 +59,11 @@ BuildRequires: /usr/bin/python
BuildRequires: libffi-devel
# xdist is not used upstream, but we use it to speed up the %%check
BuildRequires: python3-pytest-xdist
# The tests only work if the tested tox is installed :(
BuildRequires: tox = %{version}-%{release}
%if %{with ci_tests}
# The CI tests only work if the tested tox is installed :(
# This should technically be the same V-R, but the CI does not handle %%autorelease well
BuildRequires: tox = %{version}
%endif
%endif
%global _description %{expand:
@ -68,22 +91,15 @@ Summary: %{summary}
# however it launches other Python versions as subprocesses.
# It recommends all Python versions it supports. (This is an exception to
# the rule that Fedora packages may not require the alternative interpreters.)
Recommends: python2.7
Recommends: python3.6
Recommends: python3.7
Recommends: python3.8
Recommends: python3.9
Recommends: python3.10
Recommends: pypy2-devel
Recommends: pypy3-devel
Recommends: python2-devel
Recommends: python3-devel
# Instead of adding new Pythons here, add `Supplements: tox` to them, see:
# https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/NVVUXSVSPFQOWIGBE2JNI67HEO7R63ZQ/
%py_provides python3-tox
# Remove this once Fedora 36 goes EOL:
Obsoletes: python3-tox < 3.24.4-2
%description -n tox %_description
@ -91,12 +107,21 @@ Obsoletes: python3-tox < 3.24.4-2
%prep
%autosetup -p1 -n tox-%{version}
# Upstream updates dependencies too aggressively
# see https://github.com/tox-dev/tox/pull/2843#discussion_r1065028356
sed -ri -e 's/"(packaging|filelock|platformdirs|psutil|pyproject-api|pytest|pytest-mock|pytest-xdist|wheel|pluggy|distlib|cachetools|build\[virtualenv\]|setuptools|flaky)>=.*/"\1",/g' \
-e 's/"(time-machine)>=[^;"]+/"\1/' \
-e 's/"(virtualenv)>=.*/"\1>=20",/g' \
-e 's/"(hatchling)>=.*/"\1>=1.13",/g' \
pyproject.toml
%generate_buildrequires
%pyproject_buildrequires -r %{?with_tests:-x testing}
export SETUPTOOLS_SCM_PRETEND_VERSION="%{version}"
%pyproject_buildrequires -r %{?with_tests:-g test}
%build
export SETUPTOOLS_SCM_PRETEND_VERSION="%{version}"
%pyproject_wheel
@ -107,18 +132,166 @@ Obsoletes: python3-tox < 3.24.4-2
%if %{with tests}
%check
%pytest -n auto
# Skipped tests use internal virtualenv functionality to
# download wheels which does not work with "bundled" version of wheel in
# the Fedora's virtualenv patch.
k="${k-}${k+ and }not test_virtualenv_flipped_settings"
k="${k-}${k+ and }not test_virtualenv_env_ignored_if_set"
k="${k-}${k+ and }not test_virtualenv_env_used_if_not_set"
# https://github.com/tox-dev/tox/issues/3290
%if v"0%{?python3_version}" >= v"3.13"
k="${k-}${k+ and }not test_str_convert_ok_py39"
%endif
# https://github.com/tox-dev/tox/commit/698f1dd663
# Until we have setuptools 70.1+ we skip those
k="${k-}${k+ and }not test_result_json_sequential"
k="${k-}${k+ and }not test_setuptools_package"
k="${k-}${k+ and }not test_skip_develop_mode"
k="${k-}${k+ and }not test_tox_install_pkg_sdist"
# The following tests either need internet connection or installed tox
# so we only run them on the CI.
%if %{without ci_tests}
k="${k-}${k+ and }not test_virtualenv_flipped_settings"
k="${k-}${k+ and }not test_virtualenv_env_ignored_if_set"
k="${k-}${k+ and }not test_virtualenv_env_used_if_not_set"
k="${k-}${k+ and }not test_build_wheel_external"
k="${k-}${k+ and }not keyboard_interrupt"
k="${k-}${k+ and }not test_call_as_module"
k="${k-}${k+ and }not test_call_as_exe"
k="${k-}${k+ and }not test_run_installpkg_targz"
%endif
%pytest -v -n auto -k "${k-}" --run-integration
%endif
%files -n tox -f %{pyproject_files}
%{_bindir}/tox
%{_bindir}/tox-quickstart
%changelog
* Wed Oct 23 2024 Sergey Cherevko <s.cherevko@msvsphere-os.ru> - 3.28.0-1
- Rebuilt for MSVSphere 9.4
* Tue Dec 17 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 4.23.2-1
- Rebuilt for MSVSphere 10
## START: Generated by rpmautospec
* Tue Nov 05 2024 Miro Hrončok <miro@hroncok.cz> - 4.23.2-1
- Update to 4.23.2
- Fixes: rhbz#2318843
* Tue Oct 29 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.2-4
- CI: Add Python 3.14
* Tue Oct 29 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.2-3
- Drop unneeded test dependency on diff-cover
* Mon Oct 14 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.2-2
- Stop recommending Pythons not supported by the latest virtualenv
* Sat Oct 05 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.2-1
- Update to 4.21.2
- Fixes: rhbz#2316220
* Tue Oct 01 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.0-1
- Update to 4.21.0
- Fixes: rhbz#2315830
* Tue Oct 01 2024 Charalampos Stratakis <cstratak@redhat.com> - 4.20.0-1
- Update to 4.20.0
- Fixes: rhbz#2302960
* Mon Aug 05 2024 Miro Hrončok <miro@hroncok.cz> - 4.16.0-2
- Do not Recommend python2.7 on Fedora 41+
- https://fedoraproject.org/wiki/Changes/RetirePython2.7
* Fri Jul 26 2024 Miro Hrončok <miro@hroncok.cz> - 4.16.0-1
- Update to 4.16.0
- https://tox.wiki/en/latest/changelog.html#v4-16-0-2024-07-02
- Fixes: rhbz#2277427
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.14.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jul 04 2024 Miro Hrončok <miro@hroncok.cz> - 4.14.2-6
- Remove no longer needed BuildRequires for python3.10
* Thu Jul 04 2024 Miro Hrončok <miro@hroncok.cz> - 4.14.2-5
- Fix CI confusion wrt tox %%{release}
* Thu Jul 04 2024 Lumir Balhar <lbalhar@redhat.com> - 4.14.2-4
- Unskip working tests
* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 4.14.2-3
- Rebuilt for Python 3.13
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 4.14.2-2
- Bootstrap for Python 3.13
* Thu Apr 11 2024 Charalampos Stratakis <cstratak@redhat.com> - 4.14.2-1
- Update to 4.14.2
- Resolves: rhbz#2264626
* Fri Jan 26 2024 Miro Hrončok <miro@hroncok.cz> - 4.12.1-1
- Update to 4.12.1
* Thu Jan 25 2024 Miro Hrončok <miro@hroncok.cz> - 4.11.1-6
- Remove old unneeded Obsoletes for python3-tox
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.11.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Sep 06 2023 Miro Hrončok <mhroncok@redhat.com> - 4.11.1-1
- Update to 4.11.1 (rhbz#2236871)
* Wed Aug 30 2023 Miro Hrončok <mhroncok@redhat.com> - 4.11.0-1
- Update to 4.11.0 (rhbz#2189321)
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.12-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 29 2023 Python Maint <python-maint@redhat.com> - 4.4.12-3
- Rebuilt for Python 3.12
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 4.4.12-2
- Bootstrap for Python 3.12
* Thu Apr 13 2023 Miro Hrončok <mhroncok@redhat.com> - 4.4.12-1
- Update to 4.4.12 (rhbz#2186618)
* Wed Apr 12 2023 Miro Hrončok <mhroncok@redhat.com> - 4.4.11-1
- Update to 4.4.11 (rhbz#2184726)
* Wed Mar 29 2023 Miro Hrončok <mhroncok@redhat.com> - 4.4.8-1
- Update to 4.4.8 (rhbz#2177519)
* Tue Feb 28 2023 Miro Hrončok <mhroncok@redhat.com> - 4.4.6-1
- Update to 4.4.6 (rhbz#2164640)
* Tue Jan 24 2023 Miro Hrončok <mhroncok@redhat.com> - 4.3.5-1
- Update to 4.3.5 (rhbz#2161692)
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Miro Hrončok <mhroncok@redhat.com> - 4.3.3-1
- Update to 4.3.3 (rhbz#2161429)
* Mon Jan 16 2023 Miro Hrončok <mhroncok@redhat.com> - 4.3.2-1
- Update to 4.3.2 (rhbz#2161388)
* Mon Jan 16 2023 Lumír Balhar <lbalhar@redhat.com> - 4.3.1-1
- Update to 4.3.1 (rhbz#2161119)
* Thu Jan 12 2023 Miro Hrončok <mhroncok@redhat.com> - 4.2.8-1
- Update to 4.2.8 (rhbz#2160315)
* Wed Jan 11 2023 Miro Hrončok <mhroncok@redhat.com> - 4.2.7-1
- Update to 4.2.7 (rhbz#2160186)
* Tue Jan 3 2023 Lumír Balhar <lbalhar@redhat.com> - 4.2.6-1
- Update to 4.2.6 (rhbz#1914413)
* Sun Dec 18 2022 Miro Hrončok <mhroncok@redhat.com> - 3.28.0-1
- Update to 3.28.0
@ -129,9 +302,15 @@ Obsoletes: python3-tox < 3.24.4-2
* Wed Sep 14 2022 Miro Hrončok <mhroncok@redhat.com> - 3.26.0-1
- Update to 3.26.0
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.25.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 13 2022 Lumír Balhar <lbalhar@redhat.com> - 3.25.1-1
- Update to 3.25.1
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.25.0-2
- Rebuilt for Python 3.11
* Mon May 09 2022 Miro Hrončok <mhroncok@redhat.com> - 3.25.0-1
- Update to 3.25.0
@ -404,3 +583,5 @@ Obsoletes: python3-tox < 3.24.4-2
* Tue Oct 09 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-1
- initial packaging
## END: Generated by rpmautospec