You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
394 lines
14 KiB
394 lines
14 KiB
%global build_wheel 0 |
|
%global with_tests 0 |
|
|
|
%global srcname pip |
|
%if 0%{?build_wheel} |
|
%global python3_wheelname %{srcname}-%{version}-py2.py3-none-any.whl |
|
%endif |
|
|
|
%global bashcompdir %(b=$(pkg-config --variable=completionsdir bash-completion 2>/dev/null); echo ${b:-%{_sysconfdir}/bash_completion.d}) |
|
%if "%{bashcompdir}" != "%{_sysconfdir}/bash_completion.d" |
|
%global bashcomp2 1 |
|
%endif |
|
|
|
Name: python3-%{srcname} |
|
# When updating, update the bundled libraries versions bellow! |
|
Version: 9.0.3 |
|
Release: 1%{?dist} |
|
Summary: A tool for installing and managing Python3 packages |
|
|
|
Group: Development/Libraries |
|
License: MIT |
|
URL: http://www.pip-installer.org |
|
Source0: https://files.pythonhosted.org/packages/source/p/%{srcname}/%{srcname}-%{version}.tar.gz |
|
|
|
BuildArch: noarch |
|
|
|
# to get tests: |
|
# git clone https://github.com/pypa/pip && cd pip |
|
# git checkout 9.0.1 && tar -czvf ../pip-9.0.1-tests.tar.gz tests/ |
|
%if 0%{?with_tests} |
|
Source1: pip-9.0.1-tests.tar.gz |
|
%endif |
|
|
|
# Patch until the following issue gets implemented upstream: |
|
# https://github.com/pypa/pip/issues/1351 |
|
Patch0: allow-stripping-given-prefix-from-wheel-RECORD-files.patch |
|
|
|
# Downstream only patch |
|
# Emit a warning to the user if pip install is run with root privileges |
|
# Issue upstream: https://github.com/pypa/pip/issues/4288 |
|
Patch1: emit-a-warning-when-running-with-root-privileges.patch |
|
|
|
|
|
# WIP upstream patch https://github.com/pypa/pip/issues/5346 |
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1573755 |
|
Patch2: pip-nowarn-upgrade.patch |
|
|
|
# Downstream only patch |
|
# Users are upgrading pip9 to pip10 by various manners, |
|
# one of them is `pip install --user --upgrade pip`. |
|
# If they do that and they run `pip` or `pip3`, the one from /usr/bin is used. |
|
# However that's the one from this RPM package (pip9) and the import in there |
|
# fails (it tries to import from ~/.local, but pip10 is there with a bit |
|
# different API). |
|
# We add this patch as a dirty workaround to make /usr/bin/pip* work with |
|
# both pip9 (from this RPM) and pip10 (from whatever). |
|
# A proper fix is to put ~/.local/bin in front of /usr/bin in the PATH, |
|
# however others are against that and we cannot change it for existing |
|
# installs/user homes anyway. |
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1569488 |
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1571650 |
|
# WARNING: /usr/bin/pip* are entrypoints, this cannot be applied in %%prep! |
|
# %%patch10 doesn't work outside of %%prep, so we add it as a source |
|
Source10: pip9-allow-pip10-import.patch |
|
|
|
BuildRequires: python%{python3_pkgversion}-devel |
|
BuildRequires: python%{python3_pkgversion}-setuptools |
|
BuildRequires: bash-completion |
|
%if 0%{?with_tests} |
|
BuildRequires: python%{python3_pkgversion}-mock |
|
BuildRequires: python%{python3_pkgversion}-pytest |
|
BuildRequires: python%{python3_pkgversion}-pretend |
|
BuildRequires: python%{python3_pkgversion}-freezegun |
|
BuildRequires: python%{python3_pkgversion}-pytest-capturelog |
|
BuildRequires: python%{python3_pkgversion}-scripttest |
|
BuildRequires: python%{python3_pkgversion}-virtualenv |
|
%endif |
|
%if 0%{?build_wheel} |
|
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(ipaddress) = 1.0.17 |
|
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 |
|
Pip is a replacement for `easy_install |
|
<http://peak.telecommunity.com/DevCenter/EasyInstall>`_. It uses mostly the |
|
same techniques for finding packages, so packages that were made |
|
easy_installable should be pip-installable as well. |
|
|
|
|
|
%prep |
|
%setup -q -n %{srcname}-%{version} |
|
%if 0%{?with_tests} |
|
tar -xf %{SOURCE1} |
|
%endif |
|
|
|
%patch0 -p1 |
|
%patch1 -p1 |
|
%patch2 -p1 |
|
|
|
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} |
|
%py3_build_wheel |
|
%else |
|
%{__python3} setup.py build |
|
%endif |
|
|
|
|
|
%install |
|
%if 0%{?build_wheel} |
|
%py3_install_wheel %{python3_wheelname} |
|
# TODO: we have to remove this by hand now, but it'd be nice if we wouldn't have to |
|
# (pip install wheel doesn't overwrite) |
|
rm %{buildroot}%{_bindir}/pip |
|
%else |
|
%{__python3} setup.py install --optimize 2 --root %{buildroot} |
|
%endif |
|
|
|
rm -rf %{buildroot}/usr/bin/pip |
|
|
|
# before we ln -s anything, we apply Source10 patch to all pips: |
|
#for PIP in %{buildroot}%{_bindir}/pip*; do |
|
# patch -p1 $PIP < %{SOURCE10} |
|
#done |
|
|
|
mkdir -p %{buildroot}%{bashcompdir} |
|
PYTHONPATH=%{buildroot}%{python3_sitelib} \ |
|
%{buildroot}%{_bindir}/pip3 completion --bash \ |
|
> %{buildroot}%{bashcompdir}/pip3 |
|
pips3=pip3 |
|
for pip in %{buildroot}%{_bindir}/pip*; do |
|
pip=$(basename $pip) |
|
case $pip in |
|
pip3?*) |
|
pips3="$pips3 $pip" |
|
%if 0%{?bashcomp2} |
|
ln -s pip3 %{buildroot}%{bashcompdir}/$pip |
|
%endif |
|
;; |
|
esac |
|
done |
|
sed -i -e "s/^\\(complete.*\\) pip\$/\\1 $pips3/" \ |
|
-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, otherwise Patch2 won't work |
|
# TODO Maybe we should make all our python packages have this? |
|
#echo rpm > %{buildroot}%{python3_sitelib}/pip3-%{version}.dist-info/INSTALLER |
|
|
|
%if 0%{?with_tests} |
|
%check |
|
py.test-%{python3_version} -m 'not network' |
|
%endif |
|
|
|
|
|
%files |
|
%license LICENSE.txt |
|
%doc README.rst docs |
|
%{_bindir}/pip3 |
|
%{_bindir}/pip-3 |
|
%{_bindir}/pip%{python3_version} |
|
%{_bindir}/pip-%{python3_version} |
|
%{python3_sitelib}/pip* |
|
%dir %{bashcompdir} |
|
%{bashcompdir}/pip3* |
|
%if 0%{?bashcomp2} |
|
%dir %(dirname %{bashcompdir}) |
|
%endif |
|
|
|
%changelog |
|
* Fri May 04 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-2 |
|
- Allow to import pip10's main from pip9's /usr/bin/pip |
|
- Do not show the "new version of pip" warning outside of venv |
|
Resolves: rhbz#1569488 |
|
Resolves: rhbz#1571650 |
|
Resolves: rhbz#1573755 |
|
|
|
* Thu Mar 29 2018 Charalampos Stratakis <cstratak@redhat.com> - 9.0.3-1 |
|
- Update to 9.0.3 |
|
|
|
* Mon Dec 04 2017 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-11 |
|
- Reintroduce the ipaddress module in the python3 subpackage. |
|
|
|
* 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 |
|
|
|
* Fri Mar 03 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-8 |
|
- Patch 1 update: No sudo pip warning in venv or virtualenv |
|
|
|
* Thu Feb 23 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-7 |
|
- Patch 1 update: Customize the warning with the proper version of the pip |
|
command |
|
|
|
* Tue Feb 14 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-6 |
|
- Added patch 1: Emit a warning when running with root privileges |
|
|
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-5 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
|
|
|
* Mon Jan 02 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-4 |
|
- Provide symlinks to executables to comply with Fedora guidelines for Python |
|
Resolves: rhbz#1406922 |
|
|
|
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-3 |
|
- Rebuild for Python 3.6 with wheel |
|
|
|
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-2 |
|
- Rebuild for Python 3.6 without wheel |
|
|
|
* Fri Nov 18 2016 Orion Poplawski <orion@cora.nwra.com> - 9.0.1-1 |
|
- Update to 9.0.1 |
|
|
|
* Fri Nov 18 2016 Orion Poplawski <orion@cora.nwra.com> - 8.1.2-5 |
|
- Enable EPEL Python 3 builds |
|
- Use new python macros |
|
- Cleanup spec |
|
|
|
* Fri Aug 05 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-4 |
|
- Updated the test sources |
|
|
|
* Fri Aug 05 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-3 |
|
- Moved python-pip into the python2-pip subpackage |
|
- Added the python_provide macro |
|
|
|
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.1.2-2 |
|
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages |
|
|
|
* Tue May 17 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-1 |
|
- Update to 8.1.2 |
|
- Moved to a new PyPI URL format |
|
- Updated the prefix-stripping patch because of upstream changes in pip/wheel.py |
|
|
|
* Mon Feb 22 2016 Slavek Kabrda <bkabrda@redhat.com> - 8.0.2-1 |
|
- Update to 8.0.2 |
|
|
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.0-4 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild |
|
|
|
* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 7.1.0-3 |
|
- Rebuilt for Python3.5 rebuild |
|
- With wheel set to 1 |
|
|
|
* Tue Oct 13 2015 Robert Kuska <rkuska@redhat.com> - 7.1.0-2 |
|
- Rebuilt for Python3.5 rebuild |
|
|
|
* Wed Jul 01 2015 Slavek Kabrda <bkabrda@redhat.com> - 7.1.0-1 |
|
- Update to 7.1.0 |
|
|
|
* Tue Jun 30 2015 Ville Skyttä <ville.skytta@iki.fi> - 7.0.3-3 |
|
- Install bash completion |
|
- Ship LICENSE.txt as %%license where available |
|
|
|
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.0.3-2 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild |
|
|
|
* Thu Jun 04 2015 Matej Stuchlik <mstuchli@redhat.com> - 7.0.3-1 |
|
- Update to 7.0.3 |
|
|
|
* Fri Mar 06 2015 Matej Stuchlik <mstuchli@redhat.com> - 6.0.8-1 |
|
- Update to 6.0.8 |
|
|
|
* Thu Dec 18 2014 Slavek Kabrda <bkabrda@redhat.com> - 1.5.6-5 |
|
- Only enable tests on Fedora. |
|
|
|
* Mon Dec 01 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-4 |
|
- Add tests |
|
- Add patch skipping tests requiring Internet access |
|
|
|
* Tue Nov 18 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-3 |
|
- Added patch for local dos with predictable temp dictionary names |
|
(http://seclists.org/oss-sec/2014/q4/655) |
|
|
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.6-2 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild |
|
|
|
* Sun May 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-1 |
|
- Update to 1.5.6 |
|
|
|
* Fri Apr 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-4 |
|
- Rebuild as wheel for Python 3.4 |
|
|
|
* Thu Apr 24 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-3 |
|
- Disable build_wheel |
|
|
|
* Thu Apr 24 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-2 |
|
- Rebuild as wheel for Python 3.4 |
|
|
|
* Mon Apr 07 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-1 |
|
- Updated to 1.5.4 |
|
|
|
* Mon Oct 14 2013 Tim Flink <tflink@fedoraproject.org> - 1.4.1-1 |
|
- Removed patch for CVE 2013-2099 as it has been included in the upstream 1.4.1 release |
|
- Updated version to 1.4.1 |
|
|
|
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-5 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild |
|
|
|
* Tue Jul 16 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.3.1-4 |
|
- Fix for CVE 2013-2099 |
|
|
|
* Thu May 23 2013 Tim Flink <tflink@fedoraproject.org> - 1.3.1-3 |
|
- undo python2 executable rename to python-pip. fixes #958377 |
|
- fix summary to match upstream |
|
|
|
* Mon May 06 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.3.1-2 |
|
- Fix main package Summary, it's for Python 2, not 3 (#877401) |
|
|
|
* Fri Apr 26 2013 Jon Ciesla <limburgher@gmail.com> - 1.3.1-1 |
|
- Update to 1.3.1, fix for CVE-2013-1888. |
|
|
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-3 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild |
|
|
|
* Tue Oct 09 2012 Tim Flink <tflink@fedoraproject.org> - 1.2.1-2 |
|
- Fixing files for python3-pip |
|
|
|
* Thu Oct 04 2012 Tim Flink <tflink@fedoraproject.org> - 1.2.1-1 |
|
- Update to upstream 1.2.1 |
|
- Change binary from pip-python to python-pip (RHBZ#855495) |
|
- Add alias from python-pip to pip-python, to be removed at a later date |
|
|
|
* Tue May 15 2012 Tim Flink <tflink@fedoraproject.org> - 1.1.0-1 |
|
- Update to upstream 1.1.0 |
|
|
|
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-2 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild |
|
|
|
* Sat Oct 22 2011 Tim Flink <tflink@fedoraproject.org> - 1.0.2-1 |
|
- update to 1.0.2 and added python3 subpackage |
|
|
|
* Wed Jun 22 2011 Tim Flink <tflink@fedoraproject.org> - 0.8.3-1 |
|
- update to 0.8.3 and project home page |
|
|
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-2 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild |
|
|
|
* Mon Dec 20 2010 Luke Macken <lmacken@redhat.com> - 0.8.2-1 |
|
- update to 0.8.2 of pip |
|
* Mon Aug 30 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.8-1 |
|
- update to 0.8 of pip |
|
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.7.2-5 |
|
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild |
|
|
|
* Wed Jul 7 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.7.2-1 |
|
- update to 0.7.2 of pip |
|
* Sun May 23 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.7.1-1 |
|
- update to 0.7.1 of pip |
|
* Fri Jan 1 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1.4 |
|
- fix dependency issue |
|
* Fri Dec 18 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1-2 |
|
- fix spec file |
|
* Thu Dec 17 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1-1 |
|
- upgrade to 0.6.1 of pip |
|
* Mon Aug 31 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.4-1 |
|
- Initial package |
|
|
|
|