From: Alex Bennée <alex.bennee@linaro.org>
Date: Fri, 8 Jun 2018 14:20:25 +0000 (+0100)
Subject: docker: docker.py don't conflate checksums for extra_files
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f9172822e7a07db346e21d461e2a61ffcee7c77e;p=qemu.git

docker: docker.py don't conflate checksums for extra_files

This just gets confusing especially as the helper function doesn't
even take into account any extra files (or the executable). Currently
the actual check just ignores them and also passes the result through
_dockerfile_preprocess so we fix that too.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---

diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index e6437d64a7..6a9f2f224b 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -206,8 +206,10 @@ class Docker(object):
 
         tmp_df.write("\n")
         tmp_df.write("LABEL com.qemu.dockerfile-checksum=%s" %
-                     _text_checksum("\n".join([dockerfile] +
-                                    extra_files_cksum)))
+                     _text_checksum(_dockerfile_preprocess(dockerfile)))
+        for f, c in extra_files_cksum:
+            tmp_df.write("LABEL com.qemu.%s-checksum=%s" % (f, c))
+
         tmp_df.flush()
 
         self._do_check(["build", "-t", tag, "-f", tmp_df.name] + argv + \
@@ -322,7 +324,7 @@ class BuildCommand(SubCommand):
                 _copy_binary_with_libs(args.include_executable, docker_dir)
             for filename in args.extra_files or []:
                 _copy_with_mkdir(filename, docker_dir)
-                cksum += [_file_checksum(filename)]
+                cksum += [(filename, _file_checksum(filename))]
 
             argv += ["--build-arg=" + k.lower() + "=" + v
                         for k, v in os.environ.iteritems()