diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-03-31 23:47:50 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-03-31 23:47:50 +0000 |
commit | af8d8869563e839c54a21611b144c85048370c9a (patch) | |
tree | d749c7cae9a65f677daf813e6463a9551a8154a3 | |
parent | a03edf16639f99543b5472d3af70715bd84d882f (diff) | |
download | portage-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__.py | 11 |
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)) |