- dont prompt for solutions if none are available.
authorKlaus Kaempf <kkaempf@suse.de>
Fri, 31 Aug 2007 12:15:47 +0000 (12:15 +0000)
committerKlaus Kaempf <kkaempf@suse.de>
Fri, 31 Aug 2007 12:15:47 +0000 (12:15 +0000)
- dont duplicate dependency problems in output.
- indent details by 2 blanks, resolver indents further details
  by 4 blanks.
- provide additional details for problems (#306240)
- don't prompt user for every dependency (#304325)
- don't clutter the log with pool lists.
- r 7054

package/zypper.changes
src/zypper-misc.cc

index 3224600..c2fe8d5 100644 (file)
@@ -1,4 +1,16 @@
 -------------------------------------------------------------------
+Fri Aug 31 14:07:11 CEST 2007 - kkaempf@suse.de
+
+- dont prompt for solutions if none are available.
+- dont duplicate dependency problems in output.
+- indent details by 2 blanks, resolver indents further details
+  by 4 blanks.
+- provide additional details for problems (#306240)
+- don't prompt user for every dependency (#304325)
+- don't clutter the log with pool lists.
+- r 7054
+
+-------------------------------------------------------------------
 Thu Aug 30 20:32:56 CEST 2007 - jkupec@suse.cz
 
 - suppressing excessive output of media errors
index 5a4d176..7df1ab7 100644 (file)
@@ -422,7 +422,7 @@ tribool show_problem (const ResolverProblem & prob, ProblemSolutionList & todo)
   stm << _("Problem: ") << prob.description () << endl;
   det = prob.details ();
   if (!det.empty ())
-    stm << " " << det << endl;
+    stm << "  " << det << endl;
 
   int n;
   ProblemSolutionList solutions = prob.solutions ();
@@ -443,6 +443,9 @@ tribool show_problem (const ResolverProblem & prob, ProblemSolutionList & todo)
 
   int reply;
   do {
+    // without solutions, its useless to prompt
+    if (solutions.empty()) 
+       return false;
     // input prompt
     cerr << _("number, (r)etry or (c)ancel> ") << flush;
     string reply_s = str::getline (cin, zypp::str::TRIM);
@@ -482,8 +485,7 @@ bool show_problems ()
     e = rproblems.end (),
     i;
   ProblemSolutionList todo;
-  bool no_problem = b == e;
-  if (!no_problem) {
+  if (!rproblems.empty()) {
     stm << format (_("%s Problems:")) % rproblems.size() << endl;
   }
   else {
@@ -491,9 +493,6 @@ bool show_problems ()
     return false;
   }
   for (i = b; i != e; ++i) {
-    stm << _("Problem: ") << (*i)->description () << endl;
-  }
-  for (i = b; i != e; ++i) {
     stm << endl;
     tribool stopnow = show_problem (*(*i), todo);
     if (! indeterminate (stopnow)) {
@@ -805,6 +804,7 @@ bool resolve()
 {
   establish ();
   cout_v << _("Resolving dependencies...") << endl;
+  God->resolver()->setForceResolve( true );
   return God->resolver()->resolvePool();
 }
 
@@ -861,7 +861,7 @@ void dump_pool ()
        || it->status().transacts()                         // or transacts
        || !it->status().isUndetermined())                  // or established status
     {
-      _DEBUG( count << ": " << *it );
+      _XDEBUG( count << ": " << *it );
     }
   }
   _XDEBUG( "---------------------------------------" );