[oe-commits] [bitbake] branch 1.40 updated: runqueue: fix multiconfig task dependency filtering

git at git.openembedded.org git at git.openembedded.org
Fri Dec 13 16:14:08 UTC 2019


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

rpurdie pushed a commit to branch 1.40
in repository bitbake.

The following commit(s) were added to refs/heads/1.40 by this push:
     new b690030  runqueue: fix multiconfig task dependency filtering
b690030 is described below

commit b690030efc87850951e8e3ecf4ae3c1dd1dc9b63
Author: Kyle Russell <bkylerussell at gmail.com>
AuthorDate: Fri Dec 6 17:10:00 2019 -0500

    runqueue: fix multiconfig task dependency filtering
    
    multiconfig dependencies should be excluded from BB_TASKDEPDATA.
    However in thud, multiconfig filtering on task dependencies doesn't
    happen until after deps has already been added to taskdepdata.
    
    One manifestation of this results in multiconfig dependencies leaking
    into staging processing.
    
    File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
         0001:
     *** 0002:extend_recipe_sysroot(d)
         0003:
    File: '/home/user/thud/meta/classes/staging.bbclass', lineno: 344, function: extend_recipe_sysroot
         0340:    #bb.note(" start is %s" % str(start))
         0341:
         0342:    # Direct dependencies should be present and can be depended upon
         0343:    for dep in set(start):
     *** 0344:        if setscenedeps[dep][1] == "do_populate_sysroot":
         0345:            if dep not in configuredeps:
         0346:                configuredeps.append(dep)
         0347:    bb.note("Direct dependencies are %s" % str(configuredeps))
         0348:    #bb.note(" or %s" % str(start))
    Exception: KeyError: 'multiconfig:musl:/home/user/thud/meta/recipes-kernel/linux/linux-yocto_4.18.bb:do_deploy'
    
    This can be reproduced on thud by backporting the multiconfig.MultiConfig.test_multiconfig
    test and mcextend bbclass from warrior.
    
    d22b6e03a5504145abed7c2ca44cf12854df85da mcextend: Add helper class useful for multiconfig
    d9018a3d9c828551c465b68b27920ec4681524ae selftest: Add multiconfig test
    
    Flipping the ordering to match warrior's behavior fixes the test case.
    
    Signed-off-by: Kyle Russell <bkylerussell at gmail.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/runqueue.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 383c183..0f2fdce 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -2109,8 +2109,8 @@ class RunQueueExecuteTasks(RunQueueExecute):
                 deps = self.rqdata.runtaskentries[revdep].depends
                 provides = self.rqdata.dataCaches[mc].fn_provides[taskfn]
                 taskhash = self.rqdata.runtaskentries[revdep].hash
-                taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash]
                 deps = self.filtermcdeps(task, deps)
+                taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash]
                 for revdep2 in deps:
                     if revdep2 not in taskdepdata:
                         additional.append(revdep2)

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


More information about the Openembedded-commits mailing list