[Checkins] SVN: zc.buildout/branches/2/ bug fix: work around distribute's way of dealing with setuptools
Thomas Lotze
cvs-admin at zope.org
Thu May 3 20:49:39 UTC 2012
Log message for revision 125640:
bug fix: work around distribute's way of dealing with setuptools
There used to be an interaction between buildout's and distribute's ways of
subsituting distribute for setuptools that resulted in buildout not being able
to install a pinned version of distribute.
Changed:
U zc.buildout/branches/2/CHANGES.txt
U zc.buildout/branches/2/src/zc/buildout/easy_install.py
-=-
Modified: zc.buildout/branches/2/CHANGES.txt
===================================================================
--- zc.buildout/branches/2/CHANGES.txt 2012-05-03 18:36:59 UTC (rev 125639)
+++ zc.buildout/branches/2/CHANGES.txt 2012-05-03 20:49:35 UTC (rev 125640)
@@ -30,6 +30,8 @@
- https://bugs.launchpad.net/bugs/697913 : Buildout doesn't honor exit code
from scripts. Fixed.
+-Work around distribute's way of dealing with setuptools.
+
1.5.2 (2010-10-11)
==================
Modified: zc.buildout/branches/2/src/zc/buildout/easy_install.py
===================================================================
--- zc.buildout/branches/2/src/zc/buildout/easy_install.py 2012-05-03 18:36:59 UTC (rev 125639)
+++ zc.buildout/branches/2/src/zc/buildout/easy_install.py 2012-05-03 20:49:35 UTC (rev 125640)
@@ -816,6 +816,16 @@
def _constrain(self, requirement):
+ if requirement.project_name == 'setuptools':
+ # Replace a requirement for setuptools by one for distutils early
+ # on for two reasons: 1. We don't want to miss constraining a
+ # requirement for distribute just because no setuptools version is
+ # pinned. 2. Distribute's requirements parsing replaces a
+ # versioned requirement for setuptools by an unversioned one for
+ # distribute, so we'd miss constraining a requirement for
+ # distribute even if that is pinned.
+ requirement = pkg_resources.Requirement.parse(setuptools_key)
+
version = self._versions.get(requirement.project_name)
if version:
if version not in requirement:
More information about the checkins
mailing list