[bitbake-devel] [PATCH] runqueue: Fix setscene tasks not running
Robert Yang
liezhi.yang at windriver.com
Wed Aug 27 15:38:53 UTC 2014
Thank you very much, I tested it again, it worked well.
// Robert
On 08/27/2014 08:07 PM, Richard Purdie wrote:
> Currently, if you have hard dependencies between setscene tasks (like avahi on
> base-passwd through useradd.bbclass), other dependencies may not be installed
> even if these exist in sstate. For example, avahi -> expat -> pigz-native
> (and avahi -> base-passwd) yet if you cleansstate base-passwd:
>
> bitbake gzip-native:do_clean avahi:do_clean expat:do_clean pigz-native:do_clean base-passwd:do_cleansstate
> bitbake avahi | tee
>
> you will currently see pigz-native being rebuilt even though it was in
> sstate. The fix for this is to continue to iterate dependency chains
> around hard blocked dependencies as per this patch.
>
> After this patch is applied, you will see pigz-native installed from sstate.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>
> diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
> index e13dc57..e32f81a 100644
> --- a/bitbake/lib/bb/runqueue.py
> +++ b/bitbake/lib/bb/runqueue.py
> @@ -1844,6 +1844,10 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
> realtask = self.rqdata.runq_setscene[task]
> realdep = self.rqdata.runq_setscene[dep]
> logger.debug(2, "%s was unavailable and is a hard dependency of %s so skipping" % (self.rqdata.get_user_idstring(realtask), self.rqdata.get_user_idstring(realdep)))
> + self.scenequeue_updatecounters(dep, fail)
> + continue
> + if task not in self.sq_revdeps2[dep]:
> + # May already have been removed by the fail case above
> continue
> self.sq_revdeps2[dep].remove(task)
> if len(self.sq_revdeps2[dep]) == 0:
>
>
More information about the bitbake-devel
mailing list