%global srcname pip %global python_wheelname %{srcname}-%{version}-py2.py3-none-any.whl %global python_wheeldir %{_datadir}/python-wheels %global _description \ pip is the package installer for Python. You can use pip to install packages from the Python Package Index and other indexes. %global bashcompdir %(b=$(pkg-config --variable=completionsdir bash-completion 2>/dev/null); echo ${b:-%{_sysconfdir}/bash_completion.d}) Name: python-%{srcname} Version: 20.3.3 Release: 1 Summary: A tool for installing and managing Python packages License: MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD) URL: http://www.pip-installer.org Source0: %{pypi_source} BuildArch: noarch Patch1: allow-stripping-given-prefix-from-wheel-RECORD-files.patch Patch2: emit-a-warning-when-running-with-root-privileges.patch Patch3: remove-existing-dist-only-if-path-conflicts.patch Patch6000: dummy-certifi.patch Source10: pip-allow-older-versions.patch %description %{_description} %package -n python%{python3_pkgversion}-%{srcname} Summary: %{summary} BuildRequires: python%{python3_pkgversion}-devel python%{python3_pkgversion}-setuptools bash-completion ca-certificates Requires: python%{python3_pkgversion}-setuptools ca-certificates BuildRequires: python%{python3_pkgversion}-pip python%{python3_pkgversion}-wheel %{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} %description -n python%{python3_pkgversion}-%{srcname} %{_description} %package_help %package wheel Summary: The pip wheel Requires: ca-certificates %description wheel A Python wheel of pip to use with venv %prep %autosetup -n %{srcname}-%{version} -p1 %build %py3_build_wheel %install %{__python3} dist/%{python_wheelname}/pip install \ --root %{buildroot} \ --no-deps \ --no-cache-dir \ --no-index \ --ignore-installed \ --find-links dist \ 'pip==%{version}' %if %{with doc} pushd docs/build/man install -d %{buildroot}%{_mandir}/man1 for MAN in *1; do install -pm0644 $MAN %{buildroot}%{_mandir}/man1/$MAN for pip in "pip3" "pip-3" "pip%{python3_version}" "pip-%{python3_version}"; do echo ".so $MAN" > %{buildroot}%{_mandir}/man1/${MAN/pip/$pip} done done popd %endif # before we ln -s anything, we apply Source10 patch to all pips: for PIP in %{buildroot}%{_bindir}/pip*; do patch -p1 --no-backup-if-mismatch $PIP < %{SOURCE10} done mkdir -p %{buildroot}%{bashcompdir} PYTHONPATH=%{buildroot}%{python3_sitelib} \ %{buildroot}%{_bindir}/pip completion --bash \ > %{buildroot}%{bashcompdir}/pip3 # Make bash completion apply to all the 5 symlinks we install sed -i -e "s/^\\(complete.*\\) pip\$/\\1 pip pip{,-}{3,%{python3_version}}/" \ -e s/_pip_completion/_pip3_completion/ \ %{buildroot}%{bashcompdir}/pip3 # Provide symlinks to executables to comply with Fedora guidelines for Python ln -s ./pip%{python3_version} %{buildroot}%{_bindir}/pip-%{python3_version} ln -s ./pip-%{python3_version} %{buildroot}%{_bindir}/pip-3 # Make sure the INSTALLER is not pip and remove RECORD, otherwise Patch2 won't work # %%pyproject macros do this for all packages echo rpm > %{buildroot}%{python3_sitelib}/pip-%{version}.dist-info/INSTALLER rm %{buildroot}%{python3_sitelib}/pip-%{version}.dist-info/RECORD mkdir -p %{buildroot}%{python_wheeldir} install -p dist/%{python_wheelname} -t %{buildroot}%{python_wheeldir} %files -n python%{python3_pkgversion}-%{srcname} %license LICENSE.txt %{_bindir}/pip %{_bindir}/pip3 %{_bindir}/pip-3* %{_bindir}/pip%{python3_version} %{python3_sitelib}/pip* %dir %{bashcompdir} %{bashcompdir}/pip3* %dir %(dirname %{bashcompdir}) %files help %doc README.rst %files wheel %license LICENSE.txt %dir %{python_wheeldir}/ %{python_wheeldir}/%{python_wheelname} %changelog * Tue Feb 02 2021 shixuantong - 20.3.3-1 - upgrade version to 20.3.3 * Wed Nov 4 2020 wangjie -20.2.2-3 - Type:NA - ID:NA - SUG:NA - DESC:remove python2 * Tue Sep 1 2020 wenzhanli - 20.2.2-2 - add pip-allow-older-versions.patch * Tue Aug 25 2020 wenzhanli - 20.2.2-1 - update to 20.2.2 and add python2 require * Tue Jul 28 2020 jinzhimin - 20.1.1-1 - update to 20.1.1 * Thu Feb 20 2020 chengquan3 - 18.0-12 - Type:bugfix - ID:NA - SUG:NA - DESC: Remove incorrect provision of python-wheel * Sat Nov 16 2019 huzhiyu - 18.0-11 - fix ca-certificate bad requires * Fri Oct 15 2019 lvying - 18.0-10 - Type:enhancement - ID:NA - SUG:NA - DESC: split same wheel file from python2-pip and python3-pip * Sun Sep 29 2019 yefei - 18.0-9 - Type:enhancement - ID:NA - SUG:NA - DESC: Synchronize patches * Sat Sep 28 2019 yefei - 18.0-8 - Type:enhancement - ID:NA - SUG:NA - DESC: add bash completion and repair python2 interpreter path * Wed Sep 25 2019 openEuler Buildteam - 18.0-7 - Type:enhancement - ID:NA - SUG:NA - DESC: Synchronize a patch * Mon Sep 23 2019 openEuler Buildteam - 18.0-6 - Package init