]> code.ossystems Code Review - openembedded-core.git/commitdiff
image_types.bbclass: rebuild .wks file when .wks.in changes
authorPatrick Ohly <patrick.ohly@intel.com>
Wed, 25 Jan 2017 11:07:48 +0000 (12:07 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 28 Jan 2017 10:20:57 +0000 (10:20 +0000)
WKS_FILE(S) can refer to .wks.in files which get expanded during the
build by do_write_wks_template. The actual content of the .wks.in file
gets added to the recipe meta data during parsing, and thus we need to
ensure that the recipe gets re-parsed when the file changes.

This fixes two related problems:
- editing the .wks.in file and rebuilding an image did not recreate
  the image unless something else changed or "bitbake -c clean" was
  used explicitly
- when forcing a rebuild, the cached meta data and the actual one
  do not match, leading to "ERROR: Taskhash mismatch ... for ....bb.do_write_wks_template"

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/image_types.bbclass

index 5b1746a68ced86871472221a796db4e2c32be8c4..50545d9fdf0b7711e3a9da849e0886da408e2c18 100644 (file)
@@ -265,6 +265,10 @@ python () {
             d.setVar('WKS_TEMPLATE_PATH', wks_file_u)
             d.setVar('WKS_FILE_CHECKSUM', '${WKS_TEMPLATE_PATH}:True')
 
+            # We need to re-parse each time the file changes, and bitbake
+            # needs to be told about that explicitly.
+            bb.parse.mark_dependency(d, wks_file)
+
             try:
                 with open(wks_file, 'r') as f:
                     body = f.read()