[OE-core] How to add build date? (was: ... basehash value changed...)

Joseph Reynolds jrey at linux.ibm.com
Sat Nov 16 21:56:36 UTC 2019


Is there a best practice for folks who want to put the build date into 
their generated os-release file?  I've seen this question come up at 
least 3 times in my brief involvement with OE.  I could perhaps add 
comment to the OpenBMC os-release.bbappend file to provide the proper 
guidance.  I would like to hear your ideas.

- Joseph


-------- Forwarded Message --------
Subject: 	Re: how to solve the error that basehash value changed from 
'xxx' to 'aaaa' ?
Date: 	Sat, 16 Nov 2019 15:50:38 -0600
From: 	Joseph Reynolds <jrey at linux.ibm.com>
To: 	www <ouyangxuan10 at 163.com>, openbmc at lists.ozlabs.org 
<openbmc at lists.ozlabs.org>



Byron,

What modification did you put into the os-release recipe?  It would help 
us help you if you put that in your email.


Are you adding the build date to the generated os-release file? If so, 
be aware that might cause the issues with the shared state cache you are 
experiencing.  Also be aware this practice wrecks reproducible builds.

A better way to get the same effect might be to create a git tag with 
the information you want to appear in the generated os-release file.  
When you buld with this tag is then picked up by the OpenBMC 
meta-phosphor os-release.bbappend (via `git describe`) and included in 
the genersted os-release file as the BUILD_ID. See:
https://github.com/ibm-openbmc/openbmc/blob/d1c59b7a36c10c18838c07af10b18080174cd61d/meta-phosphor/recipes-core/os-release/os-release.bbappend
(But I have not tried that.)

A way to work around the hash change is to add a line to your recipe 
like: PR[vardepsxeclude]="DATETIME"
As suggested by: 
https://forums.openpli.org/topic/41447-how-to-get-rid-of-taskhash-mismatch/


My apologies for top posting -- my email reader was not quoting the 
message properly, so I cut/pasted it below.

- Joseph


On 11/13/19 1:38 AM, www wrote:

When I modify the os-release file in my yocto project, it appear some 
error, and how can I solve it ? Who can give me some help or advice? 
Thank you!
I execute the recommended command on the console and it didn't work.

ERROR: os-release-1.0-r0 do_compile: Taskhash mismatch 
ce133f0458608e03aa55224df28156e523e54903115efbbcd62946f84a867201 versus 
7269881f0eb1759ed420a2db4c04fb477cd8c1288bc5f82df5c8161bb926ea1f 
for  /home/temp/xxx/wsp/obmc-source/entity_xxx/meta/recipes-core/os-release/os-release.bb.do_compile
ERROR: Taskhash mismatch 
ce133f0458608e03aa55224df28156e523e54903115efbbcd62946f84a867201 versus 
7269881f0eb1759ed420a2db4c04fb477cd8c1288bc5f82df5c8161bb926ea1f 
for /home/temp/xxx/wsp/obmc-source/entity_xxx/meta/recipes-core/os-release/os-release.bb.do_compile
ERROR: When reparsing 
/home/temp/xxx/wsp/obmc-source/entity_xxx/meta/recipes-core/os-release/os-release.bb.do_compile, the 
basehash value changed from 
99a42a1a3b1a151de604267b159558ecaf1031a3bec8917df132c81302e729a5 to 
4f3288a8763e2e1af78e4b3cdd9c0c0ccb3b0d5c78a3073c188b22200df2a9b0. The 
metadata is not deterministic and this needs to be fixed.
ERROR: The following commands may help:
ERROR: $ bitbake os-release -cdo_compile -Snone
ERROR: Then:
ERROR: $ bitbake os-release -cdo_compile -Sprintdiff

ERROR: When 
reparsing /home/temp/xxx/wsp/obmc-source/entity_xxx/meta/recipes-core/os-release/os-release.bb.do_compile, the 
basehash value changed from 
99a42a1a3b1a151de604267b159558ecaf1031a3bec8917df132c81302e729a5 to 
47c30012daa6aa77be09a93fe21e66995361ef26b4487111005617db8cb4de59. The 
metadata is not deterministic and this needs to be fixed.
ERROR: The following commands may help:
ERROR: $ bitbake os-release -cdo_compile -Snone
ERROR: Then:
ERROR: $ bitbake os-release -cdo_compile -Sprintdiff

thanks,
Byron



More information about the Openembedded-core mailing list