From 2e7f501aa12ebd86a3e16c01a7a680af7fdc8f8a Mon Sep 17 00:00:00 2001 From: Marcel Plch Date: Jul 31 2018 10:17:18 +0000 Subject: Update to 18.0 --- diff --git a/.gitignore b/.gitignore index 5abdf9b..6276f03 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,9 @@ pip-0.7.2.tar.gz /pip-9.0.1-tests.tar.gz /pip-9.0.3.tar.gz /pip-9.0.3-tests.tar.gz +/pip-10.0.1.tar.gz +/pip-18.0.tar.gz +/d2e63fbfc62af3b7050f619b2f5bb8658985b931.zip +/2018.2.tar.gz +/pip-18.0-tests.tar.gz +/d2e63fbfc62af3b7050f619b2f5bb8658985b931.tar.gz diff --git a/allow-stripping-given-prefix-from-wheel-RECORD-files.patch b/allow-stripping-given-prefix-from-wheel-RECORD-files.patch index d66b250..00de3c5 100644 --- a/allow-stripping-given-prefix-from-wheel-RECORD-files.patch +++ b/allow-stripping-given-prefix-from-wheel-RECORD-files.patch @@ -1,10 +1,11 @@ -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( +diff -ru pip-18.0/src/pip/_internal/commands/install.py pip-18.0_patched/src/pip/_internal/commands/install.py +--- pip-18.0/src/pip/_internal/commands/install.py 2018-07-20 06:10:48.000000000 +0200 ++++ pip-18.0_patched/src/pip/_internal/commands/install.py 2018-07-23 16:49:39.085357813 +0200 +@@ -110,6 +110,14 @@ + default=None, + help="Installation prefix where lib, bin and other top-level " + "folders are placed") ++ cmd_opts.add_option( + '--strip-file-prefix', + dest='strip_file_prefix', + metavar='prefix', @@ -12,84 +13,77 @@ diff -up pip-9.0.1/pip/commands/install.py.orig pip-9.0.1/pip/commands/install.p + 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 + cmd_opts.add_option(cmdoptions.build_dir()) -- 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) +@@ -345,6 +353,7 @@ + pycompile=options.compile, + warn_script_location=warn_script_location, + use_user_site=options.use_user_site, ++ strip_file_prefix=options.strip_file_prefix, + ) -- 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 + lib_locations = get_lib_location_guesses( +diff -ru pip-18.0/src/pip/_internal/req/req_install.py pip-18.0_patched/src/pip/_internal/req/req_install.py +--- pip-18.0/src/pip/_internal/req/req_install.py 2018-07-22 07:14:20.000000000 +0200 ++++ pip-18.0_patched/src/pip/_internal/req/req_install.py 2018-07-23 16:51:51.115943214 +0200 +@@ -514,7 +514,7 @@ -@@ -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): + def move_wheel_files(self, wheeldir, root=None, home=None, prefix=None, + warn_script_location=True, use_user_site=False, +- pycompile=True): ++ pycompile=True, 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, + user=use_user_site, +@@ -524,6 +524,7 @@ + pycompile=pycompile, isolated=self.isolated, + warn_script_location=warn_script_location, + 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): + # Things valid for sdists +@@ -924,7 +925,7 @@ + def install(self, install_options, global_options=None, root=None, + home=None, prefix=None, warn_script_location=True, +- use_user_site=False, pycompile=True): ++ use_user_site=False, pycompile=True, strip_file_prefix=None): + global_options = global_options if global_options is not None else [] + if self.editable: + self.install_editable( +@@ -939,6 +940,7 @@ + self.source_dir, root=root, prefix=prefix, home=home, + warn_script_location=warn_script_location, + use_user_site=use_user_site, pycompile=pycompile, ++ strip_file_prefix=strip_file_prefix, + ) + self.install_succeeded = True + return +diff -ru pip-18.0/src/pip/_internal/wheel.py pip-18.0_patched/src/pip/_internal/wheel.py +--- pip-18.0/src/pip/_internal/wheel.py 2018-07-17 10:26:00.000000000 +0200 ++++ pip-18.0_patched/src/pip/_internal/wheel.py 2018-07-23 16:52:57.749238655 +0200 +@@ -206,7 +206,7 @@ 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): + pycompile=True, scheme=None, isolated=False, prefix=None, +- warn_script_location=True): ++ warn_script_location=True, strip_file_prefix=None): """Install a wheel""" if not scheme: -@@ -521,7 +521,11 @@ if __name__ == '__main__': +@@ -507,7 +507,12 @@ writer.writerow(row) for f in generated: - h, l = rehash(f) -- writer.writerow((normpath(f, lib_dir), h, l)) + digest, length = rehash(f) +- writer.writerow((normpath(f, lib_dir), digest, length)) + 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)) ++ writer.writerow((final_path, digest, length)) ++ for f in installed: writer.writerow((installed[f], '', '')) shutil.move(temp_record, record) diff --git a/emit-a-warning-when-running-with-root-privileges.patch b/emit-a-warning-when-running-with-root-privileges.patch index 644fce9..3135fc3 100644 --- a/emit-a-warning-when-running-with-root-privileges.patch +++ b/emit-a-warning-when-running-with-root-privileges.patch @@ -1,27 +1,17 @@ -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 +diff -ru pip-18.0/src/pip/_internal/commands/install.py pip-18.0_patched/src/pip/_internal/commands/install.py +--- pip-18.0/src/pip/_internal/commands/install.py 2018-07-20 06:10:48.000000000 +0200 ++++ pip-18.0_patched/src/pip/_internal/commands/install.py 2018-07-31 12:15:43.777317780 +0200 +@@ -5,6 +5,8 @@ + import operator + import os 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) + from optparse import SUPPRESS_HELP + + from pip._vendor import pkg_resources +@@ -205,6 +207,18 @@ + def run(self, options, args): cmdoptions.check_install_build_global(options) + def is_venv(): @@ -36,9 +26,6 @@ index 227c526..277a3d1 100644 + % 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 - + upgrade_strategy = "to-satisfy-only" + if options.upgrade: + upgrade_strategy = options.upgrade_strategy diff --git a/html_theme_path.patch b/html_theme_path.patch new file mode 100644 index 0000000..f9b2100 --- /dev/null +++ b/html_theme_path.patch @@ -0,0 +1,11 @@ +diff -ru pip-10.0.1/docs/conf.py pip-10.0.1_patched/docs/conf.py +--- pip-10.0.1/docs/conf.py 2018-04-14 13:17:31.000000000 +0200 ++++ pip-10.0.1_patched/docs/conf.py 2018-07-23 15:23:31.053267611 +0200 +@@ -134,6 +134,7 @@ + # The theme to use for HTML and HTML Help pages. Major themes that come with + # Sphinx are currently 'default' and 'sphinxdoc'. + html_theme = "pypa_theme" ++html_theme_path = ["pypa", "python-docs-theme"] + + # Theme options are theme-specific and customize the look and feel of a theme + # further. For a list of options available for each theme, see the diff --git a/pip-allow-older-versions.patch b/pip-allow-older-versions.patch new file mode 100644 index 0000000..39a272b --- /dev/null +++ b/pip-allow-older-versions.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._internal import main ++try: ++ from pip._internal import main ++except ImportError: ++ # user has most probably downgraded pip in their home ++ # so let them run it anyway until ~/.local/bin makes it in front of the PATH ++ from pip import main + + if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) diff --git a/pip-nowarn-upgrade.patch b/pip-nowarn-upgrade.patch deleted file mode 100644 index 9e314a5..0000000 --- a/pip-nowarn-upgrade.patch +++ /dev/null @@ -1,36 +0,0 @@ -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/pip9-allow-pip10-import.patch b/pip9-allow-pip10-import.patch deleted file mode 100644 index 657b7b3..0000000 --- a/pip9-allow-pip10-import.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- /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/python-pip.spec b/python-pip.spec index 03081d1..b4064d2 100644 --- a/python-pip.spec +++ b/python-pip.spec @@ -19,6 +19,9 @@ %global python3_wheelname %python_wheelname %endif %endif +%if %{with doc} +%global pypa_theme_commit_hash d2e63fbfc62af3b7050f619b2f5bb8658985b931 +%endif # Note that with disabled python3, bashcomp2 will be disabled as well because # bashcompdir will point to a different path than with python3 enabled. @@ -29,12 +32,38 @@ Name: python-%{srcname} # When updating, update the bundled libraries versions bellow! -Version: 9.0.3 -Release: 6%{?dist} +Version: 18.0 +Release: 1%{?dist} Summary: A tool for installing and managing Python packages - Group: Development/Libraries -License: MIT + +# We bundle a lot of libraries with pip, which itself is under MIT license. +# Here is the list of the libraries with corresponding licenses: + +# appdirs: MIT +# distlib: Python +# distro: ASL 2.0 +# html5lib: MIT +# six: MIT +# colorama: BSD +# CacheControl: ASL 2.0 +# msgpack-python: ASL 2.0 +# lockfile: MIT +# progress: ISC +# ipaddress: Python +# packaging: BSD or ASL 2.0 +# pyparsing: MIT +# pytoml: MIT +# retrying: ASL 2.0 +# requests: ASL 2.0 +# chardet: LGPLv2 +# idna: BSD +# urllib3: MIT +# certifi: MPLv2.0 +# setuptools: MIT +# webencodings: BSD + +License: MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and Unicode and (ASL 2.0 or BSD) URL: http://www.pip-installer.org Source0: https://files.pythonhosted.org/packages/source/p/%{srcname}/%{srcname}-%{version}.tar.gz @@ -47,9 +76,15 @@ BuildRequires: bzr # 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/ +# git checkout 18.0 && tar -czvf ../pip-18.0-tests.tar.gz tests/ %if %{with tests} -Source1: pip-9.0.1-tests.tar.gz +Source1: pip-18.0-tests.tar.gz +%endif + +# Themes required to build the docs. +%if %{with doc} +Source2: https://github.com/pypa/pypa-docs-theme/archive/%{pypa_theme_commit_hash}.tar.gz +Source3: https://github.com/python/python-docs-theme/archive/2018.2.tar.gz %endif # Patch until the following issue gets implemented upstream: @@ -61,20 +96,18 @@ Patch0: allow-stripping-given-prefix-from-wheel-RECORD-files.patch # 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 +# Add path to the doc themes to conf.py +Patch2: html_theme_path.patch # Downstream only patch -# Users are upgrading pip9 to pip10 by various manners, -# one of them is `pip install --user --upgrade pip`. +# Users might have local installations of pip from using +# `pip install --user --upgrade pip` on older versions. # 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 +# However that's the one from this RPM package (pip10+) and the import in there +# fails (it tries to import from ~/.local, but older pip 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). +# both pip10+ (from this RPM) and older pip (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. @@ -82,7 +115,7 @@ Patch2: pip-nowarn-upgrade.patch # 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 +Source10: pip-allow-older-versions.patch %description pip is a package management system used to install and manage software packages @@ -102,9 +135,9 @@ BuildRequires: python2-mock BuildRequires: python2-pytest BuildRequires: python2-pretend BuildRequires: python2-freezegun -BuildRequires: python2-pytest-capturelog BuildRequires: python2-scripttest BuildRequires: python2-virtualenv +BuildRequires: python2-pyyaml %endif %if %{without bootstrap} BuildRequires: python2-pip @@ -115,26 +148,28 @@ 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(appdirs)) = 1.4.3 +Provides: bundled(python2dist(distlib)) = 0.2.7 +Provides: bundled(python2dist(distro)) = 1.3.0 +Provides: bundled(python2dist(html5lib)) = 1.0.1 +Provides: bundled(python2dist(six)) = 1.11.0 +Provides: bundled(python2dist(colorama)) = 0.3.9 +Provides: bundled(python2dist(CacheControl)) = 0.12.5 +Provides: bundled(python2dist(msgpack-python)) = 0.5.6 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(progress)) = 1.4 +Provides: bundled(python2dist(ipaddress)) = 1.0.22 +Provides: bundled(python2dist(packaging)) = 17.1 +Provides: bundled(python2dist(pyparsing)) = 2.2.0 +Provides: bundled(python2dist(pytoml)) = 0.1.16 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 +Provides: bundled(python2dist(requests)) = 2.19.1 +Provides: bundled(python2dist(idna)) = 2.7 +Provides: bundled(python2dist(certifi)) = 2018.4.16 +Provides: bundled(python2dist(setuptools)) = 39.2.0 +Provides: bundled(python2dist(webencodings)) = 0.5.1 +Provides: bundled(python2dist(chardet)) = 3.0.4 +Provides: bundled(python2dist(urllib3)) = 1.23 %{?python_provide:%python_provide python2-%{srcname}} @@ -160,9 +195,9 @@ 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 +BuildRequires: python%{python3_pkgversion}-pyyaml %endif %if %{without bootstrap} BuildRequires: python%{python3_pkgversion}-pip @@ -172,26 +207,28 @@ 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(appdirs)) = 1.4.3 +Provides: bundled(python3dist(distlib)) = 0.2.7 +Provides: bundled(python3dist(distro)) = 1.3.0 +Provides: bundled(python3dist(html5lib)) = 1.0.1 +Provides: bundled(python3dist(six)) = 1.11.0 +Provides: bundled(python3dist(colorama)) = 0.3.9 +Provides: bundled(python3dist(CacheControl)) = 0.12.5 +Provides: bundled(python3dist(msgpack-python)) = 0.5.6 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(progress)) = 1.4 +Provides: bundled(python3dist(ipaddress)) = 1.0.22 +Provides: bundled(python3dist(packaging)) = 17.1 +Provides: bundled(python3dist(pyparsing)) = 2.2.0 +Provides: bundled(python3dist(pytoml)) = 0.1.16 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 +Provides: bundled(python3dist(requests)) = 2.19.1 +Provides: bundled(python3dist(idna)) = 2.7 +Provides: bundled(python3dist(certifi)) = 2018.4.16 +Provides: bundled(python3dist(setuptools)) = 39.2.0 +Provides: bundled(python3dist(webencodings)) = 0.5.1 +Provides: bundled(python3dist(urllib3)) = 1.23 +Provides: bundled(python3dist(chardet)) = 3.0.4 %{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} @@ -225,16 +262,19 @@ exit 1 %if %{with tests} tar -xf %{SOURCE1} %endif +%if %{with doc} +pushd docs +tar -xf %{SOURCE2} +mv pypa-docs-theme-%{pypa_theme_commit_hash} pypa +tar -xf %{SOURCE3} +mv python-docs-theme-2018.2 python-docs-theme +popd +%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 %{with python2} @@ -255,9 +295,10 @@ rm pip/_vendor/ordereddict.py %if %{with doc} pushd docs +export PYTHONPATH=../src/ make html make man -rm _build/html/.buildinfo +rm build/html/.buildinfo popd %endif @@ -276,14 +317,18 @@ rm %{buildroot}%{_bindir}/pip %endif # with python3 %if %{with doc} +pushd docs/build/man install -d %{buildroot}%{_mandir}/man1 +for MAN in *1; do %if %{with python2} -install -pm0644 docs/_build/man/*.1 %{buildroot}%{_mandir}/man1/pip.1 -install -pm0644 docs/_build/man/*.1 %{buildroot}%{_mandir}/man1/pip2.1 +install -pm0644 $MAN %{buildroot}%{_mandir}/man1/$MAN +install -pm0644 $MAN %{buildroot}%{_mandir}/man1/${MAN/pip/pip2} %endif %if %{with python3} -install -pm0644 docs/_build/man/*.1 %{buildroot}%{_mandir}/man1/pip3.1 +install -pm0644 $MAN %{buildroot}%{_mandir}/man1/${MAN/pip/pip3} %endif +done +popd %endif # with doc %if %{with python2} @@ -371,6 +416,7 @@ echo rpm > %{buildroot}%{python3_sitelib}/pip-%{version}.dist-info/INSTALLER %if %{with tests} %check +export PYTHONPATH=src %if %{with python2} py.test-%{python2_version} -m 'not network' %endif @@ -387,6 +433,8 @@ py.test-%{python3_version} -m 'not network' %if %{with doc} %{_mandir}/man1/pip.* %{_mandir}/man1/pip2.* +%{_mandir}/man1/pip-* +%{_mandir}/man1/pip2-* %endif %{_bindir}/pip %{_bindir}/pip2 @@ -408,6 +456,7 @@ py.test-%{python3_version} -m 'not network' %doc README.rst %if %{with doc} %{_mandir}/man1/pip3.* +%{_mandir}/man1/pip3-* %endif %{_bindir}/pip3 %{_bindir}/pip-3 @@ -424,11 +473,14 @@ py.test-%{python3_version} -m 'not network' %files doc %license LICENSE.txt %doc README.rst -%doc docs/_build/html +%doc docs/build/html %endif # with doc %endif # with python3 %changelog +* Mon Jul 23 2018 Marcel Plch - 18.0-7 +- Update to 18.0 + * Sat Jul 14 2018 Fedora Release Engineering - 9.0.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 49c5067..5bd9ed8 100644 --- a/sources +++ b/sources @@ -1,2 +1,4 @@ -SHA512 (pip-9.0.3.tar.gz) = daf5bb2460787a0391400d5e074fc69c78d623445fcc6fcb12fae9a118f19692cc7ce316a7e85a04662bc82c0a0514577fa1ca8323b09be0d08c7a7bb8728e77 -SHA512 (pip-9.0.3-tests.tar.gz) = 5cc7c06b2c688307d2e081e01d750c1c462f34879ddffe204fa4523d4d4dc0afc9f584ff9bdc86768944bccd8bf79d93c87e9935b3a38e22aeb2fd839cce1447 +SHA512 (pip-18.0.tar.gz) = 51b8708756a8cbe5ca284fa09908d4acf1127493e4b645f2756ae55e4afd5dec619a017cedb695a044aa24a377909810a1caea4242bb3dc475bfe3435fcaa1bc +SHA512 (pip-18.0-tests.tar.gz) = 1ce5bc8f64e6e55e30956f607e2e6b6f8bc16bb64c6715e28bebf22c17f1b85728db5c3f481fed223bd936a0ab7d0ea526417445cf33a80db6e9250cd2838975 +SHA512 (d2e63fbfc62af3b7050f619b2f5bb8658985b931.tar.gz) = fc7b11c5cbf6322469ce2eaca2a8d7eb60b17398d316f7465ab5d3d38dabd00ee22a3da7437a28f6312f0115f77f2df0d8bf0abc671e055eef06356c94283409 +SHA512 (2018.2.tar.gz) = 4c09c43a70ecb3ca3bc9445b01bf209eb382e41d9c969145696dea38551992ed88fd9b725a1264380f3dbdf8acdaf5ada3ef86b44255cdfbdbe4a01a1630912d