[oe-commits] [bitbake] 01/05: lib/bb/data: fix dependency handling for contains and multiple values

git at git.openembedded.org git at git.openembedded.org
Wed Apr 5 08:47:05 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository bitbake.

commit 272f1245acdd4fb85cb78612aa03627a9c246d8f
Author: Paul Eggleton <paul.eggleton at linux.intel.com>
AuthorDate: Mon Apr 3 11:19:03 2017 +1200

    lib/bb/data: fix dependency handling for contains and multiple values
    
    The code that determines variable dependencies uses the codeparser to
    find references to "contains" type operations e.g. bb.utils.contains().
    That function can take multiple items to check, and all specified items
    have to be present. However this code didn't handle that - it assumed
    that only one item would be specified and thus it was treating the
    multiple items as a single item with spaces in between. Split the value
    and check if all words are present in order to determine whether the
    check is "set" or "unset".
    
    Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/data.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/bb/data.py b/lib/bb/data.py
index a85cb3a..0403754 100644
--- a/lib/bb/data.py
+++ b/lib/bb/data.py
@@ -296,11 +296,13 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
             newvalue = ""
             for k in sorted(contains):
                 l = (d.getVar(k) or "").split()
-                for word in sorted(contains[k]):
-                    if word in l:
-                        newvalue += "\n%s{%s} = Set" %  (k, word)
+                for item in sorted(contains[k]):
+                    for word in item.split():
+                        if not word in l:
+                            newvalue += "\n%s{%s} = Unset" % (k, item)
+                            break
                     else:
-                        newvalue += "\n%s{%s} = Unset" %  (k, word)
+                        newvalue += "\n%s{%s} = Set" % (k, item)
             if not newvalue:
                 return value
             if not value:

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list