if Resolver fails, do not continue even if not broken
authorDavid Kalnischkies <david@kalnischkies.de>
Fri, 30 May 2014 11:42:36 +0000 (13:42 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Fri, 30 May 2014 11:42:36 +0000 (13:42 +0200)
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.

apt-private/private-install.cc

index 107ed39..f15ccc3 100644 (file)
@@ -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,