[Checkins] SVN: zc.buildout/branches/reinout_distribute_upgrade_check/ Simplified fix hugely by using pre-detected setuptools_loc.

Reinout van Rees reinout at vanrees.org
Thu Nov 5 03:28:43 EST 2009


Log message for revision 105488:
  Simplified fix hugely by using pre-detected setuptools_loc.
  Adjusted test: the install() method doesn't query pypi for setuptools anymore.
  Added changelog entry.

Changed:
  U   zc.buildout/branches/reinout_distribute_upgrade_check/CHANGES.txt
  U   zc.buildout/branches/reinout_distribute_upgrade_check/src/zc/buildout/easy_install.py
  U   zc.buildout/branches/reinout_distribute_upgrade_check/src/zc/buildout/easy_install.txt

-=-
Modified: zc.buildout/branches/reinout_distribute_upgrade_check/CHANGES.txt
===================================================================
--- zc.buildout/branches/reinout_distribute_upgrade_check/CHANGES.txt	2009-11-05 07:08:28 UTC (rev 105487)
+++ zc.buildout/branches/reinout_distribute_upgrade_check/CHANGES.txt	2009-11-05 08:28:43 UTC (rev 105488)
@@ -4,7 +4,13 @@
 1.4.3 (?)
 =========
 
+Bugs fixed:
 
+- Using pre-detected setuptools version for easy_installing tgz files.  This
+  prevents a recursion error when easy_installing an upgraded "distribute"
+  tgz.  Note that setuptools did not have this recursion problem solely
+  because it was packaged as an ``.egg``, which does not have to go through
+  the easy_install step.
 
 
 1.4.2 (2009-11-01)

Modified: zc.buildout/branches/reinout_distribute_upgrade_check/src/zc/buildout/easy_install.py
===================================================================
--- zc.buildout/branches/reinout_distribute_upgrade_check/src/zc/buildout/easy_install.py	2009-11-05 07:08:28 UTC (rev 105487)
+++ zc.buildout/branches/reinout_distribute_upgrade_check/src/zc/buildout/easy_install.py	2009-11-05 08:28:43 UTC (rev 105488)
@@ -296,19 +296,7 @@
 
         tmp = tempfile.mkdtemp(dir=dest)
         try:
-            # Detecting setuptools variant (which can also be distribute)
-            # including version number to prevent in-place upgrades that
-            # recurse.
-            found_setuptools = pkg_resources.working_set.find(
-                pkg_resources.Requirement.parse('setuptools'))
-            setuptools_requirement = '%s==%s' % (
-                found_setuptools.project_name,
-                found_setuptools.version)
-            path = self._get_dist(
-                self._constrain(pkg_resources.Requirement.parse(
-                    setuptools_requirement)),
-                ws, False,
-                )[0].location
+            path = setuptools_loc
 
             args = ('-c', _easy_install_cmd, '-mUNxd', _safe_arg(tmp))
             if self._always_unzip:

Modified: zc.buildout/branches/reinout_distribute_upgrade_check/src/zc/buildout/easy_install.txt
===================================================================
--- zc.buildout/branches/reinout_distribute_upgrade_check/src/zc/buildout/easy_install.txt	2009-11-05 07:08:28 UTC (rev 105487)
+++ zc.buildout/branches/reinout_distribute_upgrade_check/src/zc/buildout/easy_install.txt	2009-11-05 08:28:43 UTC (rev 105488)
@@ -1208,7 +1208,6 @@
     GET 200 /demo-0.2-py2.4.egg
     GET 404 /index/demoneeded/
     GET 200 /demoneeded-1.1.zip
-    GET 404 /index/setuptools/
 
     >>> zc.buildout.easy_install.build(
     ...   'extdemo', dest,
@@ -1251,7 +1250,6 @@
     GET 404 /index/demo/
     GET 200 /index/
     GET 404 /index/demoneeded/
-    GET 404 /index/setuptools/
 
     >>> zc.buildout.easy_install.build(
     ...   'extdemo', dest,



More information about the checkins mailing list