Skip to contentSkip to conversation

meta/conf/bitbake.conf: add STAMPCLEAN to BB_HASHBASE_WHITELIST

PATCH In review Robert Yang 2 participants 4 messages Mar 25, 2014

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index 097905c..fc528a4 100644
@@ -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
#2 lore raw
Quoted 11 lines · Robert Yang

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.

Quoted 4 lines

[YOCTO $6031]

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
#3 lore raw
Quoted 13 lines · Chris Larson
Quoted 11 lines · Robert Yang

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.

Quoted 9 lines
Quoted 4 lines

[YOCTO $6031]

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.

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