#11 Update to 18.0
Merged 5 years ago by churchyard. Opened 5 years ago by dormouse.
rpms/ dormouse/python-pip master  into  master

Update to 18.0
Marcel Plch • 5 years ago  
file modified
+6
@@ -20,3 +20,9 @@ 

  /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

@@ -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 @@ 

  +            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)

@@ -1,27 +1,17 @@ 

- 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

+ 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 @@ 

  +                        % 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

@@ -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

pip-allow-older-versions.patch pip9-allow-pip10-import.patch
file renamed
+4 -4
@@ -4,13 +4,13 @@ 

   import re

   import sys

   

- -from pip import main

+ -from pip._internal import main

  +try:

- +    from pip import main

+ +    from pip._internal import main

  +except ImportError:

- +    # user has most probably upgraded pip in their home

+ +    # 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._internal import main

+ +    from pip import main

   

   if __name__ == '__main__':

       sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])

@@ -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:

file modified
+116 -64
@@ -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 @@ 

  

  # 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 @@ 

  # 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 @@ 

  # 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-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 @@ 

  # 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}-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 @@ 

  

  # 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 @@ 

  %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 @@ 

  

  %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 @@ 

  %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 @@ 

  

  %if %{with tests}

  %check

+ export PYTHONPATH=src

  %if %{with python2}

  py.test-%{python2_version} -m 'not network'

  %endif
@@ -387,6 +433,8 @@ 

  %if %{with doc}

  %{_mandir}/man1/pip.*

  %{_mandir}/man1/pip2.*

+ %{_mandir}/man1/pip-*

+ %{_mandir}/man1/pip2-*

  %endif

  %{_bindir}/pip

  %{_bindir}/pip2
@@ -408,6 +456,7 @@ 

  %doc README.rst

  %if %{with doc}

  %{_mandir}/man1/pip3.*

+ %{_mandir}/man1/pip3-*

  %endif

  %{_bindir}/pip3

  %{_bindir}/pip-3
@@ -424,11 +473,14 @@ 

  %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 <mplch@redhat.com> - 18.0-7

+ - Update to 18.0

+ 

  * Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.3-6

  - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

  

file modified
+4 -2
@@ -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

This seems to me like it's already there (my PR was merged IIRC). If you change it, remove the original function. If not, remove the patch entirely.

say what project is this from commit, e.g. call it docs_theme_commit_hash or similar.

this should say 18.0 even for the second part

We would need to keep the patch and make the logic reversed, for user who have local installations of pip9.

say "docs" somewhere in the comment

would %setup macro be better here? not sure.

why not use tar.gz everywhere?

+ install -pm0644 pip-check.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-check.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-check.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-check.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-config.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-config.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-config.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-config.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-download.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-download.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-download.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-download.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-freeze.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-freeze.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-freeze.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-freeze.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-hash.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-hash.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-hash.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-hash.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-help.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-help.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-help.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-help.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-install.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-install.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-install.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-install.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-list.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-list.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-list.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-list.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-search.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-search.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-search.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-search.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-show.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-show.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-show.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-show.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-uninstall.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-uninstall.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-uninstall.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-uninstall.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip-wheel.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip-wheel.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip-wheel.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip-wheel.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
+ for MAN in *1
+ install -pm0644 pip.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip.1
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 48: MAN:5: command not found
+ install -pm0644 pip.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip2-
++ MAN:5
/var/tmp/rpm-tmp.NdiGjU: line 49: MAN:5: command not found
+ install -pm0644 pip.1 /builddir/build/BUILDROOT/python-pip-18.0-1.fc29.noarch/usr/share/man/man1/pip3-
~/build/BUILD/pip-18.0

Virtual provides and License tag needs to be upgraded as well. There is a helper script for that in https://src.fedoraproject.org/rpms/python-pip/pull-request/8

1 new commit added

  • Correct mistakes and make requested changes
5 years ago

Please, don't put patches to lookaside cache, but add them to git. It is much easier to review.

oh i see you don't apply the patch. remove it please.

the comment needs rewording.

please, use python2-pyyaml

please, use python%{python3_pkgversion}-pyyaml

I'd consider ${MAN/pip/pip2} much more readable

1 new commit added

  • Make additional changes and update virtual provides
5 years ago

3 new commits added

  • Make additional changes and update virtual provides
  • Correct mistakes and make requested changes
  • Update to 18.0
5 years ago

Thanks. This is getting better and better. Please update the License tag.

idna and certifi are also from requests. I suggest we don't create this distinguishing

1 new commit added

  • Update license tag
5 years ago
  • complicated license tag need an explanatory comment with license breakdown

  • pip-allow-older-versions.patch is still in .gitignore and sources - together with git - that's not a good combination, see also https://pagure.io/fedpkg/issue/241

1 new commit added

  • Cleaning commit
5 years ago

1 new commit added

  • License breakdown
5 years ago

Assuming this builds and works consider me +1. Please squash to single commit.

Once koji CI builds this, I'll run some sanity tests as well.

Building python3 on top of this and creating venv with it works.

rebased onto fa5d1f37b59a7f3ac574d55639915651ca6172bf

5 years ago

why is emit-a-warning-when-running-with-root-privileges.patch removed?

A mistake, I'm putting it back.

rebased onto 2e7f501

5 years ago

Pull-Request has been merged by churchyard

5 years ago