rootfs: improve postinst intercept logging

Ensure we capture stderr, always write the output to the log, and don't be so
emotional in the warning message.

(From OE-Core rev: 87110e971c548d9d3eb7296ea6772d18e0226e53)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2017-09-04 21:13:17 +01:00
committed by Richard Purdie
parent d27b089fef
commit aa0c24f351

View File

@@ -302,10 +302,11 @@ class Rootfs(object, metaclass=ABCMeta):
bb.note("> Executing %s intercept ..." % script)
try:
subprocess.check_output(script_full)
output = subprocess.check_output(script_full, stderr=subprocess.STDOUT)
if output: bb.note(output.decode("utf-8"))
except subprocess.CalledProcessError as e:
bb.warn("The postinstall intercept hook '%s' failed (exit code: %d)! See log for details! (Output: %s)" %
(script, e.returncode, e.output))
bb.warn("The postinstall intercept hook '%s' failed, details in log.do_rootfs" % script)
bb.note("Exit code %d. Output:\n%s" % (e.returncode, e.output.decode("utf-8")))
with open(script_full) as intercept:
registered_pkgs = None