[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