mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
bitbake: data_smart: Ensure hash reflects vardepvalue flags correctly
The get_hash() function is used to decide if the base configuration has changed and hence whether a reparse is required. The vardepvalue flag's value was not expanded but it is often used in contexts like: METADATA_REVISION = "${@base_detect_revision(d)}" METADATA_REVISION[vardepvalue] = "${METADATA_REVISION}" which in it's unexpanded form means reparsing doesn't happen when it should as the data appears unchanged. Update get_hash to expand the values of vardepvalue so reparsing works as expected. This avoids basehash mismatch errors such as the one recently caused by using METADATA_REVISION in poky.conf's DISTRO_VERSION variable. The issue there could be exposed by a recipe using DISTRO_VERSION with the sequence: bitbake os-release <change the revision of the metadata with a dummy commit> bitbake os-release -C install which was caused because METADATA_REVISION changed but the metadata didn't reparse. (Bitbake rev: 26ccf1575aef2d6e2d7717d3bd10b1ed0d5a777d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
f1a2ee5a18
commit
65e67f4028
|
@ -1005,7 +1005,7 @@ class DataSmart(MutableMapping):
|
|||
else:
|
||||
data.update({key:value})
|
||||
|
||||
varflags = d.getVarFlags(key, internalflags = True)
|
||||
varflags = d.getVarFlags(key, internalflags = True, expand=["vardepvalue"])
|
||||
if not varflags:
|
||||
continue
|
||||
for f in varflags:
|
||||
|
|
Loading…
Reference in New Issue
Block a user