]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oe/recipeutils: patch_recipe(): fix replacing varflag values
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Wed, 28 Nov 2018 04:16:15 +0000 (17:16 +1300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 3 Dec 2018 12:19:42 +0000 (12:19 +0000)
The code here wasn't correctly getting the variable history for
varflags, so for example if you did a devtool upgrade on a recipe where
the SRC_URI checksums were in the .inc file (typical for python recipes
in order to support both python 2 and 3) then after the upgrade the
new values would be set in the recipe and the old values were left in
the .inc, which is not right. Teach the code here how to get the history
for varflags so it works properly.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/recipeutils.py

index 9de291f5b59b94297df69f12de1fcf7a193b90a6..886ad26f1781b09c42b49875c650c69533c0e482 100644 (file)
@@ -81,11 +81,19 @@ def get_var_files(fn, varlist, d):
     """
     varfiles = {}
     for v in varlist:
-        history = d.varhistory.variable(v)
         files = []
-        for event in history:
-            if 'file' in event and not 'flag' in event:
-                files.append(event['file'])
+        if '[' in v:
+            varsplit = v.split('[')
+            varflag = varsplit[1].split(']')[0]
+            history = d.varhistory.variable(varsplit[0])
+            for event in history:
+                if 'file' in event and event.get('flag', '') == varflag:
+                    files.append(event['file'])
+        else:
+            history = d.varhistory.variable(v)
+            for event in history:
+                if 'file' in event and not 'flag' in event:
+                    files.append(event['file'])
         if files:
             actualfile = files[-1]
         else: