diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-12-16 23:38:17 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-26 15:45:14 +0000 |
commit | 8fbb62264f6213a6676858d0cfb5a94de69f83c1 (patch) | |
tree | f8adb545a5a68a6038b375702a89fdd2ade535ab /meta/classes/package_pkgdata.bbclass | |
parent | bb7747497adbc7c99f6fc9b48b643eecb4cb1408 (diff) | |
download | poky-8fbb62264f6213a6676858d0cfb5a94de69f83c1.tar.gz |
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: 418c00c570a60845556204b4f52de047b284dd8e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package_pkgdata.bbclass')
0 files changed, 0 insertions, 0 deletions