%global srcname execnet
Name: python-%{srcname}
Version: 1.7.1
Release: 3%{?dist}
Summary: Elastic Python Deployment
License: MIT
URL: https://github.com/pytest-dev/execnet
Source0: %pypi_source
Patch0001: 0001-Revert-Replace-deprecated-__multicall__-by-proper-ho.patch
Patch0002: 0002-Revert-Replace-removed-getfuncargvalue-by-getfixture.patch
Patch0003: 0003-tests-do-not-use-pytest.param.patch
Patch0004: 0004-Revert-Use-a-modern-fixture-instead-of-removed-cache.patch
BuildArch: noarch
BuildRequires: python-devel
BuildRequires: python-setuptools
# EPEL 7 does not have python-setuptools_scm, because setuptools is too old.
BuildRequires: python-apipkg
BuildRequires: pytest
BuildRequires: python-sphinx
BuildRequires: /bin/ps
BuildRequires: python-eventlet
BuildRequires: python-gevent >= 1.0
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-setuptools_scm
BuildRequires: python%{python3_pkgversion}-pytest
BuildRequires: python%{python3_pkgversion}-apipkg
# will result in provide of 'python2-execnet' for EPEL
%python_provide %{name}
# EPEL 7 does not have python3-gevent
# execnet was separated from pylib at that point
Conflicts: python-py < 1.1.0
Requires: python-apipkg
%description
execnet provides a share-nothing model with channel-send/receive
communication for distributing execution across many Python
interpreters across version, platform and network barriers. It has a
minimal and fast API targetting the following uses:
* distribute tasks to (many) local or remote CPUs
* write and deploy hybrid multi-process applications
* write scripts to administer multiple environments
%package -n python%{python3_pkgversion}-execnet
Summary: Elastic Python Deployment
Group: Development/Languages
Requires: python%{python3_pkgversion}-setuptools
Requires: python%{python3_pkgversion}-apipkg
%description -n python%{python3_pkgversion}-execnet
execnet provides a share-nothing model with channel-send/receive
communication for distributing execution across many Python
interpreters across version, platform and network barriers. It has a
minimal and fast API targetting the following uses:
* distribute tasks to (many) local or remote CPUs
* write and deploy hybrid multi-process applications
* write scripts to administer multiple environments
%prep
%autosetup -p1 -n %{srcname}-%{version}
# EL7 has no setuptools_scm on py27. Hard-code the version number instead:
sed -i 's/setup_requires=\["setuptools_scm"\],/version="%{version}",/' setup.py
# remove shebangs and fix permissions
find . -type f -a \( -name '*.py' -o -name 'py.*' \) \
-exec sed -i '1{/^#!/d}' {} \; \
-exec chmod u=rw,go=r {} \;
cp -a . %{py3dir}
%build
%{__python} setup.py build
make -C doc html
pushd %{py3dir}
%{__python3} setup.py build
popd
%install
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
popd
# remove hidden file
rm doc/_build/html/.buildinfo
%check
PYTHONPATH=$(pwd) LC_ALL="en_US.UTF-8" \
py.test-%{python_version} -r s -k'-test_stdouterrin_setnull' testing
pushd %{py3dir}
PYTHONPATH=$(pwd) LC_ALL="en_US.UTF-8" \
py.test-%{python3_version} -r s testing
popd
%files
%{python_sitelib}/%{srcname}*
%license LICENSE
%doc README.rst CHANGELOG.rst
%doc doc/_build/html
%files -n python%{python3_pkgversion}-execnet
%{python3_sitelib}/%{srcname}*
%license LICENSE
%doc README.rst CHANGELOG.rst
%doc doc/_build/html
%changelog
* Wed Mar 11 2020 Ken Dreyer <kdreyer@redhat.com> - 1.7.1-3
- Require python-apipkg for Python 2 (rhbz#1812692)
* Thu Feb 13 2020 Zack Cerza <zack@redhat.com> - 1.7.1-2
- Add python-apipkg to Requires
* Wed Dec 04 2019 Ken Dreyer <kdreyer@redhat.com> - 1.7.1-1
- Update to latest upstream release
- Unconditionally build with Python 3
- Switch to %%autosetup
- Drop upstreamed patches
- Add patches for el7's older pytest
- Use %%license macro
* Thu Mar 07 2019 Troy Dawson <tdawson@redhat.com>
- Rebuilt to change main python from 3.4 to 3.6
* Tue Jun 12 2018 Adam Williamson <awilliam@redhat.com> - 1.2.0-6
- Add python2-execnet provide for EL7
* Sat Feb 10 2018 Scott Talbert <swt@techie.net> - 1.2.0-5
- Enable python3 build on EL7
* Sat Jan 23 2016 Thomas Moschny <thomas.moschny@gmx.de> - 1.2.0-4.1
- Fix rhbz#1291048:
- Conditionalize dependency on python-gevent.
- Disable failing test.
- Drop unused patch.
* Wed Jun 18 2014 Orion Poplawski <orion@cora.nwra.com> - 1.2.0-4
- Add patch to fix failing test with old pytest on EL7
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon May 19 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Fri Apr 18 2014 Thomas Moschny <thomas.moschny@gmx.de> - 1.2.0-1
- Update to 1.2.0.
- Update license.
- Modernize spec file.
- Remove patch not needed anymore.
- Update build requirements.
- Only run tests in 'testing'.
* Sun Aug 18 2013 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-6
- Fixing FTBFS (rhbz#992888, rhbz#914405): Add patch for failing
tests, disable other failing tests for now.
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 1.1-3
- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jun 22 2012 Thomas Moschny <thomas.moschny@gmx.de> - 1.1-1
- Update to 1.1.
- Update description.
- Remove patch applied upstream.
* Tue Jan 17 2012 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.9-3
- Add upstream patch for failing test.
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sun Sep 4 2011 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.9-1
- Update to 1.0.9.
- Use BR on python-setuptools instead of python-setuptools-devel.
- Create Python3 subpackage.
- Fix dependencies.
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.8-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sat Jul 31 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.8-1
- Update to 1.0.8.
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 1.0.7-1.1
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Sat Jul 10 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.7-1
- Update to 1.0.7.
- Do cleanups already in %%prep to avoid inconsistent mtimes between
source files and bytecode.
* Sat May 8 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.6-1
- Update to 1.0.6.
* Sun Feb 14 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.5-1
- Update to 1.0.5.
* Wed Jan 27 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.4-1
- Update to 1.0.4.
- No need to skip tests.
* Fri Jan 8 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.2-3
- Remove .buildinfo file from the doc dir.
* Thu Jan 7 2010 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.2-2
- Skip tests that need network access.
* Tue Dec 29 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.2-1
- Update to 1.0.2.
* Sat Dec 5 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.1-1
- Update to 1.0.1.
- Build and include HTML documentation.
- Be a bit more explicit in the %%files section.
* Sat Nov 28 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.0-1
- Update to 1.0.0.
* Sun Nov 22 2009 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.0-0.1.b3
- New package.