bitbake: runqueue: Fix setscene hard dependency problems
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 10 Feb 2014 22:50:28 +0000 (22:50 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 11 Feb 2014 11:53:45 +0000 (11:53 +0000)
commitae521400cbf7161a28607ec402c742b406a928d0
tree5b5013423fad198cc63824361deceb51faead920
parentb5396afc16a1016c6f98bd4a95fb46e5fd91c235
bitbake: runqueue: Fix setscene hard dependency problems

Commit c54e738e2b5dc0d8e6fd8e93b284ed96e7a83051 added in the idea of hard dependencies
such as the case a setscene has a hard dependency on pseudo-native and that
dependency wasn't available from sstate for some reason.

Unfortunately the implementation was a bit too enthusiastic, causing rebuilds
of things when it wasn't necessary. A test case was:

bitbake quilt-native
bitbake quilt-native -c clean
bitbake <some-image>

and then you'd watch quilt-native get rebuilt for no good reason.

The clue to the problem is in the for loop where it never depends on
the item being iterated over.

The fix is to include the exact list of hard dependencies rather than
guessing. With these changes, the use case above works, the one in
the original commit also works.

This patch also adds in or cleans up various pieces of logging to
allow issues like this to be more easily debugged in future.

(Bitbake rev: 81bd475585ff1b44b390036b1eca0feae7c149eb)

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