aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/command/easy_install.py
diff options
context:
space:
mode:
authorPJ Eby <distutils-sig@python.org>2006-06-07 20:11:24 +0000
committerPJ Eby <distutils-sig@python.org>2006-06-07 20:11:24 +0000
commit812d9964a9831218e3f19827c94f85a9047774db (patch)
tree03ba7a879546276f85b1190050055b63b1c4c24d /setuptools/command/easy_install.py
parentb993ffde0ac08758c76311a5593c56fc754b1716 (diff)
downloadexternal_python_setuptools-812d9964a9831218e3f19827c94f85a9047774db.tar.gz
external_python_setuptools-812d9964a9831218e3f19827c94f85a9047774db.tar.bz2
external_python_setuptools-812d9964a9831218e3f19827c94f85a9047774db.zip
Fix local --find-links eggs not being copied except with --always-copy.
(merge from trunk) --HG-- branch : setuptools-0.6 extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4046726
Diffstat (limited to 'setuptools/command/easy_install.py')
-rwxr-xr-xsetuptools/command/easy_install.py22
1 files changed, 11 insertions, 11 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index 1bbe7b5c..3a244470 100755
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -452,12 +452,22 @@ Please make the appropriate changes for your system and try again.
def install_item(self, spec, download, tmpdir, deps, install_needed=False):
# Installation is also needed if file in tmpdir or is not an egg
+ install_needed = install_needed or self.always_copy
install_needed = install_needed or os.path.dirname(download) == tmpdir
install_needed = install_needed or not download.endswith('.egg')
+ if spec and not install_needed:
+ # at this point, we know it's a local .egg, we just don't know if
+ # it's already installed.
+ for dist in self.local_index[spec.project_name]:
+ if dist.location==download:
+ break
+ else:
+ install_needed = True # it's not in the local index
+
log.info("Processing %s", os.path.basename(download))
- if install_needed or self.always_copy:
+ if install_needed:
dists = self.install_eggs(spec, download, tmpdir)
for dist in dists:
self.process_distribution(spec, dist, deps)
@@ -480,16 +490,6 @@ Please make the appropriate changes for your system and try again.
-
-
-
-
-
-
-
-
-
-
def process_distribution(self, requirement, dist, deps=True, *info):
self.update_pth(dist)
self.package_index.add(dist)