]> code.ossystems Code Review - openembedded-core.git/commitdiff
image: Fix "metadata is not deterministic" when chaining 2+ CONVERSION_CMDs
authorTom Rini <trini@konsulko.com>
Tue, 25 Jul 2017 19:58:09 +0000 (15:58 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 29 Aug 2017 14:11:41 +0000 (15:11 +0100)
When we have more than one CONVERSION_CMD being used, for example
ext4.gz.sha256sum we will see errors about "metadata is not
deterministic".  This is because we do not have a stable order of
intermediate files that will be removed in the generated shell command.
We fix this by calling sorted() on the set of rm_tmp_images so that we
will have a stable hash again.

Cc: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 98a2afeb3a53bec7a72a4a9846e1dba636cc6f3d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/classes/image.bbclass

index cf38d2a11712020f00245b2226814d2208eddf46..de0ac8a3a4a1829cfb378baa2b2d01b887d48af2 100644 (file)
@@ -487,7 +487,7 @@ python () {
         # Clean up after applying all conversion commands. Some of them might
         # use the same input, therefore we cannot delete sooner without applying
         # some complex dependency analysis.
-        for image in rm_tmp_images:
+        for image in sorted(rm_tmp_images):
             cmds.append("\trm " + image)
 
         after = 'do_image'