summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-03-31 23:47:50 +0000
committerZac Medico <zmedico@gentoo.org>2008-03-31 23:47:50 +0000
commitaf8d8869563e839c54a21611b144c85048370c9a (patch)
treed749c7cae9a65f677daf813e6463a9551a8154a3
parenta03edf16639f99543b5472d3af70715bd84d882f (diff)
downloadportage-af8d8869563e839c54a21611b144c85048370c9a.tar.gz
portage-af8d8869563e839c54a21611b144c85048370c9a.tar.bz2
portage-af8d8869563e839c54a21611b144c85048370c9a.zip
When deps are forced to be satisfied by installed packages due to masking
or unavailability, only tolerate it when the atom comes from either the system or world set since otherwise it's a good idea to bail so that the user can correct the problem. svn path=/main/trunk/; revision=9656
-rw-r--r--pym/_emerge/__init__.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 54cdb2abd..166ea1cb6 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2270,12 +2270,17 @@ class depgraph(object):
self._missing_args.append((arg, atom))
continue
if pkg.installed and "selective" not in self.myparams:
+ self._unsatisfied_deps_for_display.append(
+ ((myroot, atom), {}))
# Previous behavior was to bail out in this case, but
# since the dep is satisfied by the installed package,
# it's more friendly to continue building the graph
- # and just show a warning message.
- self._unsatisfied_deps_for_display.append(
- ((myroot, atom), {}))
+ # and just show a warning message. Therefore, only bail
+ # out here if the atom is not from either the system or
+ # world set.
+ if not (isinstance(arg, SetArg) and \
+ arg.name in ("system", "world")):
+ return 0, myfavorites
self._dep_stack.append(
Dependency(atom=atom, onlydeps=onlydeps, root=myroot, parent=arg))