From c61e4bbff01e806c7e28306b5054601e2861e8c2 Mon Sep 17 00:00:00 2001 From: basebuilder_pel7ppc64bebuilder0 Date: Wed, 6 Jun 2018 15:26:59 +0200 Subject: [PATCH] python3-pip package creation Signed-off-by: basebuilder_pel7ppc64bebuilder0 --- ...given-prefix-from-wheel-RECORD-files.patch | 95 ++++ ...ng-when-running-with-root-privileges.patch | 44 ++ SOURCES/pip-nowarn-upgrade.patch | 36 ++ SOURCES/pip9-allow-pip10-import.patch | 16 + SPECS/python3-pip.spec | 521 ++++++++++++++++++ 5 files changed, 712 insertions(+) create mode 100644 SOURCES/allow-stripping-given-prefix-from-wheel-RECORD-files.patch create mode 100644 SOURCES/emit-a-warning-when-running-with-root-privileges.patch create mode 100644 SOURCES/pip-nowarn-upgrade.patch create mode 100644 SOURCES/pip9-allow-pip10-import.patch create mode 100644 SPECS/python3-pip.spec diff --git a/SOURCES/allow-stripping-given-prefix-from-wheel-RECORD-files.patch b/SOURCES/allow-stripping-given-prefix-from-wheel-RECORD-files.patch new file mode 100644 index 00000000..d66b2500 --- /dev/null +++ b/SOURCES/allow-stripping-given-prefix-from-wheel-RECORD-files.patch @@ -0,0 +1,95 @@ +diff -up pip-9.0.1/pip/commands/install.py.orig pip-9.0.1/pip/commands/install.py +--- pip-9.0.1/pip/commands/install.py.orig 2016-11-06 11:49:45.000000000 -0700 ++++ pip-9.0.1/pip/commands/install.py 2016-11-16 16:20:48.638906543 -0700 +@@ -151,6 +151,14 @@ class InstallCommand(RequirementCommand) + "directory.") + + cmd_opts.add_option( ++ '--strip-file-prefix', ++ dest='strip_file_prefix', ++ metavar='prefix', ++ default=None, ++ help="Strip given prefix from script paths in wheel RECORD." ++ ) ++ ++ cmd_opts.add_option( + '--prefix', + dest='prefix_path', + metavar='dir', +@@ -340,6 +348,7 @@ class InstallCommand(RequirementCommand) + global_options, + root=options.root_path, + prefix=options.prefix_path, ++ strip_file_prefix=options.strip_file_prefix, + ) + + possible_lib_locations = get_lib_location_guesses( +diff -up pip-9.0.1/pip/req/req_install.py.orig pip-9.0.1/pip/req/req_install.py +--- pip-9.0.1/pip/req/req_install.py.orig 2016-11-06 11:49:45.000000000 -0700 ++++ pip-9.0.1/pip/req/req_install.py 2016-11-16 16:19:24.848336960 -0700 +@@ -838,8 +838,7 @@ class InstallRequirement(object): + else: + return True + +- def install(self, install_options, global_options=[], root=None, +- prefix=None): ++ def install(self, install_options, global_options=[], root=None, prefix=None, strip_file_prefix=None): + if self.editable: + self.install_editable( + install_options, global_options, prefix=prefix) +@@ -848,7 +847,12 @@ class InstallRequirement(object): + version = pip.wheel.wheel_version(self.source_dir) + pip.wheel.check_compatibility(version, self.name) + +- self.move_wheel_files(self.source_dir, root=root, prefix=prefix) ++ self.move_wheel_files( ++ self.source_dir, ++ root=root, ++ prefix=prefix, ++ strip_file_prefix=strip_file_prefix ++ ) + self.install_succeeded = True + return + +@@ -1053,7 +1057,7 @@ class InstallRequirement(object): + def is_wheel(self): + return self.link and self.link.is_wheel + +- def move_wheel_files(self, wheeldir, root=None, prefix=None): ++ def move_wheel_files(self, wheeldir, root=None, prefix=None, strip_file_prefix=None): + move_wheel_files( + self.name, self.req, wheeldir, + user=self.use_user_site, +@@ -1062,6 +1066,7 @@ class InstallRequirement(object): + prefix=prefix, + pycompile=self.pycompile, + isolated=self.isolated, ++ strip_file_prefix=strip_file_prefix, + ) + + def get_dist(self): +diff -up pip-9.0.1/pip/wheel.py.orig pip-9.0.1/pip/wheel.py +--- pip-9.0.1/pip/wheel.py.orig 2016-11-06 11:49:45.000000000 -0700 ++++ pip-9.0.1/pip/wheel.py 2016-11-16 16:19:24.848336960 -0700 +@@ -238,7 +238,7 @@ def get_entrypoints(filename): + + + def move_wheel_files(name, req, wheeldir, user=False, home=None, root=None, +- pycompile=True, scheme=None, isolated=False, prefix=None): ++ pycompile=True, scheme=None, isolated=False, prefix=None, strip_file_prefix=None): + """Install a wheel""" + + if not scheme: +@@ -521,7 +521,11 @@ if __name__ == '__main__': + writer.writerow(row) + for f in generated: + h, l = rehash(f) +- writer.writerow((normpath(f, lib_dir), h, l)) ++ final_path = normpath(f, lib_dir) ++ if strip_file_prefix and final_path.startswith(strip_file_prefix): ++ final_path = os.path.join(os.sep, ++ os.path.relpath(final_path, strip_file_prefix)) ++ writer.writerow((final_path, h, l)) + for f in installed: + writer.writerow((installed[f], '', '')) + shutil.move(temp_record, record) diff --git a/SOURCES/emit-a-warning-when-running-with-root-privileges.patch b/SOURCES/emit-a-warning-when-running-with-root-privileges.patch new file mode 100644 index 00000000..644fce9e --- /dev/null +++ b/SOURCES/emit-a-warning-when-running-with-root-privileges.patch @@ -0,0 +1,44 @@ +From 18a617e9e0f64b727938422d4f941dfddfbf5d00 Mon Sep 17 00:00:00 2001 +From: Tomas Orsava +Date: Tue, 14 Feb 2017 17:10:09 +0100 +Subject: [PATCH] Emit a warning when running with root privileges. + +--- + pip/commands/install.py | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/pip/commands/install.py b/pip/commands/install.py +index 227c526..277a3d1 100644 +--- a/pip/commands/install.py ++++ b/pip/commands/install.py +@@ -6,6 +6,8 @@ import os + import tempfile + import shutil + import warnings ++import sys ++from os import path + try: + import wheel + except ImportError: +@@ -193,6 +195,18 @@ class InstallCommand(RequirementCommand): + cmdoptions.resolve_wheel_no_use_binary(options) + cmdoptions.check_install_build_global(options) + ++ def is_venv(): ++ return hasattr(sys, 'real_prefix') or \ ++ (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix) ++ ++ # Check whether we have root privileges and aren't in venv/virtualenv ++ if os.getuid() == 0 and not is_venv(): ++ logger.warning( ++ "WARNING: Running pip install with root privileges is " ++ "generally not a good idea. Try `%s install --user` instead." ++ % path.basename(sys.argv[0]) ++ ) ++ + if options.as_egg: + warnings.warn( + "--egg has been deprecated and will be removed in the future. " +-- +2.11.0 + diff --git a/SOURCES/pip-nowarn-upgrade.patch b/SOURCES/pip-nowarn-upgrade.patch new file mode 100644 index 00000000..9e314a53 --- /dev/null +++ b/SOURCES/pip-nowarn-upgrade.patch @@ -0,0 +1,36 @@ +diff --git a/pip/utils/outdated.py b/pip/utils/outdated.py +index 2164cc3..c71539f 100644 +--- a/pip/utils/outdated.py ++++ b/pip/utils/outdated.py +@@ -92,6 +92,21 @@ def load_selfcheck_statefile(): + return GlobalSelfCheckState() + + ++def pip_installed_by_pip(): ++ """Checks whether pip was installed by pip ++ ++ This is used not to display the upgrade message when pip is in fact ++ installed by system package manager, such as dnf on Fedora. ++ """ ++ import pkg_resources ++ try: ++ dist = pkg_resources.get_distribution('pip') ++ return (dist.has_metadata('INSTALLER') and ++ 'pip' in dist.get_metadata_lines('INSTALLER')) ++ except pkg_resources.DistributionNotFound: ++ return False ++ ++ + def pip_version_check(session): + """Check for an update for pip. + +@@ -141,7 +156,8 @@ def pip_version_check(session): + + # Determine if our pypi_version is older + if (pip_version < remote_version and +- pip_version.base_version != remote_version.base_version): ++ pip_version.base_version != remote_version.base_version and ++ pip_installed_by_pip()): + # Advise "python -m pip" on Windows to avoid issues + # with overwriting pip.exe. + if WINDOWS: diff --git a/SOURCES/pip9-allow-pip10-import.patch b/SOURCES/pip9-allow-pip10-import.patch new file mode 100644 index 00000000..657b7b37 --- /dev/null +++ b/SOURCES/pip9-allow-pip10-import.patch @@ -0,0 +1,16 @@ +--- /usr/bin/pip3 2018-03-29 15:22:13.000000000 +0200 ++++ pip3 2018-05-04 11:49:08.098821010 +0200 +@@ -4,7 +4,12 @@ + import re + import sys + +-from pip import main ++try: ++ from pip import main ++except ImportError: ++ # user has most probably upgraded pip in their home ++ # so let them run it anyway until ~/.local/bin makes it in front of the PATH ++ from pip._internal import main + + if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) diff --git a/SPECS/python3-pip.spec b/SPECS/python3-pip.spec new file mode 100644 index 00000000..25d90a31 --- /dev/null +++ b/SPECS/python3-pip.spec @@ -0,0 +1,521 @@ +%global with_python3 1 +%global build_wheel 0 +%global with_tests 0 + +%global srcname pip +%if 0%{?build_wheel} +%global python2_wheelname %{srcname}-%{version}-py2.py3-none-any.whl +%if 0%{?with_python3} +%global python3_wheelname %python2_wheelname +%endif +%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: python-%{srcname} +# When updating, update the bundled libraries versions bellow! +Version: 9.0.3 +Release: 2%{?dist} +Summary: A tool for installing and managing Python 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 + +%description +Pip is a replacement for `easy_install +`_. It uses mostly the +same techniques for finding packages, so packages that were made +easy_installable should be pip-installable as well. + + +%package -n python2-%{srcname} +Summary: A tool for installing and managing Python 2 packages +Group: Development/Libraries +BuildRequires: python2-devel +BuildRequires: python2-setuptools +%if 0%{?with_tests} +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: python2-wheel +%endif +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} +Pip is a replacement for `easy_install +`_. It uses mostly the +same techniques for finding packages, so packages that were made +easy_installable should be pip-installable as well. + + +%if 0%{?with_python3} +%package -n python%{python3_pkgversion}-%{srcname} +Summary: A tool for installing and managing Python3 packages +Group: Development/Libraries + +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 -n python%{python3_pkgversion}-%{srcname} +Pip is a replacement for `easy_install +`_. It uses mostly the +same techniques for finding packages, so packages that were made +easy_installable should be pip-installable as well. +%endif # with_python3 + + +%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} +%py2_build_wheel +%else +%py2_build +%endif + +%if 0%{?with_python3} +%if 0%{?build_wheel} +%py3_build_wheel +%else +%py3_build +%endif +%endif # with_python3 + + +%install +%if 0%{?with_python3} +%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 +%py3_install +%endif +%endif # with_python3 + +%if 0%{?build_wheel} +%py2_install_wheel %{python2_wheelname} +%else +%py2_install +%endif + +# 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}%{python_sitelib} \ + %{buildroot}%{_bindir}/pip completion --bash \ + > %{buildroot}%{bashcompdir}/pip +%if 0%{?with_python3} +PYTHONPATH=%{buildroot}%{python3_sitelib} \ + %{buildroot}%{_bindir}/pip3 completion --bash \ + > %{buildroot}%{bashcompdir}/pip3 +%endif +pips2=pip +pips3=pip3 +for pip in %{buildroot}%{_bindir}/pip*; do + pip=$(basename $pip) + case $pip in + pip2*) + pips2="$pips2 $pip" +%if 0%{?bashcomp2} + ln -s pip %{buildroot}%{bashcompdir}/$pip +%endif + ;; +%if 0%{?with_python3} + pip3?*) + pips3="$pips3 $pip" +%if 0%{?bashcomp2} + ln -s pip3 %{buildroot}%{bashcompdir}/$pip +%endif + ;; +%endif + esac +done +%if 0%{?with_python3} +sed -i -e "s/^\\(complete.*\\) pip\$/\\1 $pips3/" \ + -e s/_pip_completion/_pip3_completion/ \ + %{buildroot}%{bashcompdir}/pip3 +%endif +sed -i -e "s/^\\(complete.*\\) pip\$/\\1 $pips2/" \ + %{buildroot}%{bashcompdir}/pip + +# Provide symlinks to executables to comply with Fedora guidelines for Python +ln -s ./pip%{python2_version} %{buildroot}%{_bindir}/pip-%{python2_version} +ln -s ./pip%{python3_version} %{buildroot}%{_bindir}/pip-%{python3_version} +ln -s ./pip-%{python2_version} %{buildroot}%{_bindir}/pip-2 +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}%{python2_sitelib}/pip-%{version}.dist-info/INSTALLER +%if 0%{?with_python3} +echo rpm > %{buildroot}%{python3_sitelib}/pip-%{version}.dist-info/INSTALLER +%endif + +%if 0%{?with_tests} +%check +py.test -m 'not network' +py.test-%{python3_version} -m 'not network' +%endif + + +%files -n python2-%{srcname} +%license LICENSE.txt +%doc README.rst docs +%{_bindir}/pip +%{_bindir}/pip2 +%{_bindir}/pip-2 +%{_bindir}/pip%{python2_version} +%{_bindir}/pip-%{python2_version} +%{python_sitelib}/pip* +%{bashcompdir} +%if 0%{?with_python3} +%exclude %{bashcompdir}/pip3* +%endif +%if 0%{?bashcomp2} +%dir %(dirname %{bashcompdir}) +%endif + +%if 0%{?with_python3} +%files -n python%{python3_pkgversion}-%{srcname} +%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 +%endif # with_python3 + +%changelog +* Fri May 04 2018 Miro Hrončok - 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 - 9.0.3-1 +- Update to 9.0.3 + +* Mon Dec 04 2017 Charalampos Stratakis - 9.0.1-11 +- Reintroduce the ipaddress module in the python3 subpackage. + +* Mon Nov 20 2017 Charalampos Stratakis - 9.0.1-10 +- Add virtual provides for the bundled libraries. (rhbz#1096912) + +* Tue Mar 21 2017 Tomas Orsava - 9.0.1-9 +- Fix typo in the sudo pip warning + +* Fri Mar 03 2017 Tomas Orsava - 9.0.1-8 +- Patch 1 update: No sudo pip warning in venv or virtualenv + +* Thu Feb 23 2017 Tomas Orsava - 9.0.1-7 +- Patch 1 update: Customize the warning with the proper version of the pip + command + +* Tue Feb 14 2017 Tomas Orsava - 9.0.1-6 +- Added patch 1: Emit a warning when running with root privileges + +* Sat Feb 11 2017 Fedora Release Engineering - 9.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Jan 02 2017 Tomas Orsava - 9.0.1-4 +- Provide symlinks to executables to comply with Fedora guidelines for Python +Resolves: rhbz#1406922 + +* Fri Dec 09 2016 Charalampos Stratakis - 9.0.1-3 +- Rebuild for Python 3.6 with wheel + +* Fri Dec 09 2016 Charalampos Stratakis - 9.0.1-2 +- Rebuild for Python 3.6 without wheel + +* Fri Nov 18 2016 Orion Poplawski - 9.0.1-1 +- Update to 9.0.1 + +* Fri Nov 18 2016 Orion Poplawski - 8.1.2-5 +- Enable EPEL Python 3 builds +- Use new python macros +- Cleanup spec + +* Fri Aug 05 2016 Tomas Orsava - 8.1.2-4 +- Updated the test sources + +* Fri Aug 05 2016 Tomas Orsava - 8.1.2-3 +- Moved python-pip into the python2-pip subpackage +- Added the python_provide macro + +* Tue Jul 19 2016 Fedora Release Engineering - 8.1.2-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Tue May 17 2016 Tomas Orsava - 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 - 8.0.2-1 +- Update to 8.0.2 + +* Thu Feb 04 2016 Fedora Release Engineering - 7.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Oct 14 2015 Robert Kuska - 7.1.0-3 +- Rebuilt for Python3.5 rebuild +- With wheel set to 1 + +* Tue Oct 13 2015 Robert Kuska - 7.1.0-2 +- Rebuilt for Python3.5 rebuild + +* Wed Jul 01 2015 Slavek Kabrda - 7.1.0-1 +- Update to 7.1.0 + +* Tue Jun 30 2015 Ville Skyttä - 7.0.3-3 +- Install bash completion +- Ship LICENSE.txt as %%license where available + +* Thu Jun 18 2015 Fedora Release Engineering - 7.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Jun 04 2015 Matej Stuchlik - 7.0.3-1 +- Update to 7.0.3 + +* Fri Mar 06 2015 Matej Stuchlik - 6.0.8-1 +- Update to 6.0.8 + +* Thu Dec 18 2014 Slavek Kabrda - 1.5.6-5 +- Only enable tests on Fedora. + +* Mon Dec 01 2014 Matej Stuchlik - 1.5.6-4 +- Add tests +- Add patch skipping tests requiring Internet access + +* Tue Nov 18 2014 Matej Stuchlik - 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 - 1.5.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun May 25 2014 Matej Stuchlik - 1.5.6-1 +- Update to 1.5.6 + +* Fri Apr 25 2014 Matej Stuchlik - 1.5.4-4 +- Rebuild as wheel for Python 3.4 + +* Thu Apr 24 2014 Matej Stuchlik - 1.5.4-3 +- Disable build_wheel + +* Thu Apr 24 2014 Matej Stuchlik - 1.5.4-2 +- Rebuild as wheel for Python 3.4 + +* Mon Apr 07 2014 Matej Stuchlik - 1.5.4-1 +- Updated to 1.5.4 + +* Mon Oct 14 2013 Tim Flink - 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 - 1.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 16 2013 Toshio Kuratomi - 1.3.1-4 +- Fix for CVE 2013-2099 + +* Thu May 23 2013 Tim Flink - 1.3.1-3 +- undo python2 executable rename to python-pip. fixes #958377 +- fix summary to match upstream + +* Mon May 06 2013 Kevin Kofler - 1.3.1-2 +- Fix main package Summary, it's for Python 2, not 3 (#877401) + +* Fri Apr 26 2013 Jon Ciesla - 1.3.1-1 +- Update to 1.3.1, fix for CVE-2013-1888. + +* Thu Feb 14 2013 Fedora Release Engineering - 1.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Oct 09 2012 Tim Flink - 1.2.1-2 +- Fixing files for python3-pip + +* Thu Oct 04 2012 Tim Flink - 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 - 1.1.0-1 +- Update to upstream 1.1.0 + +* Sat Jan 14 2012 Fedora Release Engineering - 1.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sat Oct 22 2011 Tim Flink - 1.0.2-1 +- update to 1.0.2 and added python3 subpackage + +* Wed Jun 22 2011 Tim Flink - 0.8.3-1 +- update to 0.8.3 and project home page + +* Tue Feb 08 2011 Fedora Release Engineering - 0.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Dec 20 2010 Luke Macken - 0.8.2-1 +- update to 0.8.2 of pip +* Mon Aug 30 2010 Peter Halliday - 0.8-1 +- update to 0.8 of pip +* Thu Jul 22 2010 David Malcolm - 0.7.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Wed Jul 7 2010 Peter Halliday - 0.7.2-1 +- update to 0.7.2 of pip +* Sun May 23 2010 Peter Halliday - 0.7.1-1 +- update to 0.7.1 of pip +* Fri Jan 1 2010 Peter Halliday - 0.6.1.4 +- fix dependency issue +* Fri Dec 18 2009 Peter Halliday - 0.6.1-2 +- fix spec file +* Thu Dec 17 2009 Peter Halliday - 0.6.1-1 +- upgrade to 0.6.1 of pip +* Mon Aug 31 2009 Peter Halliday - 0.4-1 +- Initial package +