Add debug mode to display the libraries that cause the package to be included
authorMarius Mauch <genone@gentoo.org>
Tue, 16 Oct 2007 14:28:47 +0000 (14:28 -0000)
committerMarius Mauch <genone@gentoo.org>
Tue, 16 Oct 2007 14:28:47 +0000 (14:28 -0000)
svn path=/main/trunk/; revision=8143

pym/portage/sets/dbapi.py

index fbff27054d3222f5d74dcf30134c0d640a1a240e..bc842ae2c3feb7510ebb9e3e74179fdb41f99268 100644 (file)
@@ -113,9 +113,10 @@ class CategorySet(PackageSet):
 class LibraryConsumerSet(PackageSet):
        _operations = ["merge", "unmerge"]
 
-       def __init__(self, vardbapi):
+       def __init__(self, vardbapi, debug=False):
                super(LibraryConsumerSet, self).__init__()
                self.dbapi = vardbapi
+               self.debug = debug
 
        def mapPathsToAtoms(self, paths):
                rValue = set()
@@ -162,11 +163,19 @@ class MissingLibraryConsumerSet(LibraryConsumerSet):
                                        found=True
                                        break
                        if not found:
+                               print "missing library: %s" % lib
+                               print "consumers:"
+                               for x in self.dbapi.libmap.get()[lib]:
+                                       print "    ", x
                                consumers.update(self.dbapi.libmap.get()[lib])
                if not consumers:
                        return
                self._setAtoms(self.mapPathsToAtoms(consumers))
        
        def singleBuilder(cls, options, settings, trees):
-               return MissingLibraryConsumerSet(trees["vartree"].dbapi)
+               if options.get("debug", "true").lower() in ["true", "on", "1", "yes"]:
+                       debug = True
+               else:
+                       debug = False
+               return MissingLibraryConsumerSet(trees["vartree"].dbapi, debug=debug)
        singleBuilder = classmethod(singleBuilder)