changeset 4475:3d6d2df8fd5a

Logging tweaks.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Fri, 24 Oct 2008 13:49:18 +0200
parents 795bcf29cbe1
children b6ef8c18ce12
files gub/buildrunner.py gub/commands.py gub/dependency.py gub/gup.py gub/logging.py gub/runner.py
diffstat 6 files changed, 39 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/gub/buildrunner.py	Fri Oct 24 13:48:30 2008 +0200
+++ b/gub/buildrunner.py	Fri Oct 24 13:49:18 2008 +0200
@@ -69,7 +69,7 @@
                 self.manager (package.platform ()).register_package_dict (package.dict ())
 
     def calculate_checksums (self):
-        logging.stage ('calculating checksums\n')
+        logging.verbose ('calculating checksums\n')
         for (name, spec) in self.specs.items ():
             logger = logging.NullCommandLogger ()
 
@@ -174,7 +174,7 @@
         if checksum_fail_reason:
             logger.write_log ('checkum failed: %(spec_name)s\n' % locals (), 'stage')
         else:
-            logger.write_log ('checkum ok: %(spec_name)s\n' % locals (), 'harmless')
+            logger.write_log ('checkum ok: %(spec_name)s\n' % locals (), 'verbose')
 
         if logging.get_numeric_loglevel ('command') > logger.threshold:
             logger.write_log ('\n'.join (checksum_fail_reason.split ('\n')[:10]), 'command')
@@ -214,7 +214,6 @@
 
     def build_source_packages (self, names):
         deps = filter (self.specs.has_key, names)
-
         self.uninstall_outdated_specs (deps)
         for spec_name in deps:
             self.spec_build (spec_name)
--- a/gub/commands.py	Fri Oct 24 13:48:30 2008 +0200
+++ b/gub/commands.py	Fri Oct 24 13:49:18 2008 +0200
@@ -115,23 +115,25 @@
         self.pattern = pattern
         self.must_happen = must_happen
         self.silent = silent
+
     def execute (self, logger):
-        
         files = misc.locate_files (self.directory, self.pattern)
         if self.must_happen and files == []:
             logger.write_log ('did not find files matching pattern')
             raise 'MapLocate failed'
 
+        # huh, what is silent?
+        func = self.func.__name__
         if self.silent:
-            logger.write_log ('Executing %s on %s/%s (%d files)\n'
-                              % (self.func.__name__, self.directory,
-                                 self.pattern, len (files)), 'info')
+            dir = self.directory
+            pattern = self.pattern
+            count = len (files)
+            logger.write_log ('Mapping %(func)s () over %(dir)s/%(pattern)s (%(count)d files)\n' % locals (), 'action')
             
-        for fname in files:
+        for file_name in files:
             if not self.silent:
-                logger.write_log ('Executing %s on %s\n' % (self.func.__name__,
-                                                      fname), 'info')
-            self.func (logger, fname)
+                logger.write_log ('Applying %(func)s () to %(file_name)s\n', 'action')
+            self.func (logger, file_name)
 
     def checksum (self, hasher):
         hasher (self.__class__.__name__)
--- a/gub/dependency.py	Fri Oct 24 13:48:30 2008 +0200
+++ b/gub/dependency.py	Fri Oct 24 13:49:18 2008 +0200
@@ -10,7 +10,7 @@
 
 def get_build_from_file (platform, file_name, name):
     gub_name = file_name.replace (os.getcwd () + '/', '')
-    logging.info ('reading spec: %(gub_name)s\n' % locals ())
+    logging.verbose ('reading spec: %(gub_name)s\n' % locals ())
     module = misc.load_module (file_name, name)
     # cross/gcc.py:Gcc will be called: cross/Gcc.py,
     # to distinguish from specs/gcc.py:Gcc.py
@@ -26,7 +26,7 @@
 def get_build_class (settings, flavour, name):
     cls = get_build_from_module (settings, name)
     if not cls:
-        logging.harmless ('making spec:  %(name)s\n' % locals ())
+        logging.verbose ('making spec:  %(name)s\n' % locals ())
         cls = get_build_without_module (flavour, name)
     return cls
 
--- a/gub/gup.py	Fri Oct 24 13:48:30 2008 +0200
+++ b/gub/gup.py	Fri Oct 24 13:49:18 2008 +0200
@@ -171,8 +171,7 @@
             try:
                 os.rmdir (d)
             except OSError:
-                logging.harmless ('warning: %(d)s not empty\n'
-                                            % locals ())
+                logging.verbose ('warning: %(d)s not empty\n' % locals ())
         for f in lst:
             ## fixme (?)  -- when is f == ''
             if not f or f.endswith ('/'):
@@ -520,4 +519,7 @@
 
     # Make sure we build dependencies in order
     sorted_names = [o.platform_name () for o in sorted_specs]
+    dep_str = ' '.join (sorted_names).replace (with_platform (''), '')
+    platform = settings.platform
+    logging.info ('dependencies[%(platform)s]: %(dep_str)s\n' % locals ())
     return (sorted_names, spec_dict)
--- a/gub/logging.py	Fri Oct 24 13:48:30 2008 +0200
+++ b/gub/logging.py	Fri Oct 24 13:49:18 2008 +0200
@@ -18,11 +18,12 @@
          'stage': 0,
          'info': 1,
          'harmless': 2,
+         'verbose': 2,
          'warning': 1,
-         'command': 2,
+         'command': 3,
          'action': 2,
-         'output': 3,
-         'debug': 4}
+         'output': 4,
+         'debug': 5}
 
 def now ():
     return time.asctime (time.localtime ())
@@ -58,7 +59,8 @@
 
         if log_file_name:
             if default_logger_interface:
-                default_logger_interface.info ('Opening log file: %s\n' % log_file_name)
+                relative_log_name = log_file_name.replace (os.getcwd () + '/', '')
+                default_logger_interface.info ('Log file: %(relative_log_name)s\n' % locals ())
             
             directory = os.path.split (log_file_name)[0]
             if not os.path.isdir (directory):
@@ -159,6 +161,9 @@
     def harmless (self, str):
         self.logger.write_log (str, 'harmless')
 
+    def verbose (self, str):
+        self.logger.write_log (str, 'verbose')
+
     def output (self, str):
         self.logger.write_log (str, 'output')
 
@@ -181,6 +186,7 @@
 default_logger_interface = LoggerInterface (default_logger)
 
 harmless = default_logger_interface.harmless
+verbose = default_logger_interface.verbose
 stage = default_logger_interface.stage
 action = default_logger_interface.action
 error = default_logger_interface.error
--- a/gub/runner.py	Fri Oct 24 13:48:30 2008 +0200
+++ b/gub/runner.py	Fri Oct 24 13:49:18 2008 +0200
@@ -35,6 +35,9 @@
         self.logger = logger
         self.fakeroot_cmd = False
 
+    def is_deferred (self):
+        return False
+
     def _execute (self, command):
         return command.execute (self.logger)
 
@@ -85,6 +88,9 @@
 
     def harmless (self, str):
         self.log (str, 'harmless')
+
+    def verbose (self, str):
+        self.log (str, 'verbose')
     # end fixme
 
     def system (self, cmd, env={}, ignore_errors=False):
@@ -129,13 +135,17 @@
         CommandRunner.__init__ (self, *args)
         self._deferred_commands = list ()
 
+    def is_deferred (self):
+        return True
+
     def execute_deferred_commands (self):
         commands = self._deferred_commands
         self._deferred_commands = []
         for cmd in commands:
             cmd.execute (self.logger)
 
-        print self._deferred_commands
+        if self._deferred_commands:
+            print '*** deferred leftovers:', self._deferred_commands
         assert self._deferred_commands == list ()
 
     def flush_deferred_commands (self):
@@ -154,5 +164,3 @@
 
     def _execute (self, command):
         self._deferred_commands.append (command)
-
-