runqueue.py: When checking whether stamps are valid for setscene, recurse
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 16 Mar 2012 10:46:05 +0000 (10:46 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 16 Mar 2012 10:51:17 +0000 (10:51 +0000)
commit8b5c2fb233b7ef0d691045b1c4eb3e556034e2b3
tree09d36b1da922414ab106495c8210f080ee196d85
parent245f27d6cd8aea16b16830c8180afdf50dcb3f9f
runqueue.py: When checking whether stamps are valid for setscene, recurse

Currently the code checking whether stamps are valid only traverses one step
of the dependency graph. This works fine in the normal cases where we've already
validated dependencies but for the setscene code, it doesn't work well. A typical
problem usecase is something like:

bitbake gcc-cross -c unpack -f
bitbake gcc-cross

which will ignore any sstate files already cached which could be used to speed
up the gcc-cross build. This becomes particularly problematic with multiple gcc
builds where only one should rebuild yet they all do.

This patch teaches the stamp code to be able to recurse within a given fn
which gives the behaviour people would expect from the code and allows
bitbake to make better use of prebuild sstate objects.

(Bitbake rev: e68814cb2e8da523d4ddf05e8ceddfaa19244851)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/runqueue.py