Просмотр исходного кода

* cmdline/apt-get.cc:
- do not discard the error messages from the resolver and instead
only show the general 'Broken packages' message if nothing else

David Kalnischkies лет назад: 15
Родитель
Сommit
d953d210bb

+ 6 - 4
cmdline/apt-get.cc

@@ -1886,8 +1886,7 @@ bool DoInstall(CommandLine &CmdL)
       {
 	 // Call the scored problem resolver
 	 Fix->InstallProtect();
-	 if (Fix->Resolve(true) == false)
-	    ; //FIXME: is there a valid reason for?  _error->Discard();
+	 Fix->Resolve(true);
 	 delete Fix;
       }
 
@@ -1913,8 +1912,11 @@ bool DoInstall(CommandLine &CmdL)
 	 c1out << _("The following information may help to resolve the situation:") << endl;
 	 c1out << endl;
 	 ShowBroken(c1out,Cache,false);
-	 return _error->Error(_("Broken packages"));
-      }   
+	 if (_error->PendingError() == true)
+	    return false;
+	 else
+	    return _error->Error(_("Broken packages"));
+      }
    }
    if (!DoAutomaticRemove(Cache)) 
       return false;

+ 4 - 1
debian/changelog

@@ -16,12 +16,15 @@ apt (0.8.15) UNRELEASED; urgency=low
     - let the Mark methods return if their marking was successful
     - if a Breaks can't be upgraded, remove it. If it or a Conflict
       can't be removed the installation of the breaker fails.
+  * cmdline/apt-get.cc:
+    - do not discard the error messages from the resolver and instead
+      only show the general 'Broken packages' message if nothing else
 
   [ Stefano Zacchiroli ]
   * doc/external-dependency-solver-protocol.txt:
     - describe EDSP and the configuration interface around it
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Tue, 17 May 2011 17:59:24 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com>  Tue, 17 May 2011 18:43:21 +0200
 
 apt (0.8.14.2) UNRELEASED; urgency=low
 

+ 2 - 2
test/integration/test-handling-broken-orgroups

@@ -58,7 +58,7 @@ The following information may help to resolve the situation:
 The following packages have unmet dependencies:
  coolstuff-broken : Depends: cool2 but it is not installable or
                              stuff2 but it is not installable
-E: Broken packages' aptget install coolstuff-broken -s
+E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-broken -s
 
 testequal 'Reading package lists...
 Building dependency tree...
@@ -105,4 +105,4 @@ The following information may help to resolve the situation:
 The following packages have unmet dependencies:
  coolstuff-provided-broken : Depends: cool2 but it is not installable or
                                       stuff-abi-2
-E: Broken packages' aptget install coolstuff-provided-broken -s
+E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-provided-broken -s

+ 1 - 1
test/integration/test-release-candidate-switching

@@ -416,4 +416,4 @@ The following information may help to resolve the situation:
 The following packages have unmet dependencies:
  uninstallablepkg : Depends: libmtp8 (>= 10:0.20.1) but it is not going to be installed
                     Depends: amarok-utils (= 2.3.2-2+exp) but 2.3.1-1+sid is to be installed
-E: Broken packages" aptget install uninstallablepkg/experimental --trivial-only -V -q=0
+E: Unable to correct problems, you have held broken packages." aptget install uninstallablepkg/experimental --trivial-only -V -q=0