meta/conf/bitbake.conf: add STAMPCLEAN to BB_HASHBASE_WHITELIST
cover meta/conf/bitbake.conf: add STAMPCLEAN to BB_HASHBASE_WHITELIST
The following changes since commit 09419cfb94b420628841bea8545e6a444856c3d5:
local.conf.sample.extended: update it for the archiver (2014-03-25 09:47:08 +0800)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/stamps_clean
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/stamps_clean
Robert Yang (1):
meta/conf/bitbake.conf: add STAMPCLEAN to BB_HASHBASE_WHITELIST
meta/conf/bitbake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Signature · 1 line
1.8.3.1
PATCH 1/1 meta/conf/bitbake.conf: add STAMPCLEAN to BB_HASHBASE_WHITELIST
The problem is that do_configure.sigdata depends on STAMPS_DIR because:
do_configure -> STAMPCLEAN -> STAMPS_DIR
this will make the sigdata generated by "STAMPS_DIR=/tmp/stps bitbake -S recipe" doesn't match the ones in our build dir, but it should. We can add STAMPS_DIR or STAMPCLEAN to BB_HASHBASE_WHITELIST to fix the problem, but we can't add STAMPS_DIR since once it is in BB_HASHBASE_WHITELIST, the "STAMPS_DIR=/tmp/stps bitbake -S recipe" would not run again.
[YOCTO $6031]
--- meta/conf/bitbake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/conf/bitbake.conf +1 -1
@@ -768,7 +768,7 @@ BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \ USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \ PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \ CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX \ - WARN_QA ERROR_QA WORKDIR" + WARN_QA ERROR_QA WORKDIR STAMPCLEAN" BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \ SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS \ PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED"
Signature · 1 line
1.8.3.1
Quoted 11 lines · Robert Yang
The problem is that do_configure.sigdata depends on
STAMPS_DIRbecause:
do_configure-> STAMPCLEAN ->STAMPS_DIRthis will make the sigdata generated by "STAMPS_DIR=/tmp/stps bitbake -S recipe" doesn't match the ones in our build dir, but it should. We can add
STAMPS_DIRor STAMPCLEAN toBB_HASHBASE_WHITELISTto fix the problem, but we can't addSTAMPS_DIRsince once it is inBB_HASHBASE_WHITELIST, the "STAMPS_DIR=/tmp/stps bitbake -S recipe" would not run again.
Quoted 4 lines
[YOCTO $6031]
Signed-off-by Robert Yang <[email protected]>
Oh good, I was hoping someone would dig into this, hadn't had the time, but kept noticing STAMPS_DIR was leaking in, in the bitbake-whatchanged output :) Nice work.
Signature · 5 lines
Christopher Larson clarson at kergoth dot com Founder - BitBake, OpenEmbedded, OpenZaurus Maintainer - Tslib Senior Software Engineer, Mentor Graphics
Quoted 13 lines · Chris Larson
Quoted 11 lines · Robert Yang
The problem is that do_configure.sigdata depends on
STAMPS_DIRbecause:
do_configure-> STAMPCLEAN ->STAMPS_DIRthis will make the sigdata generated by "STAMPS_DIR=/tmp/stps bitbake -S recipe" doesn't match the ones in our build dir, but it should. We can add
STAMPS_DIRor STAMPCLEAN toBB_HASHBASE_WHITELISTto fix the problem, but we can't addSTAMPS_DIRsince once it is inBB_HASHBASE_WHITELIST, the "STAMPS_DIR=/tmp/stps bitbake -S recipe" would not run again.
Quoted 9 lines
Quoted 4 lines
[YOCTO $6031]
Signed-off-by Robert Yang <[email protected]>Oh good, I was hoping someone would dig into this, hadn't had the time, but kept noticing
STAMPS_DIRwas leaking in, in the bitbake-whatchanged output :) Nice work.
Thanks, the bitbake-whatchanged will work with another base-files fix now. The left problem is that:
$ bitbake-whatchanged core-image-sato-sdk === Newly added tasks: (3 tasks) core-image-sato-sdk: do_compile do_configure do_install
Nothing should be run in fact, the root cause is that "bitbake -S recipe" generates the sigdata file for all the tasks including noexec one, but "bitbake recipe" doesn't generate stamps for do_populate_sysroot's dependencies tasks when:
do_populate_sysroot[noexec] = "1"
We also have these set for a image recipe:
[snip]
do_install[noexec] = "1"
do_compile[noexec] = "1"
do_configure[noexec] = "1"
[snip]
If we remove 'do_populate_sysroot[noexec] = "1"' and keep the others, then "bitbake recipe" will generate stamps for all the tasks including do_install, do_compile and do_configure though they have noexec set.
I've tried to dig lib/bb/build.py, lib/bb/siggen.py and lib/bb/runqueue.py, but didn't figure it out.
For bitbake-whatchanged, maybe we can enhance the "bitbake -S" in YP 1.7 to do the similar thing since the later one can handle the sstate tasks (and covered task) better.
// Robert