summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2014-05-30 13:42:36 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2014-05-30 13:42:36 +0200
commit58377ceb4b62e8f50ddae8f17ce1511e4bf79a18 (patch)
tree5d5af36b2875ee2e8e1a5bd2c2ca0805092a8a90
parent59df9e241d035c9e5ea0859d1b9b0abf70ab1596 (diff)
if Resolver fails, do not continue even if not broken
This can happen if the request is already a well-formed request all by itself (e.g. the package has no dependencies), but the resolver found a reason to not accept it as solution. Our edsp 'dump' solver e.g. shouldn't be able to trigger install, which it does otherwise.
-rw-r--r--apt-private/private-install.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc
index 107ed398e..f15ccc398 100644
--- a/apt-private/private-install.cc
+++ b/apt-private/private-install.cc
@@ -617,7 +617,8 @@ bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, CacheFile &Cache,
if (Fix != NULL)
{
// Call the scored problem resolver
- Fix->Resolve(true);
+ if (Fix->Resolve(true) == false && Cache->BrokenCount() == 0)
+ return false;
}
// Now we check the state of the packages,