[1/1] bitbake.conf: Add DATE and TIME to BB_HASH_WHITELIST

Submitted by Dongxiao Xu on Feb. 27, 2012, 7:58 a.m.

Details

Message ID 62993ba45601c619fad5813647787b7fdbc17f7d.1330329283.git.dongxiao.xu@intel.com
State New
Headers show

Commit Message

Dongxiao Xu Feb. 27, 2012, 7:58 a.m.
DATE and TIME are not needed when calculating cache's hash value.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 meta/conf/bitbake.conf |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 7d0e0d8..d817bcc 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -736,7 +736,7 @@  BB_CONSOLELOG ?= "${TMPDIR}/cooker.log.${DATETIME}"
 
 # Setup our default hash policy
 BB_SIGNATURE_HANDLER ?= "OEBasic"
-BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_PORT PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN"
+BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_PORT PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN DATE TIME"
 
 MLPREFIX ??= ""
 MULTILIB_VARIANTS ??= ""

Comments

Richard Purdie Feb. 27, 2012, 10:41 a.m.
On Mon, 2012-02-27 at 15:58 +0800, Dongxiao Xu wrote:
> DATE and TIME are not needed when calculating cache's hash value.
> 
> Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
> ---
>  meta/conf/bitbake.conf |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 7d0e0d8..d817bcc 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -736,7 +736,7 @@ BB_CONSOLELOG ?= "${TMPDIR}/cooker.log.${DATETIME}"
>  
>  # Setup our default hash policy
>  BB_SIGNATURE_HANDLER ?= "OEBasic"
> -BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_PORT PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN"
> +BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_PORT PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN DATE TIME"
>  
>  MLPREFIX ??= ""
>  MULTILIB_VARIANTS ??= ""

I think this patch highlights a major difference between your hashing
policy for bitbake's base configuration cache and the hash policy needed
for the signatures and other sstate related pieces.

With siggen, we know we have a target variable (usually a task like
do_compile) and we figure out all its dependencies which we create a
hash of. Its perfectly valid to have that hash depend on DATE or TIME,
if it uses them and we don't want to exclude them.

For the base configuration cache, we don't want to depend on DATE or
TIME. We also don't have one target variable to figure out the
dependencies for, we need to hash every variable with some exclusion
list.

My point is therefore that the above list is very different to the one
bitbake needs for its cache's hash. With that in mind, we probably need
to add a new variable which does something like:

BB_HASHCONFIG_WHITELIST ?= "DATE TIME ${BB_HASHBASE_WHITELIST}"

?

Cheers,

Richard
Dongxiao Xu Feb. 27, 2012, 2:01 p.m.
On Mon, 2012-02-27 at 10:41 +0000, Richard Purdie wrote:
> On Mon, 2012-02-27 at 15:58 +0800, Dongxiao Xu wrote:
> > DATE and TIME are not needed when calculating cache's hash value.
> > 
> > Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
> > ---
> >  meta/conf/bitbake.conf |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > index 7d0e0d8..d817bcc 100644
> > --- a/meta/conf/bitbake.conf
> > +++ b/meta/conf/bitbake.conf
> > @@ -736,7 +736,7 @@ BB_CONSOLELOG ?= "${TMPDIR}/cooker.log.${DATETIME}"
> >  
> >  # Setup our default hash policy
> >  BB_SIGNATURE_HANDLER ?= "OEBasic"
> > -BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_PORT PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN"
> > +BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_PORT PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN DATE TIME"
> >  
> >  MLPREFIX ??= ""
> >  MULTILIB_VARIANTS ??= ""
> 
> I think this patch highlights a major difference between your hashing
> policy for bitbake's base configuration cache and the hash policy needed
> for the signatures and other sstate related pieces.
> 
> With siggen, we know we have a target variable (usually a task like
> do_compile) and we figure out all its dependencies which we create a
> hash of. Its perfectly valid to have that hash depend on DATE or TIME,
> if it uses them and we don't want to exclude them.
> 
> For the base configuration cache, we don't want to depend on DATE or
> TIME. We also don't have one target variable to figure out the
> dependencies for, we need to hash every variable with some exclusion
> list.
> 
> My point is therefore that the above list is very different to the one
> bitbake needs for its cache's hash. With that in mind, we probably need
> to add a new variable which does something like:
> 
> BB_HASHCONFIG_WHITELIST ?= "DATE TIME ${BB_HASHBASE_WHITELIST}"

Yes, this change does make sense.

I will send a new pull request for it.

Thanks,
Dongxiao

> 
> ?
> 
> Cheers,
> 
> Richard
> 
> 
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core