From: Zooko O'Whielacronx Date: Wed, 17 Nov 2010 08:08:28 +0000 (-0800) Subject: bundled zetuptoolz: choose a binary dist in preference to a source dist, even if... X-Git-Url: https://git.rkrishnan.org/specifications/reliability?a=commitdiff_plain;h=a44330dfeef23757f4068936c6c1614862ab7a0b;p=tahoe-lafs%2Ftahoe-lafs.git bundled zetuptoolz: choose a binary dist in preference to a source dist, even if the latter is newer, as long as the former satisfies the requirement patch by David-Sarah, tiny bugfix to patch by Zooko ref: #1233 --- diff --git a/setuptools-0.6c16dev2.egg/setuptools/package_index.py b/setuptools-0.6c16dev2.egg/setuptools/package_index.py index 32498d0f..1cfdccc5 100644 --- a/setuptools-0.6c16dev2.egg/setuptools/package_index.py +++ b/setuptools-0.6c16dev2.egg/setuptools/package_index.py @@ -436,18 +436,18 @@ class PackageIndex(Environment): def find(env, req): # Find a matching distribution; may be called more than once - for dist in env[req.key]: - - if dist.precedence==DEVELOP_DIST and not develop_ok: - if dist not in skipped: - self.warn("Skipping development or system egg: %s",dist) - skipped[dist] = 1 - continue - - if dist in req and (dist.precedence<=SOURCE_DIST or not source): - return dist - - + # first try to find a platform-dependent dist + for allow_platform_independent in (False, True): + for dist in env[req.key]: + if dist.precedence==DEVELOP_DIST and not develop_ok: + if dist not in skipped: + self.warn("Skipping development or system egg: %s",dist) + skipped[dist] = 1 + continue + + if (dist in req and (allow_platform_independent or dist.platform is not None) and + (dist.precedence<=SOURCE_DIST or not source)): + return dist if force_scan: self.prescan()