From d953d210bb54accb416f2144104b79dcd29198ba Mon Sep 17 00:00:00 2001
From: David Kalnischkies <kalnischkies@gmail.com>
Date: Tue, 17 May 2011 20:20:46 +0200
Subject: [PATCH] * 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

---
 cmdline/apt-get.cc                                | 10 ++++++----
 debian/changelog                                  |  5 ++++-
 test/integration/test-handling-broken-orgroups    |  4 ++--
 test/integration/test-release-candidate-switching |  2 +-
 4 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index d48ca18f9..65eaef0d8 100644
--- a/cmdline/apt-get.cc
+++ b/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;
diff --git a/debian/changelog b/debian/changelog
index 9fc6dc193..71f64dc23 100644
--- a/debian/changelog
+++ b/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
 
diff --git a/test/integration/test-handling-broken-orgroups b/test/integration/test-handling-broken-orgroups
index d88ad0000..20b314074 100755
--- a/test/integration/test-handling-broken-orgroups
+++ b/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
diff --git a/test/integration/test-release-candidate-switching b/test/integration/test-release-candidate-switching
index b6dbe99db..0970cb935 100755
--- a/test/integration/test-release-candidate-switching
+++ b/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
-- 
2.47.2