When opkg-build command fails to execute, subprocess is returned with exception instead of printing to stderr. This causes the error logging not to be printed out, as the "finally" statement does not contain any bitbake error output.
One example of this behavior is when the package name contains uppercase character, which are rejected by opkg-build, subprocess.check_output would except and no error log would be produced. This commit catches the exception subprocess.CalledProcessError and produces bb.error output visible to the user. Signed-off-by: Andrey Zhizhikin <[email protected]> --- meta/classes/package_ipk.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index d1b317b42b..f181f5b4fd 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass @@ -234,6 +234,8 @@ def ipk_write_pkg(pkg, d): ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, d.getVar('PACKAGE_ARCH')) sign_ipk(d, ipk_to_sign) + except subprocess.CalledProcessError as exc: + bb.error("OPKG Build failed: %s" % exc.output) finally: cleanupcontrol(root) bb.utils.unlockfile(lf) -- 2.17.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
