# run transaction
self.ts.order()
cb = RPMInstallCallback(self.ts)
- self.ts.run(cb.callback, '')
+ errors = self.ts.run(cb.callback, '')
+
+ # ts.run() exit codes are, hmm, "creative": None means all ok, empty
+ # list means some errors happened in the transaction and non-empty
+ # list that there were errors preventing the ts from starting...
+ if errors is None:
+ pass
+ elif len(errors) == 0:
+ msger.warning("Warning: scriptlet or other non-fatal errors occurred")
+ else:
+ raise errors.BootstrapError("Transaction couldn't start: %s" % '\n'.join(errors))
def run_pkg_script(self, pkg, prog, script, arg):
mychroot = lambda: os.chroot(self.rootdir)