From 2002a35c91caf5a6ada87db4fa03bad80bd3892b Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 7 May 2019 06:45:19 -0400 Subject: [PATCH] import python-wheel-0.30.0-12.module+el8+2339+1a6691f8 --- .gitignore | 1 + .python-wheel.metadata | 1 + SOURCES/remove-keyrings.alt-dependency.patch | 27 ++ SPECS/python-wheel.spec | 292 +++++++++++++++++++ 4 files changed, 321 insertions(+) create mode 100644 .gitignore create mode 100644 .python-wheel.metadata create mode 100644 SOURCES/remove-keyrings.alt-dependency.patch create mode 100644 SPECS/python-wheel.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b1f6038 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/wheel-0.30.0.tar.gz diff --git a/.python-wheel.metadata b/.python-wheel.metadata new file mode 100644 index 0000000..b92c196 --- /dev/null +++ b/.python-wheel.metadata @@ -0,0 +1 @@ +bf1b7cf2c46378b7300ad9d4e2b86e462cdd7f73 SOURCES/wheel-0.30.0.tar.gz diff --git a/SOURCES/remove-keyrings.alt-dependency.patch b/SOURCES/remove-keyrings.alt-dependency.patch new file mode 100644 index 0000000..a3cb7f0 --- /dev/null +++ b/SOURCES/remove-keyrings.alt-dependency.patch @@ -0,0 +1,27 @@ +diff -uNr wheel-0.30.0.orig/setup.py wheel-0.30.0/setup.py +--- wheel-0.30.0.orig/setup.py 2017-07-29 22:08:53.000000000 +0200 ++++ wheel-0.30.0/setup.py 2018-02-23 13:30:44.736351678 +0100 +@@ -38,7 +38,7 @@ + license='MIT', + packages=find_packages(), + extras_require={ +- 'signatures': ['keyring', 'keyrings.alt'], ++ 'signatures': ['keyring'], + 'signatures:sys_platform!="win32"': ['pyxdg'], + 'faster-signatures': ['ed25519ll'], + 'tool': [], +diff -uNr wheel-0.30.0.orig/wheel/tool/__init__.py wheel-0.30.0/wheel/tool/__init__.py +--- wheel-0.30.0.orig/wheel/tool/__init__.py 2017-08-06 13:31:33.000000000 +0200 ++++ wheel-0.30.0/wheel/tool/__init__.py 2018-02-23 13:30:33.861317739 +0100 +@@ -31,10 +31,9 @@ + try: + from ..signatures import keys + import keyring +- assert keyring.get_keyring().priority + except (ImportError, AssertionError): + raise WheelError( +- "Install wheel[signatures] (requires keyring, keyrings.alt, pyxdg) for signatures.") ++ "Install wheel[signatures] (requires keyring, pyxdg) for signatures.") + + return keys.WheelKeys, keyring + diff --git a/SPECS/python-wheel.spec b/SPECS/python-wheel.spec new file mode 100644 index 0000000..0ca44b4 --- /dev/null +++ b/SPECS/python-wheel.spec @@ -0,0 +1,292 @@ +# Note that the only function of bootstrap is that it disables the test suite: +# bcond_with bootstrap = tests enabled +%bcond_without bootstrap + +# Note(hguemar): EL7 has no python3 stack but EPEL does +%if 0%{?rhel} && 0%{?rhel} <= 7 && 0%{!?epel:1} +%define _without_python3 1 +%endif + +%if 0%{?_with_python27_module} +%undefine _without_python3 +%endif + +%bcond_with python36_module + +%bcond_without python2 +%bcond_without python3 + +%global pypi_name wheel + +Name: python-%{pypi_name} +Version: 0.30.0 +Release: 12%{?dist} +Epoch: 1 +Summary: Built-package format for Python + +License: MIT +URL: https://github.com/pypa/wheel +Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz +BuildArch: noarch + +# Latest version of wheel requires the package keyrings.alt in order for the tests to pass, +# however it can't be packaged for Fedora as of yet since the code is not licensed, +# and as a result wheel fails to build from source. +# Review request of keyrings.alt: https://bugzilla.redhat.com/show_bug.cgi?id=1365794 +# Until the license issue is resolved upstream, this patch is added to revert +# the commit from wheel, that introduced this dependency. +# https://bitbucket.org/pypa/wheel/commits/06841295888fdb430abe12aae29da92107e7360a +Patch0: remove-keyrings.alt-dependency.patch + +%global _description \ +A built-package format for Python.\ +\ +A wheel is a ZIP-format archive with a specially formatted filename and the\ +.whl extension. It is designed to contain all the files for a PEP 376\ +compatible install in a way that is very close to the on-disk format. + +%description %{_description} + +%if %{with python2} +%package -n python2-%{pypi_name} +Summary: %{summary} +BuildRequires: python2-devel +BuildRequires: python2-setuptools +%if ! %{with bootstrap} +BuildRequires: python2-pytest +%endif +%{?python_provide:%python_provide python2-%{pypi_name}} + +%description -n python2-%{pypi_name} %{_description} + +Python 2 version. +%endif + + +%if %{with python3} +%package -n python3-%{pypi_name} +Summary: %{summary} +%if %{with python36_module} +BuildRequires: python36-devel +BuildRequires: python36-rpm-macros +%else +BuildRequires: python3-devel +%endif +BuildRequires: python3-setuptools +%if ! %{with bootstrap} +BuildRequires: python3-pytest +%endif +# For alternatives +Requires: python36 +Requires(post): python36 +Requires(postun): python36 +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} %{_description} + +Python 3 version. +%endif + + +%prep +%autosetup -n %{pypi_name}-%{version} -p1 +# remove unneeded shebangs +sed -ie '1d' %{pypi_name}/{egg2wheel,wininst2wheel}.py + +# Remove tests for optional functionality which depends on bad crypto +# (pycryptopp -> python-keyring -> python-wheel) +# See https://bugzilla.redhat.com/show_bug.cgi?id=1561576 +rm tests/test_signatures.py +sed -i -e's/^def test_keygen():$/def skip_test_keygen():/' tests/test_tool.py + + +%build +%if %{with python2} +export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 +%py2_build +%endif +%if %{with python3} +%py3_build +%endif + + +%install +%if %{with python3} +%py3_install +mv %{buildroot}%{_bindir}/%{pypi_name}{,-%{python3_version}} +# Create an empty file to be used by `alternatives` +touch %{buildroot}%{_bindir}/%{pypi_name}-3 +%endif + +%if %{with python2} +export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 +%py2_install +mv %{buildroot}%{_bindir}/%{pypi_name}{,-%{python2_version}} +ln -s %{pypi_name}-%{python2_version} %{buildroot}%{_bindir}/%{pypi_name}-2 +%endif + +%if ! %{with bootstrap} +%check +rm setup.cfg + +# Remove part of the test that uses the "jsonschema" package +sed -i '/jsonschema/d' tests/test_bdist_wheel.py + +%if %{with python2} +export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 +PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-2 -v --ignore build +%endif +%if %{with python3} +PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-3 -v --ignore build +%endif +%endif + + +%if %{with python3} +%post -n python3-%{pypi_name} +alternatives --add-slave python3 %{_bindir}/python%{python3_version} \ + %{_bindir}/%{pypi_name}-3 \ + %{pypi_name}-3 \ + %{_bindir}/%{pypi_name}-%{python3_version} + +%postun -n python3-%{pypi_name} +# Do this only during uninstall process (not during update) +if [ $1 -eq 0 ]; then + alternatives --remove-slave python3 %{_bindir}/python%{python3_version} \ + %{pypi_name}-3 +fi +%endif + + +%if %{with python2} +%files -n python2-%{pypi_name} +%license LICENSE.txt +%doc CHANGES.txt README.rst +%{_bindir}/%{pypi_name}-2 +%{_bindir}/%{pypi_name}-%{python2_version} +%{python2_sitelib}/%{pypi_name}* +%endif + +%if %{with python3} +%files -n python3-%{pypi_name} +%license LICENSE.txt +%doc CHANGES.txt README.rst +%ghost %{_bindir}/%{pypi_name}-3 +%{_bindir}/%{pypi_name}-%{python3_version} +%{python3_sitelib}/%{pypi_name}* +%endif + +%changelog +* Thu Oct 04 2018 Lumír Balhar - 1:0.30.0-12 +- Fix alternatives - post and postun sections only with python3 +- Resolves: rhbz#1633534 + +* Mon Oct 01 2018 Lumír Balhar - 1:0.30.0-11 +- Fix update of alternatives for wheel-3 +- Resolves: rhbz#1633534 + +* Mon Oct 01 2018 Lumír Balhar - 1:0.30.0-10 +- Add alternatives for wheel-3 +- Resolves: rhbz#1633534 + +* Fri Aug 17 2018 Lumír Balhar - 1:0.30.0-9 +- Remove python3 executables without full version suffix +- Resolves: rhbz#1615727 + +* Fri Aug 17 2018 Lumír Balhar - 1:0.30.0-8 +- Different BR for python36 module build +- Resolves: rhbz#1615727 + +* Wed Aug 08 2018 Lumír Balhar - 1:0.30.0-7 +- Remove unversioned binaries from python2 subpackage +- Resolves: rhbz#1613343 + +* Tue Aug 07 2018 Lumír Balhar - 1:0.30.0-6 +- Disable tests (enable bootstrap) +- Build Python 3 version in python27 module + +* Tue Jul 03 2018 Tomas Orsava - 1:0.30.0-5 +- This package might be built with the non-modular python2 package from RHEL8 + buildroot and thus we need to enable it + +* Tue Jun 12 2018 Petr Viktorin - 1:0.30.0-4 +- Also remove test dependency on python3-jsonschema + +* Wed May 30 2018 Petr Viktorin - 1:0.30.0-3 +- Remove test dependency on python2-jsonschema + https://bugzilla.redhat.com/show_bug.cgi?id=1584189 + +* Tue Apr 10 2018 Petr Viktorin - 1:0.30.0-2 +- Remove build-time (test) dependency on python-keyring + +* Fri Feb 23 2018 Igor Gnatenko - 1:0.30.0-1 +- Update to 0.30.0 + +* Fri Feb 09 2018 Fedora Release Engineering - 0.30.0a0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Aug 29 2017 Tomas Orsava - 0.30.0a0-8 +- Switch macros to bcond's and make Python 2 optional to facilitate building + the Python 2 and Python 3 modules + +* Thu Jul 27 2017 Fedora Release Engineering - 0.30.0a0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.30.0a0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 03 2017 Charalampos Stratakis - 0.30.0a0-5 +- Enable tests + +* Fri Dec 09 2016 Charalampos Stratakis - 0.30.0a0-4 +- Rebuild for Python 3.6 without tests + +* Tue Dec 06 2016 Igor Gnatenko - 0.30.0a0-3 +- Add bootstrap method + +* Mon Sep 19 2016 Charalampos Stratakis - 0.30.0a0-2 +- Use the python_provide macro + +* Mon Sep 19 2016 Charalampos Stratakis - 0.30.0a0-1 +- Update to 0.30.0a0 +- Added patch to remove keyrings.alt dependency + +* Wed Aug 10 2016 Igor Gnatenko - 0.29.0-1 +- Update to 0.29.0 +- Cleanups and fixes + +* Tue Jul 19 2016 Fedora Release Engineering - 0.26.0-3 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering - 0.26.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 13 2015 Robert Kuska - 0.26.0-1 +- Update to 0.26.0 +- Rebuilt for Python3.5 rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 0.24.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Jan 13 2015 Slavek Kabrda - 0.24.0-3 +- Make spec buildable in EPEL 6, too. +- Remove additional sources added to upstream tarball. + +* Sat Jan 03 2015 Matej Cepl - 0.24.0-2 +- Make python3 conditional (switched off for RHEL-7; fixes #1131111). + +* Mon Nov 10 2014 Slavek Kabrda - 0.24.0-1 +- Update to 0.24.0 +- Remove patches merged upstream + +* Sun Jun 08 2014 Fedora Release Engineering - 0.22.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Apr 25 2014 Matej Stuchlik - 0.22.0-3 +- Another rebuild with python 3.4 + +* Fri Apr 18 2014 Matej Stuchlik - 0.22.0-2 +- Rebuild with python 3.4 + +* Thu Nov 28 2013 Bohuslav Kabrda - 0.22.0-1 +- Initial package.