[oe] [PATCH] Fix random python backtrace in mutlilib handling code.

Jeremy Puhlman jpuhlman at mvista.com
Mon Aug 1 04:43:54 UTC 2016


Not sure if this is the right way to address it(perhaps just continuing 
in the else), but
this resolves random backtraces I was having building multilib images on 
master.

On 7/31/2016 9:41 PM, Jeremy Puhlman wrote:
> newval is not defined in all cases. Set to None and check if it is set.
>
>    File
> "/local/foo/builds/x86/layers/openembedded-core/meta/classes/multilib_global.bbclass",
> line 90, in preferred_ml_updates(d=<bb.data_smart.DataSmart object at
> 0xf6fd528c>):
>                   if not d.getVar(newname, False):
>      >                d.setVar(newname, localdata.expand(newval))
>               # Avoid future variable key expansion
> UnboundLocalError: local variable 'newval' referenced before assignment
> ---
>   meta/classes/multilib_global.bbclass | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass
> index 67dc72b..11ae268 100644
> --- a/meta/classes/multilib_global.bbclass
> +++ b/meta/classes/multilib_global.bbclass
> @@ -72,6 +72,7 @@ def preferred_ml_updates(d):
>               pkg = pkg.replace("virtual/", "")
>               virt = "virtual/"
>           for p in prefixes:
> +            newval = None
>               if pkg != "kernel":
>                   newval = p + "-" + val
>   
> @@ -86,7 +87,7 @@ def preferred_ml_updates(d):
>   
>               # implement alternative multilib name
>               newname = localdata.expand("PREFERRED_PROVIDER_" + virt + p + "-" + pkg)
> -            if not d.getVar(newname, False):
> +            if not d.getVar(newname, False) and newval != None:
>                   d.setVar(newname, localdata.expand(newval))
>           # Avoid future variable key expansion
>           provexp = d.expand(prov)

-- 
Jeremy A. Puhlman
jpuhlman at mvista.com




More information about the Openembedded-devel mailing list