basebuilder_pel7ppc64bebuilder0
7 years ago
5 changed files with 712 additions and 0 deletions
@ -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) |
@ -0,0 +1,44 @@ |
|||||||
|
From 18a617e9e0f64b727938422d4f941dfddfbf5d00 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Tomas Orsava <torsava@redhat.com> |
||||||
|
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 |
||||||
|
|
@ -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: |
@ -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]) |
@ -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 |
||||||
|
<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. |
||||||
|
|
||||||
|
|
||||||
|
%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 |
||||||
|
<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. |
||||||
|
|
||||||
|
|
||||||
|
%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 |
||||||
|
<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. |
||||||
|
%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 <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 |
||||||
|
|
Loading…
Reference in new issue