Hello community,

here is the log from the commit of package python3-pip for openSUSE:Factory 
checked in at 2016-01-26 10:15:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pip (Old)
 and      /work/SRC/openSUSE:Factory/.python3-pip.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-pip"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pip/python3-pip.changes  2016-01-22 
01:10:26.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-pip.new/python3-pip.changes     
2016-01-26 10:15:19.000000000 +0100
@@ -1,0 +2,27 @@
+Sun Jan 24 03:39:13 UTC 2016 - [email protected]
+
+- specfile:
+  * update copyright year
+
+- update to version 8.0.2:
+  * Stop attempting to trust the system CA trust store because it's
+    extremely common for them to be broken, often in incompatible
+    ways. See #3416.
+
+- changes from version 8.0.1 (2016-01-21):
+  * Detect CAPaths in addition to CAFiles on platforms that provide
+    them.
+  * Installing argparse or wsgiref will no longer warn or error - pip
+    will allow the installation even though it may be useless (since
+    the installed thing will be shadowed by the standard library).
+  * Upgrading a distutils installed item that is installed outside of
+    a virtual environment, while inside of a virtual environment will
+    no longer warn or error.
+  * Fix a bug where pre-releases were showing up in pip list
+    --outdated without the --pre flag.
+  * Switch the SOABI emulation from using RuntimeWarnings to debug
+    logging.
+  * Rollback the removal of the ability to uninstall distutils
+    installed items until a future date.
+
+-------------------------------------------------------------------

Old:
----
  pip-8.0.0.tar.gz

New:
----
  pip-8.0.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-pip.spec ++++++
--- /var/tmp/diff_new_pack.umJDMQ/_old  2016-01-26 10:15:20.000000000 +0100
+++ /var/tmp/diff_new_pack.umJDMQ/_new  2016-01-26 10:15:20.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python3-pip
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           python3-pip
-Version:        8.0.0
+Version:        8.0.2
 Release:        0
 Url:            http://www.pip-installer.org
 Summary:        Pip installs packages. Python packages. An easy_install 
replacement

++++++ pip-8.0.0.tar.gz -> pip-8.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/AUTHORS.txt new/pip-8.0.2/AUTHORS.txt
--- old/pip-8.0.0/AUTHORS.txt   2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/AUTHORS.txt   2016-01-22 00:49:22.000000000 +0100
@@ -46,6 +46,7 @@
 Cristian Sorinel <[email protected]>
 Dan Savilonis <[email protected]>
 Dan Sully <[email protected]>
+daniel <[email protected]>
 Daniel Collins <[email protected]>
 Daniel Hahler <[email protected]>
 Daniel Holth <[email protected]>
@@ -67,6 +68,7 @@
 Dongweiming <[email protected]>
 Douglas Thor <[email protected]>
 Dwayne Bailey <[email protected]>
+Emil Styrke <[email protected]>
 Endoh Takanao <[email protected]>
 enoch <[email protected]>
 Eric Gillingham <[email protected]>
@@ -155,6 +157,7 @@
 Matthew Trumbell <[email protected]>
 Matthias Bussonnier <[email protected]>
 Maxime Rouyrre <[email protected]>
+Michael <[email protected]>
 Michael E. Karpeles <[email protected]>
 Michael Klich <[email protected]>
 Michael Williamson <[email protected]>
@@ -240,6 +243,7 @@
 Ville Skyttä <[email protected]>
 Vinay Sajip <[email protected]>
 Vitaly Babiy <[email protected]>
+Vladimir Rutsky <[email protected]>
 W. Trevor King <[email protected]>
 Wil Tan <[email protected]>
 William ML Leslie <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/CHANGES.txt new/pip-8.0.2/CHANGES.txt
--- old/pip-8.0.0/CHANGES.txt   2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/CHANGES.txt   2016-01-22 00:49:22.000000000 +0100
@@ -1,3 +1,30 @@
+**8.0.2 (2016-01-21)**
+
+* Stop attempting to trust the system CA trust store because it's extremely
+  common for them to be broken, often in incompatible ways. See #3416.
+
+
+**8.0.1 (2016-01-21)**
+
+* Detect CAPaths in addition to CAFiles on platforms that provide them.
+
+* Installing argparse or wsgiref will no longer warn or error - pip will allow
+  the installation even though it may be useless (since the installed thing
+  will be shadowed by the standard library).
+
+* Upgrading a distutils installed item that is installed outside of a virtual
+  environment, while inside of a virtual environment will no longer warn or
+  error.
+
+* Fix a bug where pre-releases were showing up in ``pip list --outdated``
+  without the ``--pre`` flag.
+
+* Switch the SOABI emulation from using RuntimeWarnings to debug logging.
+
+* Rollback the removal of the ability to uninstall distutils installed items
+  until a future date.
+
+
 **8.0.0 (2016-01-19)**
 
 * **BACKWARD INCOMPATIBLE** Drop support for Python 3.2.
@@ -67,7 +94,7 @@
 
 * Drop PasteScript specific egg_info hack. (:pull:`3270`)
 
-* Allow combination of pip list options --editable with --outdated/--updtodate.
+* Allow combination of pip list options --editable with --outdated/--uptodate.
   (:issue:`933`)
 
 * Gives VCS implementations control over saying whether a project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/PKG-INFO new/pip-8.0.2/PKG-INFO
--- old/pip-8.0.0/PKG-INFO      2016-01-20 01:38:34.000000000 +0100
+++ new/pip-8.0.2/PKG-INFO      2016-01-22 00:49:26.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pip
-Version: 8.0.0
+Version: 8.0.2
 Summary: The PyPA recommended tool for installing Python packages.
 Home-page: https://pip.pypa.io/
 Author: The pip developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/docs/development.rst 
new/pip-8.0.2/docs/development.rst
--- old/pip-8.0.0/docs/development.rst  2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/docs/development.rst  2016-01-22 00:49:22.000000000 +0100
@@ -104,11 +104,11 @@
 6. Upload the distribution files to PyPI using twine
    (``twine upload -s dist/*``). The upload should include GPG signatures of
    the distribution files.
-7. Regenerate the ``get-pip.py`` script by running
-   ``invoke generate.installer`` on the master branch, and committing the
+7. Merge the ``master`` branch into the ``develop`` branch.
+8. Push all of the changes.
+9. Regenerate the ``get-pip.py`` script by running
+   ``invoke generate.installer`` in the get-pip repository, and committing the
    results.
-8. Merge the ``master`` branch into the ``develop`` branch.
-9. Push all of the changes.
 
 
 Creating a Bugfix Release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/docs/reference/pip_install.rst 
new/pip-8.0.2/docs/reference/pip_install.rst
--- old/pip-8.0.0/docs/reference/pip_install.rst        2016-01-20 
01:38:23.000000000 +0100
+++ new/pip-8.0.2/docs/reference/pip_install.rst        2016-01-22 
00:49:22.000000000 +0100
@@ -235,7 +235,7 @@
  ::
 
   SomeProject ==5.4 ; python_version < '2.7'
-  SomeProject; sys.platform == 'win32'
+  SomeProject; sys_platform == 'win32'
 
 Environment markers are supported in the command line and in requirements 
files.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/__init__.py 
new/pip-8.0.2/pip/__init__.py
--- old/pip-8.0.0/pip/__init__.py       2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/pip/__init__.py       2016-01-22 00:49:22.000000000 +0100
@@ -30,7 +30,7 @@
 cmdoptions = pip.cmdoptions
 
 # The version as used in the setup.py and the docs conf.py
-__version__ = "8.0.0"
+__version__ = "8.0.2"
 
 
 logger = logging.getLogger(__name__)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/cmdoptions.py 
new/pip-8.0.2/pip/cmdoptions.py
--- old/pip-8.0.0/pip/cmdoptions.py     2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/pip/cmdoptions.py     2016-01-22 00:49:22.000000000 +0100
@@ -17,7 +17,7 @@
     FormatControl, fmt_ctl_handle_mutual_exclude, fmt_ctl_no_binary,
     fmt_ctl_no_use_wheel)
 from pip.models import PyPI
-from pip.locations import CA_BUNDLE_PATH, USER_CACHE_DIR, src_prefix
+from pip.locations import USER_CACHE_DIR, src_prefix
 from pip.utils.hashes import STRONG_HASHES
 
 
@@ -197,7 +197,6 @@
     '--cert',
     dest='cert',
     type='str',
-    default=CA_BUNDLE_PATH,
     metavar='path',
     help="Path to alternate CA bundle.")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/commands/list.py 
new/pip-8.0.2/pip/commands/list.py
--- old/pip-8.0.0/pip/commands/list.py  2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/pip/commands/list.py  2016-01-22 00:49:22.000000000 +0100
@@ -159,6 +159,11 @@
             for dist in installed_packages:
                 typ = 'unknown'
                 all_candidates = finder.find_all_candidates(dist.key)
+                if not options.pre:
+                    # Remove prereleases
+                    all_candidates = [candidate for candidate in all_candidates
+                                      if not candidate.version.is_prerelease]
+
                 if not all_candidates:
                     continue
                 best_candidate = max(all_candidates,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/compat/__init__.py 
new/pip-8.0.2/pip/compat/__init__.py
--- old/pip-8.0.0/pip/compat/__init__.py        2016-01-20 01:38:23.000000000 
+0100
+++ new/pip-8.0.2/pip/compat/__init__.py        2016-01-22 00:49:22.000000000 
+0100
@@ -23,6 +23,26 @@
         ipaddress.ip_network = ipaddress.IPNetwork
 
 
+try:
+    import sysconfig
+
+    def get_stdlib():
+        paths = [
+            sysconfig.get_path("stdlib"),
+            sysconfig.get_path("platstdlib"),
+        ]
+        return set(filter(bool, paths))
+except ImportError:
+    from distutils import sysconfig
+
+    def get_stdlib():
+        paths = [
+            sysconfig.get_python_lib(standard_lib=True),
+            sysconfig.get_python_lib(standard_lib=True, plat_specific=True),
+        ]
+        return set(filter(bool, paths))
+
+
 __all__ = [
     "logging_dictConfig", "ipaddress", "uses_pycache", "console_to_str",
     "native_str", "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/locations.py 
new/pip-8.0.2/pip/locations.py
--- old/pip-8.0.0/pip/locations.py      2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/pip/locations.py      2016-01-22 00:49:22.000000000 +0100
@@ -4,7 +4,6 @@
 import os
 import os.path
 import site
-import ssl
 import sys
 
 from distutils import sysconfig
@@ -14,17 +13,6 @@
 from pip.utils import appdirs
 
 
-# if the Python we're running on is new enough to have the needed API then
-# we'll ask OpenSSL to give us the path to the default CA Bundle. If this API
-# doesn't exist or we cannot resolve the path to an existing file, then we will
-# simply set this to None. Setting this to None will have requests fall back
-# and use it's default CA Bundle logic.
-if getattr(ssl, "get_default_verify_paths", None):
-    CA_BUNDLE_PATH = ssl.get_default_verify_paths().cafile
-else:
-    CA_BUNDLE_PATH = None
-
-
 # Application Directories
 USER_CACHE_DIR = appdirs.user_cache_dir("pip")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/pep425tags.py 
new/pip-8.0.2/pip/pep425tags.py
--- old/pip-8.0.0/pip/pep425tags.py     2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/pip/pep425tags.py     2016-01-22 00:49:22.000000000 +0100
@@ -5,6 +5,7 @@
 import sys
 import warnings
 import platform
+import logging
 
 try:
     import sysconfig
@@ -13,6 +14,10 @@
     import distutils.sysconfig as sysconfig
 import distutils.util
 
+
+logger = logging.getLogger(__name__)
+
+
 _osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)')
 
 
@@ -69,8 +74,8 @@
     val = get_config_var(var)
     if val is None:
         if warn:
-            warnings.warn("Config variable '{0}' is unset, Python ABI tag may "
-                          "be incorrect".format(var), RuntimeWarning, 2)
+            logger.debug("Config variable '%s' is unset, Python ABI tag may "
+                         "be incorrect", var)
         return fallback()
     return val == expected
 
@@ -116,8 +121,8 @@
         # of MACOSX_DEPLOYMENT_TARGET on which Python was built, which may
         # be signficantly older than the user's current machine.
         release, _, machine = platform.mac_ver()
-        major, minor, micro = release.split('.')
-        return 'macosx_{0}_{1}_{2}'.format(major, minor, machine)
+        split_ver = release.split('.')
+        return 'macosx_{0}_{1}_{2}'.format(split_ver[0], split_ver[1], machine)
     # XXX remove distutils dependency
     return distutils.util.get_platform().replace('.', '_').replace('-', '_')
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/req/req_install.py 
new/pip-8.0.2/pip/req/req_install.py
--- old/pip-8.0.0/pip/req/req_install.py        2016-01-20 01:38:23.000000000 
+0100
+++ new/pip-8.0.2/pip/req/req_install.py        2016-01-22 00:49:22.000000000 
+0100
@@ -7,10 +7,11 @@
 import sys
 import tempfile
 import traceback
+import warnings
 import zipfile
 
-from distutils.util import change_root
 from distutils import sysconfig
+from distutils.util import change_root
 from email.parser import FeedParser
 
 from pip._vendor import pkg_resources, six
@@ -20,7 +21,7 @@
 
 import pip.wheel
 
-from pip.compat import native_str, WINDOWS
+from pip.compat import native_str, get_stdlib, WINDOWS
 from pip.download import is_url, url_to_path, path_to_url, is_archive_file
 from pip.exceptions import (
     InstallationError, UninstallationError, UnsupportedWheel,
@@ -32,9 +33,11 @@
     display_path, rmtree, ask_path_exists, backup_dir, is_installable_dir,
     dist_in_usersite, dist_in_site_packages, egg_link_path,
     call_subprocess, read_text_file, FakeFile, _make_build_dir, ensure_dir,
-    get_installed_version, canonicalize_name
+    get_installed_version, canonicalize_name, normalize_path, dist_is_local,
 )
+
 from pip.utils.hashes import Hashes
+from pip.utils.deprecation import RemovedInPip10Warning
 from pip.utils.logging import indent_log
 from pip.utils.setuptools_build import SETUPTOOLS_SHIM
 from pip.utils.ui import open_spinner
@@ -114,6 +117,9 @@
         self.install_succeeded = None
         # UninstallPathSet of uninstalled distribution (for possible rollback)
         self.uninstalled = None
+        # Set True if a legitimate do-nothing-on-uninstall has happened - e.g.
+        # system site packages, stdlib packages.
+        self.nothing_to_uninstall = False
         self.use_user_site = False
         self.target_dir = None
         self.options = options if options else {}
@@ -606,6 +612,26 @@
             )
         dist = self.satisfied_by or self.conflicts_with
 
+        dist_path = normalize_path(dist.location)
+        if not dist_is_local(dist):
+            logger.info(
+                "Not uninstalling %s at %s, outside environment %s",
+                dist.key,
+                dist_path,
+                sys.prefix,
+            )
+            self.nothing_to_uninstall = True
+            return
+
+        if dist_path in get_stdlib():
+            logger.info(
+                "Not uninstalling %s at %s, as it is in the standard library.",
+                dist.key,
+                dist_path,
+            )
+            self.nothing_to_uninstall = True
+            return
+
         paths_to_remove = UninstallPathSet(dist)
         develop_egg_link = egg_link_path(dist)
         develop_egg_link_egg_info = '{0}.egg-info'.format(
@@ -647,12 +673,14 @@
                     paths_to_remove.add(path + '.pyo')
 
         elif distutils_egg_info:
-            raise UninstallationError(
-                "Detected a distutils installed project ({0!r}) which we "
-                "cannot uninstall. The metadata provided by distutils does "
-                "not contain a list of files which have been installed, so "
-                "pip does not know which files to uninstall.".format(self.name)
+            warnings.warn(
+                "Uninstalling a distutils installed project ({0}) has been "
+                "deprecated and will be removed in a future version. This is "
+                "due to the fact that uninstalling a distutils project will "
+                "only partially uninstall the project.".format(self.name),
+                RemovedInPip10Warning,
             )
+            paths_to_remove.add(distutils_egg_info)
 
         elif dist.location.endswith('.egg'):
             # package installed by easy_install
@@ -729,15 +757,15 @@
             self.uninstalled.rollback()
         else:
             logger.error(
-                "Can't rollback %s, nothing uninstalled.", self.project_name,
+                "Can't rollback %s, nothing uninstalled.", self.name,
             )
 
     def commit_uninstall(self):
         if self.uninstalled:
             self.uninstalled.commit()
-        else:
+        elif not self.nothing_to_uninstall:
             logger.error(
-                "Can't commit %s, nothing uninstalled.", self.project_name,
+                "Can't commit %s, nothing uninstalled.", self.name,
             )
 
     def archive(self, build_dir):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/req/req_uninstall.py 
new/pip-8.0.2/pip/req/req_uninstall.py
--- old/pip-8.0.0/pip/req/req_uninstall.py      2016-01-20 01:38:23.000000000 
+0100
+++ new/pip-8.0.2/pip/req/req_uninstall.py      2016-01-22 00:49:22.000000000 
+0100
@@ -2,13 +2,11 @@
 
 import logging
 import os
-import sys
 import tempfile
 
 from pip.compat import uses_pycache, WINDOWS, cache_from_source
 from pip.exceptions import UninstallationError
-from pip.utils import (rmtree, ask, is_local, dist_is_local, renames,
-                       normalize_path)
+from pip.utils import rmtree, ask, is_local, renames, normalize_path
 from pip.utils.logging import indent_log
 
 
@@ -34,17 +32,6 @@
         """
         return is_local(path)
 
-    def _can_uninstall(self):
-        if not dist_is_local(self.dist):
-            logger.info(
-                "Not uninstalling %s at %s, outside environment %s",
-                self.dist.project_name,
-                normalize_path(self.dist.location),
-                sys.prefix,
-            )
-            return False
-        return True
-
     def add(self, path):
         head, tail = os.path.split(path)
 
@@ -94,8 +81,6 @@
     def remove(self, auto_confirm=False):
         """Remove paths in ``self.paths`` with confirmation (unless
         ``auto_confirm`` is True)."""
-        if not self._can_uninstall():
-            return
         if not self.paths:
             logger.info(
                 "Can't uninstall '%s'. No files were found to uninstall.",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip/vcs/git.py new/pip-8.0.2/pip/vcs/git.py
--- old/pip-8.0.0/pip/vcs/git.py        2016-01-20 01:38:23.000000000 +0100
+++ new/pip-8.0.2/pip/vcs/git.py        2016-01-22 00:49:22.000000000 +0100
@@ -100,7 +100,7 @@
     def update(self, dest, rev_options):
         # First fetch changes from the default remote
         self.run_command(['fetch', '-q'], cwd=dest)
-        # Then reset to wanted revision (maby even origin/master)
+        # Then reset to wanted revision (maybe even origin/master)
         if rev_options:
             rev_options = self.check_rev_options(
                 rev_options[0], dest, rev_options,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-8.0.0/pip.egg-info/PKG-INFO 
new/pip-8.0.2/pip.egg-info/PKG-INFO
--- old/pip-8.0.0/pip.egg-info/PKG-INFO 2016-01-20 01:38:33.000000000 +0100
+++ new/pip-8.0.2/pip.egg-info/PKG-INFO 2016-01-22 00:49:24.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pip
-Version: 8.0.0
+Version: 8.0.2
 Summary: The PyPA recommended tool for installing Python packages.
 Home-page: https://pip.pypa.io/
 Author: The pip developers


Reply via email to