generic-poky/bitbake/lib
Christopher Larson 34571f4c10 bitbake: Remove whitelisted vars from non-task deps
Though the value of variables in the BB_BASEHASH_WHITELIST is kept out of the
checksums, dependency on them is not, at least for variables and non-task
functions. In the code, the whitelist is removed from the overall task dep
list, but not the individual variable deps. The result of this is that
functions like sysroot_stage_all and oe_runmake end up with whitelisted
variables like TERM listed in their dependencies, which means that doing
a 'unset TERM' before building will result in all checksums for tasks that
depend on those changing, and shared state reuse not behaving correctly.

This is only really a potential issue for variables from the environment, as
it's the existance/removal of the variable that's an issue, not its value, and
the other whitelisted variables are set in our metadata. This which means in
practical terms the only cases where this is likely to be an issue are in
environments where one of the following are unset: TERM, LOGNAME, HOME, USER,
PWD, SHELL. This may seem like an unlikely circumstance, but is in fact a real
issue for those of us using autobuilders. Jenkins does not set TERM when
executing shell, which means shared state archives produced by your jenkins
server would not be fully reused by an actual user.

Fixed by removing the whitelisted elements from the individual variable deps,
not just the accumulated result.

(Bitbake rev: dac12560ac8431ee24609f8de25cb1645572d350)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-14 11:14:06 +00:00
..
bb bitbake: Remove whitelisted vars from non-task deps 2013-02-14 11:14:06 +00:00
ply Add pysh, ply, and codegen to lib/ to prepare for future work 2010-08-03 14:06:07 +01:00
prserv bitbake: prserv/serv.py: Fix logging in daemon mode 2013-02-06 23:45:36 +00:00
codegen.py Add pysh, ply, and codegen to lib/ to prepare for future work 2010-08-03 14:06:07 +01:00
progressbar.py Experimental usage of the 'progressbar' module 2011-01-04 14:46:42 +00:00