[Aptitude-devel] r3004 - in branches/aptitude-0.3/aptitude: . src/generic/problemresolver

Daniel Burrows dburrows@costa.debian.org
Sun, 10 Apr 2005 13:29:00 +0000


Author: dburrows
Date: Sun Apr 10 13:28:57 2005
New Revision: 3004

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/generic/problemresolver/problemresolver.h
Log:
Whee, more debugging.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Sun Apr 10 13:28:57 2005
@@ -1,5 +1,10 @@
 2005-04-10  Daniel Burrows  <dburrows@debian.org>
 
+	* src/generic/problemresolver/problemresolver.h:
+
+	  Add more debugging, to make it easy to find out where
+	  unresolvable deps are coming from.
+
 	* src/generic/aptitude_resolver.h:
 
 	  Add more accessors, the better to debug it with.

Modified: branches/aptitude-0.3/aptitude/src/generic/problemresolver/problemresolver.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/problemresolver/problemresolver.h	(original)
+++ branches/aptitude-0.3/aptitude/src/generic/problemresolver/problemresolver.h	Sun Apr 10 13:28:57 2005
@@ -590,6 +590,26 @@
     package source_package=source_version.get_package();
     version sol_version=s.version_of(source_package);
 
+    if(d.solvers_begin().end())
+      {
+	std::cout << "No solvers for " << d.get_dep().ParentPkg().Name() 
+		  << " " << d.get_dep().DepType() << " "
+		  << d.get_dep().TargetPkg().Name();
+	if(d.get_dep().TargetVer())
+	  std::cout << " (" << d.get_dep().CompType()
+		    << " " << d.get_dep().TargetVer() << ")";
+
+	if(!d.get_prv().end())
+	  std::cout << "  (through "
+		    << d.get_prv().OwnerPkg().Name() << " "
+		    << d.get_prv().OwnerVer().VerStr()
+		    << " Provides "
+		    << d.get_prv().ParentPkg().Name()
+		    << ")";
+
+	std::cout << std::endl;
+      }
+
     // if not, then the dep is satisfied!
     assert(sol_version == source_version);