%if 0%{?rhel} %global with_python3 0 %else %global with_python3 1 %endif %if 0%{?rhel} && 0%{?rhel} <= 6 %{!?__python2: %global __python2 /usr/bin/python2} %{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %endif %global srcname pytest-multihost %global modulename pytest_multihost %global srcversion 1.1 %global versionedname %{srcname}-%{srcversion} Name: python-%{srcname} Version: %{srcversion} Release: 7%{?dist} Summary: Utility for writing multi-host tests for pytest License: GPLv3+ URL: https://github.com/encukou/%{srcname} Source0: https://github.com/encukou/%{srcname}/archive/v%{srcversion}.tar.gz#/%{versionedname}.tar.gz BuildArch: noarch BuildRequires: python2-devel BuildRequires: python2-setuptools BuildRequires: python2-pytest %if 0%{?with_python3} BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pytest %endif %description Allows pytest tests to run commands on several machines. The machines to run on are described on the command line, the tests specify how many machines they need and commands/checks to run on them. %package -n python2-%{srcname} Summary: Utility for writing multi-host tests for pytest %{?python_provide:%python_provide python2-%{srcname}} Requires: python2 Requires: python2-pytest >= 2.4.0 # Should use python_provide macros, but those won't work in older EPEL Provides: python2-%{srcname} %if 0%{?fedora} # These are not *strictly* required, but are part of the default workflow. Requires: PyYAML Requires: python-paramiko %endif %description -n python2-%{srcname} Allows pytest tests to run commands on several machines. The machines to run on are described on the command line, the tests specify how many machines they need and commands/checks to run on them. %if 0%{?with_python3} %package -n python3-%{srcname} Summary: Utility for writing multi-host tests for pytest %{?python_provide:%python_provide python3-%{srcname}} Requires: python3 Requires: python3-pytest %description -n python3-%{srcname} Allows pytest tests to run commands on several machines. The machines to run on are described on the command line, the tests specify how many machines they need and commands/checks to run on them. %endif %prep %setup -q -n %{versionedname} %if 0%{?with_python3} echo %{py3dir} rm -rf %{py3dir} cp -a . %{py3dir} %endif %build %{__python2} setup.py build %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py build popd %endif %check # Do not run the test that needs passwordless SSH to localhost set up %{__python2} -m pytest -m "not needs_ssh" %if 0%{?with_python3} pushd %{py3dir} %{__python3} -m pytest -m "not needs_ssh" popd %endif %install %{__python2} setup.py install --skip-build --root %{buildroot} %if 0%{?with_python3} %py_byte_compile %{__python2} %{buildroot}%{python_sitelib}/%{srcname} %else # py_byte_compile is only defined in python3-devel %{__python2} -m compileall %{buildroot}%{python_sitelib}/%{srcname} %endif %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py install --skip-build --root %{buildroot} %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/%{srcname} popd %endif %files -n python2-%{srcname} %if 0%{?rhel} && 0%{?rhel} <= 6 %doc COPYING %else %license COPYING %endif %doc README.rst %{python_sitelib}/%{modulename}-%{version}-py2.?.egg-info %{python_sitelib}/%{modulename}/ %if 0%{?with_python3} %files -n python3-%{srcname} %license COPYING %doc README.rst %{python3_sitelib}/%{modulename}-%{version}-py%{python3_version}.egg-info %{python3_sitelib}/%{modulename}/ %endif %changelog * Thu Jul 27 2017 Fedora Release Engineering - 1.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Wed Jun 28 2017 Petr Viktorin - 1.1-6 - Rename "python-pytest-multihost" package to "python2-pytest-multihost" * Sat Feb 11 2017 Fedora Release Engineering - 1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Dec 19 2016 Miro HronĨok - 1.1-4 - Rebuild for Python 3.6 * Tue Jul 19 2016 Fedora Release Engineering - 1.1-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Fri Apr 22 2016 Petr Viktorin - 1.1-1 - Much improved support for Windows hosts (thanks to Niranjan MR) * Thu Mar 03 2016 Petr Viktorin - 1.0-1 - Add error handling in config file handling (thanks to Abhijeet Kasurde) - Add support to specify username/password per host (thanks to Niranjan MR) - Add ability to reset the SSH connection (thanks to Scott Poore) * Thu Feb 04 2016 Fedora Release Engineering - 0.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Nov 26 2015 Petr Viktorin - 0.9-1 - Add more file manipulation functions (thanks to Abhijeet Kasurde) - Slightly improve Python 3 support * Tue Nov 10 2015 Petr Viktorin - 0.8-1 - Fix creating multiple Configs from one dict * Tue Nov 10 2015 Petr Viktorin - 0.7-1 - Add compatibility with Python 2.6 * Tue Nov 10 2015 Fedora Release Engineering - 0.6-4 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 * Thu Jun 18 2015 Fedora Release Engineering - 0.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Tue Jan 27 2015 Petr Viktorin - 0.6-2 - Also install COPYING as a license on the Python 3 version * Mon Jan 26 2015 Petr Viktorin - 0.6-1 - Run tests - Install COPYING as a license * Wed Nov 26 2014 Petr Viktorin - 0.5-1 - Packaging fixes * Wed Nov 26 2014 Petr Viktorin - 0.4-2 - Specify minimum version of pytest * Wed Nov 26 2014 Petr Viktorin - 0.4-1 - Ensure backwards compatibility with FreeIPA's root-only logins * Wed Nov 26 2014 Petr Viktorin - 0.3-1 - "Upstream" packaging fixes * Mon Nov 10 2014 Petr Viktorin - 0.2-1 - better extensibility - bug fixes * Mon Nov 10 2014 Petr Viktorin - 0.1-1 - initial public version of package