]> code.ossystems Code Review - openembedded-core.git/commitdiff
Fix random python backtrace in mutlilib handling code.
authorJeremy Puhlman <jpuhlman@mvista.com>
Mon, 1 Aug 2016 16:02:54 +0000 (09:02 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 4 Aug 2016 14:05:47 +0000 (15:05 +0100)
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

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/multilib_global.bbclass

index 67dc72b76c7ce65e197911635aed04514afd21e2..11ae2681f004edc2c0dbcc2c48d6a1b4b05a4c28 100644 (file)
@@ -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)