Searched hist:"24 d05d0b" (Results 1 – 1 of 1) sorted by relevance
/openbmc/openbmc/meta-phosphor/recipes-core/os-release/ |
H A D | os-release.bbappend | 24d05d0b Wed Jun 30 16:15:45 CDT 2021 Patrick Williams <patrick@stwcx.xyz> meta-phosphor: os-release: fix task caching with DISTRO_VERSION It was reported that the following sequence would not cause `os-release` to rebuild: ``` bitbake os-release git commit --amend bitbake os-release ``` This is due to how bitbake task hashing is implemented with respect to weak variables. In 439c59b, DISTRO_VERSION was changed to a weak variable, but it is included in the 'vardeps' chain for 'do_compile'. When bitbake computes the hash for a task, typically the contents of the variables are used for the hashing, but for weak variables only the definition is used. (Confirmed by adding bb.note debugs to `poky/bitbake/lib/bb/data.py`) The new, weak DISTRO_VERSION is intended to be populated with contents from a `git describe` operation. Those contents must be used in the hashing of the 'do_compile' task and not the definition. This can be accomplished by creating an indirection using a strong variable. The dependency chain and hash evaluation will be as follows: ``` do_compile -> DISTRO_VERSION -> PHOSPHOR_OS_RELEASE_DISTRO_VERSION hash(do_compile) = ... + DISTRO_VERSION:${PHOSPHOR_OS_RELEASE_DISTRO_VERSION} + PHOSPHOR_...DISTRO_VERSION=2.11.0-dev-... ``` Prior to this fix the hash evaluation was: ``` hash(do_compile) = ... + DISTRO_VERSION:${@run_git...} ``` Fixes 439c59b425cf403355571875b3fa714782dcf15b. Tested: Ensure the above reported sequence causes a rebuild of os-release with expected data. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0bd93d3d88bf62dfe03549419fe98ab85f10a68c
|