]> code.ossystems Code Review - openembedded-core.git/commitdiff
utils: Factor out common multilib datastore creation function
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 20 Jan 2017 13:50:47 +0000 (13:50 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 20 Jan 2017 14:26:41 +0000 (14:26 +0000)
This code is already used in two places and we need it in others so
turn it into its own function.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/utils.bbclass

index d834a8a277d92499f6446d1879d27c96c6ef4a52..549e4b82f5eea40fae28bc80f2e98214c429e56f 100644 (file)
@@ -349,6 +349,14 @@ def multilib_pkg_extend(d, pkg):
         pkgs = pkgs + " " + v + "-" + pkg
     return pkgs
 
+def get_multilib_datastore(variant, d):
+    localdata = bb.data.createCopy(d)
+    overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + variant
+    localdata.setVar("OVERRIDES", overrides)
+    localdata.setVar("MLPREFIX", variant + "-")
+    bb.data.update_data(localdata)
+    return localdata
+
 def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = ' '):
     """Return a string of all ${var} in all multilib tune configuration"""
     values = []
@@ -361,11 +369,7 @@ def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = '
             values.append(value)
     variants = d.getVar("MULTILIB_VARIANTS") or ""
     for item in variants.split():
-        localdata = bb.data.createCopy(d)
-        overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
-        localdata.setVar("OVERRIDES", overrides)
-        localdata.setVar("MLPREFIX", item + "-")
-        bb.data.update_data(localdata)
+        localdata = get_multilib_datastore(item, d)
         value = localdata.getVar(var) or ""
         if value != "":
             if need_split:
@@ -411,11 +415,7 @@ def all_multilib_tune_list(vars, d):
         values[v].append(localdata.getVar(v))
     variants = d.getVar("MULTILIB_VARIANTS") or ""
     for item in variants.split():
-        localdata = bb.data.createCopy(d)
-        overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
-        localdata.setVar("OVERRIDES", overrides)
-        localdata.setVar("MLPREFIX", item + "-")
-        bb.data.update_data(localdata)
+        localdata = get_multilib_datastore(item, d)
         values[v].append(localdata.getVar(v))
         values['ml'].append(item)
     return values