[OE-core] [PATCH] package_ipk: handle exception for subprocess command
Andrey Zhizhikin
andrey.z at gmail.com
Sun Apr 14 14:21:00 UTC 2019
Ping.
On Thu, Mar 28, 2019 at 10:47 AM Andrey Zhizhikin <andrey.z at gmail.com> wrote:
>
> 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 <andrey.z at gmail.com>
> ---
> 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
>
More information about the Openembedded-core
mailing list