Hello community,

here is the log from the commit of package python3-pip for openSUSE:Factory 
checked in at 2013-12-03 16:11:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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  2013-08-15 
20:03:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-pip.new/python3-pip.changes     
2013-12-03 16:11:58.000000000 +0100
@@ -1,0 +2,25 @@
+Tue Nov 26 17:19:34 UTC 2013 - [email protected]
+
+- Redownload upstream tarball which was somehow modified locally
+
+-------------------------------------------------------------------
+Fri Nov 22 12:53:26 UTC 2013 - [email protected]
+
+- Fix alternative link in buildroot
+
+-------------------------------------------------------------------
+Fri Nov 22 06:11:54 UTC 2013 - [email protected]
+
+- update to 1.4.1
+ * **New Signing Key** Release 1.4.1 is using a different key than normal with
+   fingerprint: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
+ * Fixed issues with installing from pybundle files (Pull #1116).
+ * Fixed error when sysconfig module throws an exception (Pull #1095).
+ * Don't ignore already installed pre-releases (Pull #1076).
+ * Fixes related to upgrading setuptools (Pull #1092).
+ * Fixes so that --download works with wheel archives (Pull #1113).
+ * Fixes related to recognizing and cleaning global build dirs (Pull #1080). 
+- Added pip-bug850341.patch (bcn#850341):
+ * fixed pip for python3
+ 
+-------------------------------------------------------------------

Old:
----
  pip-1.4.tar.gz

New:
----
  pip-1.4.1.tar.gz
  pip-bug850341.patch

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

Other differences:
------------------
++++++ python3-pip.spec ++++++
--- /var/tmp/diff_new_pack.SNYf6f/_old  2013-12-03 16:11:59.000000000 +0100
+++ /var/tmp/diff_new_pack.SNYf6f/_new  2013-12-03 16:11:59.000000000 +0100
@@ -17,13 +17,15 @@
 
 
 Name:           python3-pip
-Version:        1.4
+Version:        1.4.1
 Release:        0
 Url:            http://www.pip-installer.org
 Summary:        Pip installs packages. Python packages. An easy_install 
replacement
 License:        MIT
 Group:          Development/Languages/Python
 Source:         
http://pypi.python.org/packages/source/p/pip/pip-%{version}.tar.gz
+# quick-fix for bnc#850341
+Patch1:         pip-bug850341.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  python3
 %if 0%{?suse_version} == 1220
@@ -44,6 +46,7 @@
 
 %prep
 %setup -q -n pip-%{version}
+%patch1
 sed -i "s|#!/usr/bin/env python||g" pip/__init__.py # Fix non-executable script
 2to3 -wvn .
 
@@ -52,6 +55,8 @@
 
 %install
 python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
+rm %{buildroot}%{_bindir}/pip
+ln -s %{_bindir}/pip-%{py3_ver} %{buildroot}%{_bindir}/pip
 
 %pre
 # Since /usr/bin/pip became ghosted to be used with update-alternatives, we 
have to get rid
@@ -74,5 +79,8 @@
 %{_bindir}/pip-%{py3_ver}
 %{python3_sitelib}/pip-%{version}-py%{py3_ver}.egg-info
 %{python3_sitelib}/pip
+%if 0%{?suse_version} >= 1230
+%ghost %{_sysconfdir}/alternatives/pip
+%endif
 
 %changelog

++++++ pip-1.4.tar.gz -> pip-1.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/CHANGES.txt new/pip-1.4.1/CHANGES.txt
--- old/pip-1.4/CHANGES.txt     2013-07-23 22:50:43.000000000 +0200
+++ new/pip-1.4.1/CHANGES.txt   2013-08-08 02:54:14.000000000 +0200
@@ -1,6 +1,17 @@
 Changelog
 =========
 
+1.4.1 (2013-08-07)
+------------------
+
+* **New Signing Key** Release 1.4.1 is using a different key than normal with 
fingerprint: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
+* Fixed issues with installing from pybundle files (Pull #1116).
+* Fixed error when sysconfig module throws an exception (Pull #1095).
+* Don't ignore already installed pre-releases (Pull #1076).
+* Fixes related to upgrading setuptools (Pull #1092).
+* Fixes so that --download works with wheel archives (Pull #1113).
+* Fixes related to recognizing and cleaning global build dirs (Pull #1080).
+
 1.4 (2013-07-23)
 ----------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/PKG-INFO new/pip-1.4.1/PKG-INFO
--- old/pip-1.4/PKG-INFO        2013-07-23 22:58:36.000000000 +0200
+++ new/pip-1.4.1/PKG-INFO      2013-08-08 03:11:56.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pip
-Version: 1.4
+Version: 1.4.1
 Summary: A tool for installing and managing Python packages.
 Home-page: http://www.pip-installer.org
 Author: The pip developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/docs/cookbook.rst 
new/pip-1.4.1/docs/cookbook.rst
--- old/pip-1.4/docs/cookbook.rst       2013-07-22 19:00:18.000000000 +0200
+++ new/pip-1.4.1/docs/cookbook.rst     2013-08-08 02:38:52.000000000 +0200
@@ -157,9 +157,6 @@
 pypi, upload wheels as well.  Unlike the older formats, wheels are
 compatible with virtual environments.
 
-.. _Setuptools: http://pypi.python.org/pypi/setuptools/
-.. _Distribute: http://pypi.python.org/pypi/distribute/
-
 
 .. _`Downloading Archives`:
 
@@ -277,3 +274,78 @@
   allow_hosts = ''
   find_links = file:///path/to/local/archives
 
+
+Upgrading from distribute to setuptools
+***************************************
+
+`distribute`_ has now been merged into `setuptools`_, and it is recommended to 
upgrade to setuptools when possible.
+
+To upgrade from `distribute`_ to `setuptools`_ using pip, run::
+
+  pip install --upgrade setuptools
+
+"ImportError: No module named setuptools"
+-----------------------------------------
+
+Although using the upgrade command above works in isolation, it's possible to 
get
+"ImportError: No module named setuptools" when using pip<1.4 to upgrade a
+package that depends on setuptools or distribute.
+
+e.g. when running a command like this:  `pip install --upgrade pyramid`
+
+Solution
+~~~~~~~~
+
+To prevent the problem in *new* environments (that aren't broken yet):
+
+* Option 1:
+
+ * *First* run `pip install -U setuptools`,
+ * *Then* run the command to upgrade your package (e.g. `pip install --upgrade 
pyramid`)
+
+* Option 2:
+
+ * Upgrade pip using :ref:`get-pip <get-pip>`
+ * *Then* run the command to upgrade your package (e.g. `pip install --upgrade 
pyramid`)
+
+To fix the problem once it's occurred, you'll need to manually install the new
+setuptools, then rerun the upgrade that failed.
+
+1. Download `ez_setup.py` 
(https://bitbucket.org/pypa/setuptools/downloads/ez_setup.py)
+2. Run `python ez_setup.py`
+3. Then rerun your upgrade (e.g. `pip install --upgrade pyramid`)
+
+
+Cause
+~~~~~
+
+distribute-0.7.3 is just an empty wrapper that only serves to require the new
+setuptools (setuptools>=0.7) so that it will be installed. (if you don't know
+yet, the "new setuptools" is a merge of distribute and setuptools back into one
+project)
+
+distribute-0.7.3 does it's job well, when the upgrade is done in isolation.
+E.g. if you're currently on distribute-0.6.X, then running `pip install -U
+setuptools` works fine to upgrade you to setuptools>=0.7.
+
+The problem occurs when:
+
+1. you are currently using an older distribute (i.e. 0.6.X)
+2. and you try to use pip to upgrade a package that *depends* on setuptools or
+   distribute.
+
+As part of the upgrade process, pip builds an install list that ends up
+including distribute-0.7.3 and setuptools>=0.7 , but they can end up being
+separated by other dependencies in the list, so what can happen is this:
+
+1.  pip uninstalls the existing distribute
+2.  pip installs distribute-0.7.3 (which has no importable setuptools, that pip
+    *needs* internally to function)
+3.  pip moves onto install another dependency (before setuptools>=0.7) and is
+    unable to proceed without the setuptools package
+
+Note that pip v1.4 has fixes to prevent this.  distribute-0.7.3 (or
+setuptools>=0.7) by themselves cannot prevent this kind of problem.
+
+.. _setuptools: https://pypi.python.org/pypi/setuptools
+.. _distribute: https://pypi.python.org/pypi/distribute
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/docs/installing.rst 
new/pip-1.4.1/docs/installing.rst
--- old/pip-1.4/docs/installing.rst     2013-07-23 20:10:42.000000000 +0200
+++ new/pip-1.4.1/docs/installing.rst   2013-08-08 02:38:52.000000000 +0200
@@ -85,6 +85,8 @@
 .. _distribute: https://pypi.python.org/pypi/distribute
 
 
+.. _`get-pip`:
+
 Using get-pip
 +++++++++++++
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/__init__.py new/pip-1.4.1/pip/__init__.py
--- old/pip-1.4/pip/__init__.py 2013-07-23 21:51:57.000000000 +0200
+++ new/pip-1.4.1/pip/__init__.py       2013-08-08 02:42:50.000000000 +0200
@@ -14,7 +14,7 @@
 
 
 # The version as used in the setup.py and the docs conf.py
-__version__ = "1.4"
+__version__ = "1.4.1"
 
 def autocomplete():
     """Command and option completion for the main option parser (and options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/cmdoptions.py 
new/pip-1.4.1/pip/cmdoptions.py
--- old/pip-1.4/pip/cmdoptions.py       2013-07-23 20:10:54.000000000 +0200
+++ new/pip-1.4.1/pip/cmdoptions.py     2013-08-08 02:38:52.000000000 +0200
@@ -141,7 +141,7 @@
     default=build_prefix,
     help='Directory to unpack packages into and build in. '
     'The default in a virtualenv is "<venv path>/build". '
-    'The default for global installs is "<OS temp dir>/pip-build-<username>".')
+    'The default for global installs is "<OS temp dir>/pip_build_<username>".')
 
 install_options = make_option(
     '--install-option',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/commands/install.py 
new/pip-1.4.1/pip/commands/install.py
--- old/pip-1.4/pip/commands/install.py 2013-07-23 20:10:54.000000000 +0200
+++ new/pip-1.4.1/pip/commands/install.py       2013-08-08 02:38:52.000000000 
+0200
@@ -7,7 +7,7 @@
 from pip.locations import src_prefix, virtualenv_no_global, distutils_scheme
 from pip.basecommand import Command
 from pip.index import PackageFinder
-from pip.exceptions import InstallationError, CommandError
+from pip.exceptions import InstallationError, CommandError, 
PreviousBuildDirError
 from pip import cmdoptions
 
 
@@ -251,6 +251,8 @@
             elif self.bundle:
                 requirement_set.create_bundle(self.bundle_filename)
                 logger.notify('Created bundle in %s' % self.bundle_filename)
+        except PreviousBuildDirError:
+            return
         finally:
             # Clean up
             if (not options.no_clean) and ((not options.no_install) or 
options.download_dir):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/commands/wheel.py 
new/pip-1.4.1/pip/commands/wheel.py
--- old/pip-1.4/pip/commands/wheel.py   2013-07-23 20:10:54.000000000 +0200
+++ new/pip-1.4.1/pip/commands/wheel.py 2013-08-08 02:38:52.000000000 +0200
@@ -6,7 +6,7 @@
 from pip.basecommand import Command
 from pip.index import PackageFinder
 from pip.log import logger
-from pip.exceptions import CommandError
+from pip.exceptions import CommandError, PreviousBuildDirError
 from pip.req import InstallRequirement, RequirementSet, parse_requirements
 from pip.util import normalize_path
 from pip.wheel import WheelBuilder, wheel_setuptools_support, 
setuptools_requirement
@@ -150,6 +150,8 @@
                 global_options = options.global_options or []
                 )
             wb.build()
+        except PreviousBuildDirError:
+            return
         finally:
             if not options.no_clean:
                 requirement_set.cleanup_files()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/index.py new/pip-1.4.1/pip/index.py
--- old/pip-1.4/pip/index.py    2013-07-23 20:10:54.000000000 +0200
+++ new/pip-1.4.1/pip/index.py  2013-08-08 02:38:52.000000000 +0200
@@ -278,8 +278,11 @@
                             % (link, version, ','.join([''.join(s) for s in 
req.req.specs])))
                 continue
             elif is_prerelease(version) and not (self.allow_all_prereleases or 
req.prereleases):
-                logger.info("Ignoring link %s, version %s is a pre-release 
(use --pre to allow)." % (link, version))
-                continue
+                # If this version isn't the already installed one, then
+                #   ignore it if it's a pre-release.
+                if link is not InfLink:
+                    logger.info("Ignoring link %s, version %s is a pre-release 
(use --pre to allow)." % (link, version))
+                    continue
             applicable_versions.append((parsed_version, link, version))
         applicable_versions = self._sort_versions(applicable_versions)
         existing_applicable = bool([link for parsed_version, link, version in 
applicable_versions if link is InfLink])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/locations.py 
new/pip-1.4.1/pip/locations.py
--- old/pip-1.4/pip/locations.py        2013-06-25 14:41:09.000000000 +0200
+++ new/pip-1.4.1/pip/locations.py      2013-08-08 02:38:52.000000000 +0200
@@ -57,7 +57,7 @@
 
 def _get_build_prefix():
     """ Returns a safe build_prefix """
-    path = os.path.join(tempfile.gettempdir(), 'pip-build-%s' %
+    path = os.path.join(tempfile.gettempdir(), 'pip_build_%s' %
         __get_username())
     if sys.platform == 'win32':
         """ on windows(tested on 7) temp dirs are isolated """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/pep425tags.py 
new/pip-1.4.1/pip/pep425tags.py
--- old/pip-1.4/pip/pep425tags.py       2013-07-22 19:00:18.000000000 +0200
+++ new/pip-1.4.1/pip/pep425tags.py     2013-08-08 02:38:52.000000000 +0200
@@ -1,6 +1,7 @@
 """Generate and work with PEP 425 Compatibility Tags."""
 
 import sys
+import warnings
 
 try:
     import sysconfig
@@ -25,10 +26,7 @@
 
 def get_impl_ver():
     """Return implementation version."""
-    impl_ver = sysconfig.get_config_var("py_version_nodot")
-    if not impl_ver:
-        impl_ver = ''.join(map(str, sys.version_info[:2]))
-    return impl_ver
+    return ''.join(map(str, sys.version_info[:2]))
 
 
 def get_platform():
@@ -58,7 +56,12 @@
 
     abis = []
 
-    soabi = sysconfig.get_config_var('SOABI')
+    try:
+        soabi = sysconfig.get_config_var('SOABI')
+    except IOError as e: # Issue #1074
+        warnings.warn("{0}".format(e), RuntimeWarning)
+        soabi = None
+
     if soabi and soabi.startswith('cpython-'):
         abis[0:0] = ['cp' + soabi.split('-', 1)[-1]]
 
@@ -74,7 +77,7 @@
 
     if not noarch:
         arch = get_platform()
-    
+
         # Current version, current API (built specifically for our Python):
         for abi in abis:
             supported.append(('%s%s' % (impl, versions[0]), abi, arch))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/req.py new/pip-1.4.1/pip/req.py
--- old/pip-1.4/pip/req.py      2013-07-22 19:00:18.000000000 +0200
+++ new/pip-1.4.1/pip/req.py    2013-08-08 02:38:52.000000000 +0200
@@ -37,7 +37,8 @@
 class InstallRequirement(object):
 
     def __init__(self, req, comes_from, source_dir=None, editable=False,
-                 url=None, as_egg=False, update=True, prereleases=None):
+                 url=None, as_egg=False, update=True, prereleases=None,
+                 from_bundle=False):
         self.extras = ()
         if isinstance(req, string_types):
             req = pkg_resources.Requirement.parse(req)
@@ -65,6 +66,7 @@
         self.uninstalled = None
         self.use_user_site = False
         self.target_dir = None
+        self.from_bundle = from_bundle
 
         # True if pre-releases are acceptable
         if prereleases:
@@ -591,6 +593,7 @@
             return
         if self.is_wheel:
             self.move_wheel_files(self.source_dir)
+            self.install_succeeded = True
             return
 
         temp_location = tempfile.mkdtemp('-record', 'pip-')
@@ -713,9 +716,11 @@
         if self.req is None:
             return False
         try:
+            # DISTRIBUTE TO SETUPTOOLS UPGRADE HACK (1 of 3 parts)
             # if we've already set distribute as a conflict to setuptools
             # then this check has already run before.  we don't want it to
             # run again, and return False, since it would block the uninstall
+            # TODO: remove this later
             if (self.req.project_name == 'setuptools'
                 and self.conflicts_with
                 and self.conflicts_with.project_name == 'distribute'):
@@ -773,12 +778,10 @@
                 url = None
             yield InstallRequirement(
                 package, self, editable=True, url=url,
-                update=False, source_dir=dest_dir)
+                update=False, source_dir=dest_dir, from_bundle=True)
         for dest_dir in self._bundle_build_dirs:
             package = os.path.basename(dest_dir)
-            yield InstallRequirement(
-                package, self,
-                source_dir=dest_dir)
+            yield InstallRequirement(package, self,source_dir=dest_dir, 
from_bundle=True)
 
     def move_bundle_files(self, dest_build_dir, dest_src_dir):
         base = self._temp_build_dir
@@ -1056,9 +1059,14 @@
                     unpack = True
                     url = None
 
-                    # If a checkout exists, it's unwise to keep going.
-                    # Version inconsistencies are logged later, but do not 
fail the installation.
-                    if os.path.exists(os.path.join(location, 'setup.py')):
+                    # In the case where the req comes from a bundle, we should
+                    # assume a build dir exists and move on
+                    if req_to_install.from_bundle:
+                        pass
+                    # If a checkout exists, it's unwise to keep going.  version
+                    # inconsistencies are logged later, but do not fail the
+                    # installation.
+                    elif os.path.exists(os.path.join(location, 'setup.py')):
                         msg = textwrap.dedent("""
                           pip can't proceed with requirement '%s' due to a 
pre-existing build directory.
                            location: %s
@@ -1099,6 +1107,13 @@
                             for subreq in req_to_install.bundle_requirements():
                                 reqs.append(subreq)
                                 self.add_requirement(subreq)
+                        elif self.is_download:
+                            req_to_install.source_dir = location
+                            if not is_wheel:
+                                # FIXME: see 
https://github.com/pypa/pip/issues/1112
+                                req_to_install.run_egg_info()
+                            if url and url.scheme in vcs.all_schemes:
+                                req_to_install.archive(self.download_dir)
                         elif is_wheel:
                             req_to_install.source_dir = location
                             req_to_install.url = url.url
@@ -1114,11 +1129,6 @@
                                                                 req_to_install)
                                     reqs.append(subreq)
                                     self.add_requirement(subreq)
-                        elif self.is_download:
-                            req_to_install.source_dir = location
-                            req_to_install.run_egg_info()
-                            if url and url.scheme in vcs.all_schemes:
-                                req_to_install.archive(self.download_dir)
                         else:
                             req_to_install.source_dir = location
                             req_to_install.run_egg_info()
@@ -1235,10 +1245,11 @@
         to_install = [r for r in self.requirements.values()
                       if not r.satisfied_by]
 
-        # move distribute>=0.7 to the end because it does not contain an
-        # importable setuptools. by moving it to the end, we ensure it's
-        # setuptools dependency is handled first, which will provide an
-        # importable setuptools package
+        # DISTRIBUTE TO SETUPTOOLS UPGRADE HACK (1 of 3 parts)
+        # move the distribute-0.7.X wrapper to the end because it does not
+        # install a setuptools package. by moving it to the end, we ensure it's
+        # setuptools dependency is handled first, which will provide the
+        # setuptools package
         # TODO: take this out later
         distribute_req = pkg_resources.Requirement.parse("distribute>=0.7")
         for req in to_install:
@@ -1252,17 +1263,27 @@
         try:
             for requirement in to_install:
 
-                # when installing setuptools>=0.7.2 in py2, we need to force 
setuptools
-                # to uninstall distribute. In py3, which is always using 
distribute, this
+                # DISTRIBUTE TO SETUPTOOLS UPGRADE HACK (1 of 3 parts)
+                # when upgrading from distribute-0.6.X to the new merged
+                # setuptools in py2, we need to force setuptools to uninstall
+                # distribute. In py3, which is always using distribute, this
                 # conversion is already happening in distribute's 
pkg_resources.
+                # It's ok *not* to check if setuptools>=0.7 because if someone
+                # were actually trying to ugrade from distribute to setuptools
+                # 0.6.X, then all this could do is actually help, although that
+                # upgade path was certainly never "supported"
                 # TODO: remove this later
-                setuptools_req = 
pkg_resources.Requirement.parse("setuptools>=0.7.2")
-                if requirement.name == 'setuptools' and 
requirement.installed_version in setuptools_req:
+                if requirement.name == 'setuptools':
                     try:
+                        # only uninstall distribute<0.7. For >=0.7, setuptools
+                        # will also be present, and that's what we need to
+                        # uninstall
+                        distribute_requirement = 
pkg_resources.Requirement.parse("distribute<0.7")
                         existing_distribute = 
pkg_resources.get_distribution("distribute")
-                        requirement.conflicts_with = existing_distribute
-                    except:
-                        # distribute wasn't installed
+                        if existing_distribute in distribute_requirement:
+                            requirement.conflicts_with = existing_distribute
+                    except pkg_resources.DistributionNotFound:
+                        # distribute wasn't installed, so nothing to do
                         pass
 
                 if requirement.conflicts_with:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip/wheel.py new/pip-1.4.1/pip/wheel.py
--- old/pip-1.4/pip/wheel.py    2013-07-22 19:00:18.000000000 +0200
+++ new/pip-1.4.1/pip/wheel.py  2013-08-08 02:38:52.000000000 +0200
@@ -20,7 +20,7 @@
 
 wheel_ext = '.whl'
 # don't use pkg_resources.Requirement.parse, to avoid the override in 
distribute,
-# that converts 'setuptools' to 'distribute'. (The ==0.8dev does function as 
an OR)
+# that converts 'setuptools' to 'distribute'.
 setuptools_requirement = 
list(pkg_resources.parse_requirements("setuptools>=0.8"))[0]
 
 def wheel_setuptools_support():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pip-1.4/pip.egg-info/PKG-INFO 
new/pip-1.4.1/pip.egg-info/PKG-INFO
--- old/pip-1.4/pip.egg-info/PKG-INFO   2013-07-23 22:58:36.000000000 +0200
+++ new/pip-1.4.1/pip.egg-info/PKG-INFO 2013-08-08 03:11:56.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pip
-Version: 1.4
+Version: 1.4.1
 Summary: A tool for installing and managing Python packages.
 Home-page: http://www.pip-installer.org
 Author: The pip developers

++++++ pip-bug850341.patch ++++++
diff -ruN ./pip/backwardcompat/__init__.py 
../pip-1.4.1.patched/pip/backwardcompat/__init__.py
--- ./pip/backwardcompat/__init__.py    2013-08-08 09:42:56.000000000 +0900
+++ ../pip-1.4.1.patched/pip/backwardcompat/__init__.py 2013-11-22 
15:29:44.810583988 +0900
@@ -33,7 +33,9 @@
     from urllib.request import url2pathname
     from urllib.request import urlretrieve
     from email import message as emailmessage
-    import urllib.parse as urllib
+    import urllib.parse
+    import urllib.request
+    import urllib.error
     import urllib.request as urllib2
     import configparser as ConfigParser
     import xmlrpc.client as xmlrpclib
diff -ruN ./pip/commands/__init__.py 
../pip-1.4.1.patched/pip/commands/__init__.py
--- ./pip/commands/__init__.py  2013-08-08 09:42:56.000000000 +0900
+++ ../pip-1.4.1.patched/pip/commands/__init__.py       2013-11-22 
15:32:20.787843452 +0900
@@ -54,7 +54,7 @@
     if ordered:
         cmditems = _sort_commands(commands, commands_order)
     else:
-        cmditems = commands.items()
+        cmditems = tuple(commands.items())
 
     for name, command_class in cmditems:
         if ignore_hidden and command_class.hidden:
@@ -67,7 +67,7 @@
     """Command name auto-correct."""
     from difflib import get_close_matches
 
-    close_commands = get_close_matches(name, commands.keys())
+    close_commands = get_close_matches(name, tuple(commands.keys()))
 
     if close_commands:
         guess = close_commands[0]
@@ -85,4 +85,4 @@
             # unordered items should come last
             return 0xff
 
-    return sorted(cmddict.items(), key=keyfn)
+    return sorted(tuple(cmddict.items()), key=keyfn)
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to