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 - arun@gmx.de
+
+- 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
Dan Savilonis
Dan Sully
+daniel
Daniel Collins
Daniel Hahler
Daniel Holth
@@ -67,6 +68,7 @@
Dongweiming
Douglas Thor
Dwayne Bailey
+Emil Styrke
Endoh Takanao
enoch
Eric Gillingham
@@ -155,6 +157,7 @@
Matthew Trumbell
Matthias Bussonnier
Maxime Rouyrre
+Michael
Michael E. Karpeles
Michael Klich
Michael Williamson
@@ -240,6 +243,7 @@
Ville Skyttä
Vinay Sajip
Vitaly Babiy
+Vladimir Rutsky
W. Trevor King
Wil Tan
William ML Leslie
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