Add debug support to PackagesSystemSet since robbat2 is reporting an empty
authorZac Medico <zmedico@gentoo.org>
Fri, 1 Aug 2008 21:56:26 +0000 (21:56 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 1 Aug 2008 21:56:26 +0000 (21:56 -0000)
set for some unknown reason.

svn path=/main/trunk/; revision=11314

pym/portage/sets/profiles.py

index 8efa0ec056ea55a8fa22a644363f99a9504a3e2d..9c1dcbe866e087975d2385b4b6190d5c1e5ce07d 100644 (file)
@@ -2,18 +2,22 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+import logging
 import os
 from portage.util import grabfile_package, stack_lists
 from portage.sets.base import PackageSet
+from portage.sets import get_boolean
+from portage.util import writemsg_level
 
 __all__ = ["PackagesSystemSet"]
 
 class PackagesSystemSet(PackageSet):
        _operations = ["merge"]
 
-       def __init__(self, profile_paths):
+       def __init__(self, profile_paths, debug=False):
                super(PackagesSystemSet, self).__init__()
                self._profile_paths = profile_paths
+               self._debug = debug
                if profile_paths:
                        description = self._profile_paths[-1]
                        if description == "/etc/portage/profile" and \
@@ -24,10 +28,26 @@ class PackagesSystemSet(PackageSet):
                self.description = "System packages for profile %s" % description
 
        def load(self):
+               debug = self._debug
+               if debug:
+                       writemsg_level("\nPackagesSystemSet: profile paths: %s\n" % \
+                               (self._profile_paths,), level=logging.DEBUG, noiselevel=-1)
+
                mylist = [grabfile_package(os.path.join(x, "packages")) for x in self._profile_paths]
+
+               if debug:
+                       writemsg_level("\nPackagesSystemSet: raw packages: %s\n" % \
+                               (mylist,), level=logging.DEBUG, noiselevel=-1)
+
                mylist = stack_lists(mylist, incremental=1)
+
+               if debug:
+                       writemsg_level("\nPackagesSystemSet: stacked packages: %s\n" % \
+                               (mylist,), level=logging.DEBUG, noiselevel=-1)
+
                self._setAtoms([x[1:] for x in mylist if x[0] == "*"])
 
        def singleBuilder(self, options, settings, trees):
-               return PackagesSystemSet(settings.profiles)
+               debug = get_boolean(options, "debug", False)
+               return PackagesSystemSet(settings.profiles, debug=debug)
        singleBuilder = classmethod(singleBuilder)