[OE-core] How to add build date?

Joseph Reynolds jrey at linux.ibm.com
Wed Nov 20 16:28:28 UTC 2019


On 11/17/19 3:19 PM, Alexander Kanavin wrote:
> I'd write the date into the file at image creation, via 
> ROOTFS_POSTPROCESS_COMMAND.
>
> Having it in a recipe means that you either force the recipe to not be 
> a part of sstate cache, always rebuilding it and its dependencies (bad 
> idea), or accept that the date comes from a previously built cache 
> object, which means it will mismatch the actual image creation date.

Got it, thanks. I was unaware of ROOTFS_POSTPROCESS_COMMAND.


>
> A bit of context would help: why would you want that info in 
> os-release? Who would use that information and how?

I don't fully understand the use case for adding a build date to the image.  I don't have a use for it, but this question keeps coming up in the OpenBMC community, so I want to address it.  I am imagining a naive continuous delivery process where the build date is used as a substitute for a software version.  That is easier than keeping track of software versions, but (as I mentioned before) does not meet my needs.

I've re-asked the question to the original poster in the OpenBMC email list:
https://lists.ozlabs.org/pipermail/openbmc/2019-November/019493.html

The response so far is: I just want to show the compile time of firmware to the user. If  only show the version, it can't correspond to the time. When both are displayed at the same time, the information will be clearer.

I'll continue the conversation in that email thread.  Thanks for your help!

  - Joseph


>
> Alex
>
> On Sat, 16 Nov 2019 at 23:14, Joseph Reynolds <jrey at linux.ibm.com 
> <mailto:jrey at linux.ibm.com>> wrote:
>
>
>     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
>     <mailto:jrey at linux.ibm.com>>
>     To:     www <ouyangxuan10 at 163.com <mailto:ouyangxuan10 at 163.com>>,
>     openbmc at lists.ozlabs.org <mailto:openbmc at lists.ozlabs.org>
>     <openbmc at lists.ozlabs.org <mailto: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
>
>     -- 
>     _______________________________________________
>     Openembedded-core mailing list
>     Openembedded-core at lists.openembedded.org
>     <mailto:Openembedded-core at lists.openembedded.org>
>     http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



More information about the Openembedded-core mailing list