+ log.info("Running anaconda-yum to install
packages")
+ # Watch output for progress, debug and error information
+ install_errors = []
+ try:
+ for line in execReadlines("anaconda-yum", args):
+ if line.startswith("PROGRESS_"):
+ key, text = line.split(":", 2)
+ msg = progress_map[key] + text
+ progress.send_message(msg)
+ log.debug(msg)
+ elif line.startswith("DEBUG:"):
+ log.debug(line[6:])
+ elif line.startswith("INFO:"):
+ log.info(line[5:])
+ elif line.startswith("WARN:"):
+ log.warn(line[5:])
+ elif line.startswith("ERROR:"):
+ log.error(line[6:])
+ install_errors.append(line[6:])
+ else:
+ log.debug(line)
+ except IOError as e:
+ log.error("Error running anaconda-yum: %s" % e)
+ exn = PayloadInstallError(str(e))
+ if errorHandler.cb(exn) == ERROR_RAISE:
+ raise exn
+ finally:
+ # log the contents of the scriptlet logfile if any
+ if os.path.exists(script_log):
log.info("==== start rpm scriptlet logs ====")
- with open(script_log.name) as f:
+ with open(script_log) as f:
for l in f:
log.info(l)
log.info("==== end rpm scriptlet logs ====")
- os.unlink(script_log.name)
+ os.unlink(script_log)
+
+ if install_errors:
+ exn = PayloadInstallError("\n".join(install_errors))
+ if errorHandler.cb(exn) == ERROR_RAISE:
+ raise exn
def writeMultiLibConfig(self):
if not self.data.packages.multiLib:
This section is most concerning to me, from a translation perspective.
I'm not sure how good of a job we are doing right now with displaying
correctly translated messages and yum errors but if we're not doing a
good job of it, we could easily fix it given everything is in the same
process.
Do you have any idea what shape it's in given these patches?
- Chris