diff -up sos-3.0/sos/plugins/__init__.py.orig sos-3.0/sos/plugins/__init__.py diff -up sos-3.0/sos/policies/__init__.py.orig sos-3.0/sos/policies/__init__.py --- sos-3.0/sos/policies/__init__.py.orig 2013-11-14 15:24:08.058501213 +0000 +++ sos-3.0/sos/policies/__init__.py 2013-11-14 15:24:37.410610397 +0000 @@ -252,26 +252,32 @@ No changes will be made to system config to use""" return "md5" - def display_results(self, final_filename=None): + def display_results(self, final_filename=None, build=False): # make sure a report exists if not final_filename: return False - # store checksum into file - fp = open(final_filename + "." + get_hash_name(), "w") - checksum = self._create_checksum(final_filename) - if checksum: - fp.write(checksum + "\n") - fp.close() - self._print() - self._print(_("Your sosreport has been generated and saved in:\n %s") % final_filename) + + if not build: + # store checksum into file + fp = open(final_filename + "." + get_hash_name(), "w") + checksum = self._create_checksum(final_filename) + if checksum: + fp.write(checksum + "\n") + fp.close() + + self._print(_("Your sosreport has been generated and saved in:\n %s") % final_filename) + else: + checksum = None + self._print(_("sosreport build tree is located at : %s" % final_filename)) + self._print() if checksum: self._print(_("The checksum is: ") + checksum) self._print() - self._print(_("Please send this file to your support representative.")) + self._print(_("Please send this file to your support representative.")) self._print() def upload_results(self, final_filename): diff -up sos-3.0/sos/sosreport.py.orig sos-3.0/sos/sosreport.py --- sos-3.0/sos/sosreport.py.orig 2013-11-14 15:23:59.718470188 +0000 +++ sos-3.0/sos/sosreport.py 2013-11-14 15:26:54.935121843 +0000 @@ -204,6 +204,7 @@ class SoSOptions(object): _usealloptions = False _upload = False _batch = False + _build = False _verbosity = 0 _quiet = False _debug = False @@ -1111,11 +1112,12 @@ class SoSReport(object): raise def final_work(self): - + # this must come before archive creation to ensure that log + # files are closed and cleaned up at exit. + self._finish_logging() # package up the results for the support organization if not self.opts.build: - self.ui_log.info(_("Creating compressed archive...")) - + print _("Creating compressed archive...") # compression could fail for a number of reasons try: final_filename = self.archive.finalize(self.opts.compression_type) @@ -1125,17 +1127,14 @@ class SoSReport(object): else: return False - # automated submission will go here - if not self.opts.upload: - self.policy.display_results(final_filename) - else: - self.policy.upload_results(final_filename) - else: - self.ui_log.info(_("\n sosreport build tree is located at : %s\n" - % self.archive.get_archive_path())) + final_filename = self.archive.get_archive_path() - self._finish_logging() + # automated submission will go here + if not self.opts.upload: + self.policy.display_results(final_filename, build = self.opts.build) + else: + self.policy.upload_results(final_filename) self.tempfile_util.clean()