poky/bitbake
Richard Purdie 65e67f4028 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>
2020-12-19 17:18:07 +00:00
..
bin bitbake: bitbake: Post release version bump 2020-10-30 13:26:16 +00:00
contrib bitbake: bitbake: Add parsing torture test 2020-09-10 13:49:21 +01:00
doc bitbake: docs: Makefile: enable parallel build 2020-11-24 15:26:12 +00:00
lib bitbake: data_smart: Ensure hash reflects vardepvalue flags correctly 2020-12-19 17:18:07 +00:00
.gitattributes bitbake: .gitattributes: Add to improve git diff for minified css/js files 2019-03-07 12:18:48 +00:00
AUTHORS misc: Update the email address to a working one. 2011-01-04 14:36:54 +00:00
ChangeLog *: Fix typo in documentation 2010-08-04 16:12:39 +01:00
LICENSE bitbake: bitbake: Add initial pass of SPDX license headers to source code 2019-05-04 10:44:04 +01:00
LICENSE.GPL-2.0-only bitbake: bitbake: Add initial pass of SPDX license headers to source code 2019-05-04 10:44:04 +01:00
LICENSE.MIT bitbake: bitbake: Add initial pass of SPDX license headers to source code 2019-05-04 10:44:04 +01:00
README bitbake: README: new readme file including main aspects of the project 2017-10-07 23:20:41 +01:00
toaster-requirements.txt bitbake: toaster-requirements.txt: require Django 2.2 2020-05-30 12:34:16 +01:00

Bitbake

BitBake is a generic task execution engine that allows shell and Python tasks to be run efficiently and in parallel while working within complex inter-task dependency constraints. One of BitBake's main users, OpenEmbedded, takes this core and builds embedded Linux software stacks using a task-oriented approach.

For information about Bitbake, see the OpenEmbedded website: http://www.openembedded.org/

Bitbake plain documentation can be found under the doc directory or its integrated html version at the Yocto Project website: http://yoctoproject.org/documentation

Contributing

Please refer to http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded for guidelines on how to submit patches, just note that the latter documentation is intended for OpenEmbedded (and its core) not bitbake patches (bitbake-devel@lists.openembedded.org) but in general main guidelines apply. Once the commit(s) have been created, the way to send the patch is through git-send-email. For example, to send the last commit (HEAD) on current branch, type:

git send-email -M -1 --to bitbake-devel@lists.openembedded.org

Mailing list:

http://lists.openembedded.org/mailman/listinfo/bitbake-devel

Source code:

http://git.openembedded.org/bitbake/