Add virtual provides for all the libraries that pip bundles.

Remove ordereddict bundle as it is only required for python <=2.6.

Remove ipaddress library from the python3 build as it only required on python2.

Changed some dependency names from python-* to the python2-* namespace.

Resolves: rhbz#1096912
This commit is contained in:
Charalampos Stratakis 2017-11-20 16:00:20 +01:00
parent d6fcf17a6e
commit 1189b23fc5
1 changed files with 71 additions and 13 deletions

View File

@ -16,8 +16,9 @@
%endif
Name: python-%{srcname}
# When updating, update the bundled libraries versions bellow!
Version: 9.0.1
Release: 9%{?dist}
Release: 10%{?dist}
Summary: A tool for installing and managing Python packages
Group: Development/Libraries
@ -54,23 +55,46 @@ easy_installable should be pip-installable as well.
Summary: A tool for installing and managing Python 2 packages
Group: Development/Libraries
BuildRequires: python2-devel
BuildRequires: python-setuptools
BuildRequires: python2-setuptools
%if 0%{?with_tests}
BuildRequires: git
BuildRequires: bzr
BuildRequires: python-mock
BuildRequires: pytest
BuildRequires: python-pretend
BuildRequires: python-freezegun
BuildRequires: python-pytest-capturelog
BuildRequires: python-scripttest
BuildRequires: python-virtualenv
BuildRequires: python2-mock
BuildRequires: python2-pytest
BuildRequires: python2-pretend
BuildRequires: python2-freezegun
BuildRequires: python2-pytest-capturelog
BuildRequires: python2-scripttest
BuildRequires: python2-virtualenv
%endif
%if 0%{?build_wheel}
BuildRequires: python2-pip
BuildRequires: python-wheel
BuildRequires: python2-wheel
%endif
Requires: python-setuptools
Requires: python2-setuptools
# Virtual provides for the packages bundled by pip.
# You can find the versions in pip/_vendor/vendor.txt file.
# Don't forget to update this bellow for python3 as well.
Provides: bundled(python2dist(appdirs)) = 1.4.0
Provides: bundled(python2dist(cachecontrol)) = 0.11.7
Provides: bundled(python2dist(colorama)) = 0.3.7
Provides: bundled(python2dist(distlib)) = 0.2.4
Provides: bundled(python2dist(distro)) = 1.0.1
Provides: bundled(python2dist(html5lib)) = 1.0b10
Provides: bundled(python2dist(ipaddress) = 1.0.17
Provides: bundled(python2dist(lockfile)) = 0.12.2
Provides: bundled(python2dist(packaging)) = 16.8
Provides: bundled(python2dist(setuptools)) = 28.8.0
Provides: bundled(python2dist(progress)) = 1.2
Provides: bundled(python2dist(pyparsing)) = 2.1.10
Provides: bundled(python2dist(requests)) = 2.11.1
Provides: bundled(python2dist(retrying)) = 1.3.3
Provides: bundled(python2dist(six)) = 1.10.0
Provides: bundled(python2dist(webencodings)) = 0.5
# Bundled within the requests bundle
Provides: bundled(python2dist(chardet)) = 2.3.0
Provides: bundled(python2dist(urllib3)) = 1.16
%{?python_provide:%python_provide python2-%{srcname}}
%description -n python2-%{srcname}
@ -102,6 +126,29 @@ BuildRequires: python%{python3_pkgversion}-pip
BuildRequires: python%{python3_pkgversion}-wheel
%endif
Requires: python%{python3_pkgversion}-setuptools
# Virtual provides for the packages bundled by pip.
# See the python2 list above for instructions.
Provides: bundled(python3dist(appdirs)) = 1.4.0
Provides: bundled(python3dist(cachecontrol)) = 0.11.7
Provides: bundled(python3dist(colorama)) = 0.3.7
Provides: bundled(python3dist(distlib)) = 0.2.4
Provides: bundled(python3dist(distro)) = 1.0.1
Provides: bundled(python3dist(html5lib)) = 1.0b10
Provides: bundled(python3dist(lockfile)) = 0.12.2
Provides: bundled(python3dist(packaging)) = 16.8
Provides: bundled(python3dist(setuptools)) = 28.8.0
Provides: bundled(python3dist(progress)) = 1.2
Provides: bundled(python3dist(pyparsing)) = 2.1.10
Provides: bundled(python3dist(requests)) = 2.11.1
Provides: bundled(python3dist(retrying)) = 1.3.3
Provides: bundled(python3dist(six)) = 1.10.0
Provides: bundled(python3dist(webencodings)) = 0.5
# Bundled within the requests bundle
Provides: bundled(python3dist(chardet)) = 2.3.0
Provides: bundled(python3dist(urllib3)) = 1.16
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
%description -n python%{python3_pkgversion}-%{srcname}
@ -123,6 +170,9 @@ tar -xf %{SOURCE1}
sed -i '1d' pip/__init__.py
# Remove ordereddict as it is only required for python <= 2.6
rm pip/_vendor/ordereddict.py
%build
%if 0%{?build_wheel}
@ -152,6 +202,11 @@ rm %{buildroot}%{_bindir}/pip
%endif
%endif # with_python3
# Remove the bundled ipaddress library from the python3 build
# as it is only required by the python2 one.
rm %{buildroot}%{python3_sitelib}/pip/_vendor/ipaddress.py
rm %{buildroot}%{python3_sitelib}/pip/_vendor/__pycache__/ipaddress.cpython-*.pyc
%if 0%{?build_wheel}
%py2_install_wheel %{python2_wheelname}
%else
@ -244,6 +299,9 @@ py.test-%{python3_version} -m 'not network'
%endif # with_python3
%changelog
* Mon Nov 20 2017 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-10
- Add virtual provides for the bundled libraries. (rhbz#1096912)
* Tue Mar 21 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-9
- Fix typo in the sudo pip warning