[bitbake-devel] [PATCH] cooker.py: Remove explicit build targets from the ignored list
Richard Purdie
richard.purdie at linuxfoundation.org
Fri May 31 07:29:43 UTC 2013
On Tue, 2013-05-28 at 22:54 -0500, Mark Hatle wrote:
> From: Peter Seebach <peter.seebach at windriver.com>
>
> If something is in ASSUMED_PROVIDED, and a user tries to build it
> explicitly, Nothing Happens. Bitbake just says it ran 0 out of 0
> tasks. No diagnostics or explanations are offered.
>
> In practice, the right thing is probably to assume that explicit
> targets are intentional. So far as I can tell, cooker.buildTargets
> is called only from the command line or from command.py, and both
> cases seem to be explicit user actions.
>
> Signed-off-by: Peter Seebach <peter.seebach at windriver.com>
> Signed-off-by: Jeff Polk <jeff.polk at windriver.com>
>
> Rename 'status' to 'recipecache' to match recent changes.
>
> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
> ---
> lib/bb/cooker.py | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
> index 2ae3e9d..8f0e90c 100644
> --- a/lib/bb/cooker.py
> +++ b/lib/bb/cooker.py
> @@ -1067,6 +1067,11 @@ class BBCooker:
> universe = ('universe' in targets)
> targets = self.checkPackages(targets)
>
> + # Explicitly disignore things that have been requested.
> + for target in targets:
> + if target in self.recipecache.ignored_dependencies:
> + self.recipecache.ignored_dependencies.remove(target)
> +
> def buildTargetsIdle(server, rq, abort):
> if abort or self.state == state.stop:
> rq.finish_runqueue(True)
I'm not sure this is the right thing to do, the reason being
determinism. I don't expect different results for X in the different
cases:
bitbake X Y
bitbake X
(assuming Y is ASSUME_PROVIDED)
For example, X will rebuild between these two commands since the sstate
and task checksums will be different between the two. This really needs
more thought to make a consistent user experience...
Cheers,
Richard
More information about the bitbake-devel
mailing list