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
[email protected]

--
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to