summaryrefslogtreecommitdiff
path: root/setuptools/command
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/command')
-rwxr-xr-xsetuptools/command/easy_install.py10
-rwxr-xr-xsetuptools/command/egg_info.py18
2 files changed, 15 insertions, 13 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index 46958625..3507d4ed 100755
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -90,7 +90,7 @@ class easy_install(Command):
self.optimize = self.record = None
self.upgrade = self.always_copy = self.multi_version = None
self.editable = self.no_deps = self.allow_hosts = None
- self.root = self.prefix = None
+ self.root = self.prefix = self.no_report = None
# Options not specifiable via command line
self.package_index = None
@@ -509,7 +509,10 @@ Please make the appropriate changes for your system and try again.
requirement = Requirement(
distreq.project_name, distreq.specs, requirement.extras
)
-
+ if dist.has_metadata('dependency_links.txt'):
+ self.package_index.add_find_links(
+ dist.get_metadata_lines('dependency_links.txt')
+ )
log.info("Processing dependencies for %s", requirement)
try:
distros = WorkingSet([]).resolve(
@@ -524,7 +527,6 @@ Please make the appropriate changes for your system and try again.
"Installed distribution %s conflicts with requirement %s"
% e.args
)
-
if self.always_copy:
# Force all the relevant distros to be copied or activated
for dist in distros:
@@ -862,7 +864,7 @@ you ignore the conflicts, the installed package(s) may not work.
def installation_report(self, req, dist, what="Installed"):
"""Helpful installation message for display to package users"""
msg = "\n%(what)s %(eggloc)s%(extras)s"
- if self.multi_version:
+ if self.multi_version and not self.no_report:
msg += """
Because this distribution was installed --multi-version or --install-dir,
diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py
index 15d8ae19..d9fcd3f0 100755
--- a/setuptools/command/egg_info.py
+++ b/setuptools/command/egg_info.py
@@ -80,19 +80,19 @@ class egg_info(Command):
- def write_or_delete_file(self, what, filename, data):
+ def write_or_delete_file(self, what, filename, data, force=False):
"""Write `data` to `filename` or delete if empty
If `data` is non-empty, this routine is the same as ``write_file()``.
If `data` is empty but not ``None``, this is the same as calling
``delete_file(filename)`. If `data` is ``None``, then this is a no-op
unless `filename` exists, in which case a warning is issued about the
- orphaned file.
+ orphaned file (if `force` is false), or deleted (if `force` is true).
"""
if data:
self.write_file(what, filename, data)
elif os.path.exists(filename):
- if data is None:
+ if data is None and not force:
log.warn(
"%s not set in setup(), but %s exists", what, filename
)
@@ -326,12 +326,15 @@ def write_toplevel_names(cmd, basename, filename):
-def write_arg(cmd, basename, filename):
+def overwrite_arg(cmd, basename, filename):
+ write_arg(cmd, basename, filename, True)
+
+def write_arg(cmd, basename, filename, force=False):
argname = os.path.splitext(basename)[0]
value = getattr(cmd.distribution, argname, None)
if value is not None:
value = '\n'.join(value)+'\n'
- cmd.write_or_delete_file(argname, filename, value)
+ cmd.write_or_delete_file(argname, filename, value, force)
def write_entries(cmd, basename, filename):
ep = cmd.distribution.entry_points
@@ -347,7 +350,7 @@ def write_entries(cmd, basename, filename):
data.append('[%s]\n%s\n\n' % (section,contents))
data = ''.join(data)
- cmd.write_or_delete_file('entry points', filename, data)
+ cmd.write_or_delete_file('entry points', filename, data, True)
def get_pkg_info_revision():
# See if we can get a -r### off of PKG-INFO, in case this is an sdist of
@@ -364,6 +367,3 @@ def get_pkg_info_revision():
-
-
-