|
|
|
@@ -6,14 +6,19 @@
|
|
|
|
|
|
|
|
|
|
%global pypiname tox
|
|
|
|
|
Name: python-%{pypiname}
|
|
|
|
|
Version: 2.7.0
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
Version: 3.5.3
|
|
|
|
|
Release: 4%{?dist}
|
|
|
|
|
Summary: Virtualenv-based automation of test activities
|
|
|
|
|
|
|
|
|
|
# file toxbootstrap.py is licensed under MIT License
|
|
|
|
|
License: GPLv2+ and MIT
|
|
|
|
|
URL: http://tox.testrun.org/
|
|
|
|
|
Source0: https://files.pythonhosted.org/packages/source/t/%{pypiname}/%{pypiname}-%{version}.tar.gz
|
|
|
|
|
|
|
|
|
|
# Run py39 env with Python 3.9
|
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1798929
|
|
|
|
|
Patch1: py39.patch
|
|
|
|
|
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
@@ -27,35 +32,6 @@ can use for:
|
|
|
|
|
- acting as a frontend to Continuous Integration servers, greatly reducing
|
|
|
|
|
boilerplate and merging CI and shell-based testing.
|
|
|
|
|
|
|
|
|
|
%package -n python2-%{pypiname}
|
|
|
|
|
Summary: %{summary}
|
|
|
|
|
%{?python_provide:%python_provide python2-%{pypiname}}
|
|
|
|
|
BuildRequires: python2-devel
|
|
|
|
|
BuildRequires: python2-setuptools
|
|
|
|
|
Requires: python2-py
|
|
|
|
|
Requires: python2-virtualenv >= 1.11.2
|
|
|
|
|
Requires: python-pluggy
|
|
|
|
|
|
|
|
|
|
%if %{with internet}
|
|
|
|
|
# for tests
|
|
|
|
|
BuildRequires: python2-py
|
|
|
|
|
BuildRequires: python2-pytest
|
|
|
|
|
BuildRequires: python2-virtualenv >= 1.11.2
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description -n python2-%{pypiname}
|
|
|
|
|
Tox as is a generic virtualenv management and test command line tool you
|
|
|
|
|
can use for:
|
|
|
|
|
|
|
|
|
|
- checking your package installs correctly with different Python versions
|
|
|
|
|
and interpreters
|
|
|
|
|
- running your tests in each of the environments, configuring your test tool
|
|
|
|
|
of choice
|
|
|
|
|
- acting as a frontend to Continuous Integration servers, greatly reducing
|
|
|
|
|
boilerplate and merging CI and shell-based testing.
|
|
|
|
|
|
|
|
|
|
This package contains just the module you can import from Python 2,
|
|
|
|
|
for the actual command line utility, dnf install tox.
|
|
|
|
|
|
|
|
|
|
%package -n python3-%{pypiname}
|
|
|
|
|
Summary: %{summary}
|
|
|
|
@@ -63,29 +39,42 @@ Summary: %{summary}
|
|
|
|
|
Provides: %{pypiname} = %{version}-%{release}
|
|
|
|
|
BuildRequires: python3-devel
|
|
|
|
|
BuildRequires: python3-setuptools
|
|
|
|
|
Requires: python3-py
|
|
|
|
|
Requires: python3-pluggy
|
|
|
|
|
Requires: python3-virtualenv
|
|
|
|
|
BuildRequires: python3-setuptools_scm
|
|
|
|
|
|
|
|
|
|
# Recommend "all the Pythons"
|
|
|
|
|
Recommends: python26
|
|
|
|
|
# Why? Tox exists to enable developers to test libraries against various Python
|
|
|
|
|
# versions, with just "dnf install tox" and a config file.
|
|
|
|
|
# See: https://developer.fedoraproject.org/tech/languages/python/python-installation.html#using-virtualenv
|
|
|
|
|
# Tox itself runs on the system python3 (i.e. %%{python3_version},
|
|
|
|
|
# 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: python27
|
|
|
|
|
Recommends: python33
|
|
|
|
|
Recommends: python34
|
|
|
|
|
Recommends: python35
|
|
|
|
|
Recommends: python36
|
|
|
|
|
Recommends: python37
|
|
|
|
|
Recommends: python38
|
|
|
|
|
Recommends: python39
|
|
|
|
|
Recommends: pypy-devel
|
|
|
|
|
Recommends: pypy3-devel
|
|
|
|
|
Recommends: python2-devel
|
|
|
|
|
Recommends: python3-devel
|
|
|
|
|
|
|
|
|
|
# Replace the python2 version
|
|
|
|
|
Obsoletes: python2-tox < 2.9.1-4
|
|
|
|
|
|
|
|
|
|
%if %{with internet}
|
|
|
|
|
# for tests
|
|
|
|
|
BuildRequires: python3-py
|
|
|
|
|
BuildRequires: python3-pytest
|
|
|
|
|
BuildRequires: python3-pytest-mock
|
|
|
|
|
BuildRequires: python3-pytest-xdist
|
|
|
|
|
BuildRequires: python3-virtualenv
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%?python_enable_dependency_generator
|
|
|
|
|
|
|
|
|
|
%description -n python3-%{pypiname}
|
|
|
|
|
Tox as is a generic virtualenv management and test command line tool you
|
|
|
|
|
can use for:
|
|
|
|
@@ -98,34 +87,43 @@ can use for:
|
|
|
|
|
boilerplate and merging CI and shell-based testing.
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%setup -q -n %{pypiname}-%{version}
|
|
|
|
|
%autosetup -p1 -n %{pypiname}-%{version}
|
|
|
|
|
|
|
|
|
|
# remove bundled egg-info
|
|
|
|
|
rm -rf %{pypiname}.egg-info
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%py2_build
|
|
|
|
|
%py3_build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%py2_install
|
|
|
|
|
rm %{buildroot}%{_bindir}/%{pypiname}*
|
|
|
|
|
|
|
|
|
|
%py3_install
|
|
|
|
|
|
|
|
|
|
# if internet connection available, run tests
|
|
|
|
|
%if %{with internet}
|
|
|
|
|
%check
|
|
|
|
|
TOXENV=py27 %{__python2} setup.py test
|
|
|
|
|
TOXENV=py%{python3_version_nodots} %{__python3} setup.py test
|
|
|
|
|
# there will be failures like
|
|
|
|
|
# ModuleNotFoundError: tox
|
|
|
|
|
# or InterpreterNotFound: python
|
|
|
|
|
# We juggle the environment variables as much as we can, but it's not perfect.
|
|
|
|
|
# To workaround this:
|
|
|
|
|
# 1. build --without internet
|
|
|
|
|
# 2. install the new python3-tox
|
|
|
|
|
# 3. build --with internet
|
|
|
|
|
mkdir .path
|
|
|
|
|
ln -s %{__python3} .path/python
|
|
|
|
|
ln -s /usr/bin/easy_install-%{python3_version} .path/easy_install
|
|
|
|
|
ln -s /usr/bin/pytest-%{python3_version} .path/pytest
|
|
|
|
|
ln -s /usr/bin/pip3 .path/pip
|
|
|
|
|
export PATH=$(pwd)/.path:%{buildroot}%{_bindir}:$PATH
|
|
|
|
|
export PYTHONPATH=%{buildroot}%{python3_sitelib}
|
|
|
|
|
export TOXENV=py%{python3_version_nodots}
|
|
|
|
|
export TOX_TESTENV_PASSENV="PATH TOX_TESTENV_PASSENV"
|
|
|
|
|
# TODO figure out why PEP517/518 tests and test_provision_cli_args_ignore won't pass
|
|
|
|
|
pytest-3 -n auto -k "not test_verbose_isolated_build and not test_dist_exists_version_change and not test_alwayscopy"
|
|
|
|
|
rm -rf .path
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%files -n python2-%{pypiname}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
%{python2_sitelib}/%{pypiname}
|
|
|
|
|
%{python2_sitelib}/%{pypiname}-%{version}-py2.?.egg-info
|
|
|
|
|
|
|
|
|
|
%files -n python3-%{pypiname}
|
|
|
|
|
%{_bindir}/%{pypiname}
|
|
|
|
|
%{_bindir}/%{pypiname}-quickstart
|
|
|
|
@@ -133,6 +131,60 @@ TOXENV=py%{python3_version_nodots} %{__python3} setup.py test
|
|
|
|
|
%{python3_sitelib}/%{pypiname}-%{version}-py%{python3_version}.egg-info
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Thu Feb 06 2020 Miro Hrončok <mhroncok@redhat.com> - 3.5.3-4
|
|
|
|
|
- Fix invocation with Python 3.9 (#1798929)
|
|
|
|
|
- Recommend Python 3.9
|
|
|
|
|
|
|
|
|
|
* Fri Feb 15 2019 Lumír Balhar <lbalhar@redhat.com> - 3.5.3-3
|
|
|
|
|
- Recommend Python 3.8
|
|
|
|
|
|
|
|
|
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.3-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Thu Nov 22 2018 Artem Goncharov <artem.goncharov@gmail.com> - 3.5.3-1
|
|
|
|
|
- Upgrade to 3.5.3 version
|
|
|
|
|
|
|
|
|
|
* Mon Nov 19 2018 Artem Goncharov <artem.goncharov@gmail.com> - 3.4.0-1
|
|
|
|
|
- Upgrade to 3.4.0 version (#1652657)
|
|
|
|
|
|
|
|
|
|
* Thu Nov 01 2018 Matthias Runge <mrunge@redhat.com> - 3.0.0-6
|
|
|
|
|
- remove and revert the change to recommend python 2.7 (rhbz#1645025)
|
|
|
|
|
|
|
|
|
|
* Tue Aug 28 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-4
|
|
|
|
|
- Don't recommend Python 2.6, it doesn't work with tox 3
|
|
|
|
|
|
|
|
|
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-2
|
|
|
|
|
- Rebuilt for Python 3.7
|
|
|
|
|
|
|
|
|
|
* Mon Jul 02 2018 Matthias Runge <mrunge@redhat.com> - 3.0.0-1
|
|
|
|
|
- upgrade to 3.0.0
|
|
|
|
|
|
|
|
|
|
* Sun Jun 17 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-7
|
|
|
|
|
- Rebuilt for Python 3.7
|
|
|
|
|
|
|
|
|
|
* Tue May 15 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-6
|
|
|
|
|
- Remove the python2 version once again
|
|
|
|
|
- Stop recommending python33 (it's retired)
|
|
|
|
|
|
|
|
|
|
* Mon May 07 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-5
|
|
|
|
|
- Add python2 back, see #1575667
|
|
|
|
|
|
|
|
|
|
* Mon Apr 30 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-4
|
|
|
|
|
- Remove the python2 version
|
|
|
|
|
|
|
|
|
|
* Thu Mar 15 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-3
|
|
|
|
|
- Switch to automatic dependency generator (also fixes #1556164)
|
|
|
|
|
- Recommend python37
|
|
|
|
|
|
|
|
|
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Jan 29 2018 Matthias Runge <mrunge@redhat.com> - 2.9.1-1
|
|
|
|
|
- update to 2.9.1
|
|
|
|
|
|
|
|
|
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|