uninative: show errors if installing fails

We call the installer script but if it fails the user doesn't see the
reason, which makes resolving the problem hard.  Capture both stdout and
stderr as text, and display it to the user when it fails.

(From OE-Core rev: c67fbe17ce063350181c28f99662004737d8b770)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2025-04-23 18:26:41 +01:00 committed by Richard Purdie
parent 70910dad0d
commit c2aec3f86c

View File

@ -109,7 +109,7 @@ ${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py \
${UNINATIVE_LOADER} \
${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/${bindir_native}/patchelf-uninative \
${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux${base_libdir_native}/libc*.so*" % chksum)
subprocess.check_output(cmd, shell=True)
subprocess.check_output(cmd, shell=True, text=True, stderr=subprocess.STDOUT)
with open(loaderchksum, "w") as f:
f.write(chksum)
@ -122,7 +122,9 @@ ${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py \
bb.warn("Disabling uninative as unable to fetch uninative tarball: %s" % str(exc))
bb.warn("To build your own uninative loader, please bitbake uninative-tarball and set UNINATIVE_TARBALL appropriately.")
except subprocess.CalledProcessError as exc:
bb.warn("Disabling uninative as unable to install uninative tarball: %s" % str(exc))
bb.warn("Disabling uninative as unable to install uninative tarball:")
bb.warn(str(exc))
bb.warn(exc.stdout)
bb.warn("To build your own uninative loader, please bitbake uninative-tarball and set UNINATIVE_TARBALL appropriately.")
finally:
os.chdir(olddir)