summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/__init__.py
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 /pym/_emerge/__init__.py
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
Diffstat (limited to 'pym/_emerge/__init__.py')
-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))