From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: qemu-devel@nongnu.org, Fam Zheng <famz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 03/24] docker: rebuild image if 'extra files' checksum does not match
Date: Mon, 22 May 2017 08:55:09 +0100 [thread overview]
Message-ID: <87mva5497m.fsf@linaro.org> (raw)
In-Reply-To: <20170521032956.27446-4-f4bug@amsat.org>
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> tests/docker/docker.py | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
Hmm odd what bracnh did you cut this from. git apply-mbox keeps falling
over:
Applying: docker: rebuild image if 'extra files' checksum does not match
error: sha1 information is lacking or useless (tests/docker/docker.py).
error: could not build fake ancestor
Patch failed at 0001 docker: rebuild image if 'extra files' checksum does not match
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
>
> diff --git a/tests/docker/docker.py b/tests/docker/docker.py
> index eef92a54f1..0dd6a3304f 100755
> --- a/tests/docker/docker.py
> +++ b/tests/docker/docker.py
> @@ -38,6 +38,9 @@ def _text_checksum(text):
> """Calculate a digest string unique to the text content"""
> return hashlib.sha1(text).hexdigest()
>
> +def _file_checksum(filename):
> + return _text_checksum(open(filename, 'rb').read())
> +
> def _guess_docker_command():
> """ Guess a working docker command or raise exception if not found"""
> commands = [["docker"], ["sudo", "-n", "docker"]]
> @@ -154,7 +157,7 @@ class Docker(object):
> return labels.get("com.qemu.dockerfile-checksum", "")
>
> def build_image(self, tag, docker_dir, dockerfile,
> - quiet=True, user=False, argv=None):
> + quiet=True, user=False, argv=None, extra_files_cksum=[]):
> if argv == None:
> argv = []
>
> @@ -170,7 +173,7 @@ class Docker(object):
>
> tmp_df.write("\n")
> tmp_df.write("LABEL com.qemu.dockerfile-checksum=%s" %
> - _text_checksum(dockerfile))
> + _text_checksum(dockerfile + "-".join(extra_files_cksum)))
> tmp_df.flush()
>
> self._do(["build", "-t", tag, "-f", tmp_df.name] + argv + \
> @@ -276,16 +279,22 @@ class BuildCommand(SubCommand):
> return 1
>
> # Include files used by ADD directives found within the Dockerfile.
> + cksum = []
> if args.include_executable:
> + # FIXME: there is no checksum of this executable and the linked
> + # libraries, once the image built any change of this executable
> + # or any library won't trigger another build.
> _copy_binary_with_libs(args.include_executable, docker_dir)
> for filename in args.include_files or []:
> _copy_with_mkdir(filename, docker_dir)
> + cksum += [_file_checksum(filename)]
>
> argv += ["--build-arg=" + k.lower() + "=" + v
> for k, v in os.environ.iteritems()
> if k.lower() in FILTERED_ENV_NAMES]
> dkr.build_image(tag, docker_dir, dockerfile,
> - quiet=args.quiet, user=args.user, argv=argv)
> + quiet=args.quiet, user=args.user, argv=argv,
> + extra_files_cksum=cksum)
>
> rmtree(docker_dir)
--
Alex Bennée
next prev parent reply other threads:[~2017-05-22 7:55 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-21 3:29 [Qemu-devel] [PATCH v3 00/24] docker/shippable: cross-build mipsel and powerpc targets Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 01/24] docker: let _copy_with_mkdir() sub_path argument be optional Philippe Mathieu-Daudé
2017-05-22 10:00 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 02/24] docker: add --include-files argument to 'build' command Philippe Mathieu-Daudé
2017-05-22 10:09 ` Alex Bennée
2017-05-24 5:21 ` Fam Zheng
2017-05-24 5:34 ` Fam Zheng
2017-05-26 23:18 ` Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 03/24] docker: rebuild image if 'extra files' checksum does not match Philippe Mathieu-Daudé
2017-05-22 7:55 ` Alex Bennée [this message]
2017-05-22 13:23 ` Philippe Mathieu-Daudé
2017-05-22 13:39 ` Alex Bennée
2017-05-24 5:24 ` Fam Zheng
2017-05-26 23:17 ` Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 04/24] docker: add 'apt-fake' script which generate fake debian packages Philippe Mathieu-Daudé
2017-05-22 13:47 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 05/24] docker: install ca-certificates package in base image Philippe Mathieu-Daudé
2017-05-22 13:48 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 06/24] docker: create deb-src entry and setup Emdebian in the same layer Philippe Mathieu-Daudé
2017-05-22 13:49 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 07/24] docker: use better regex to generate deb-src entries Philippe Mathieu-Daudé
2017-05-22 13:53 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 08/24] docker: use eatmydata, install common build packages in base image Philippe Mathieu-Daudé
2017-05-22 13:58 ` Alex Bennée
2017-05-21 3:29 ` [PATCH v3 09/24] docker: use eatmydata in debian armhf image Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-05-22 13:59 ` Alex Bennée
2017-05-22 13:59 ` [Qemu-devel] " Alex Bennée
2017-05-21 3:29 ` [PATCH v3 10/24] docker: use eatmydata in debian arm64 image Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-05-22 13:59 ` Alex Bennée
2017-05-22 13:59 ` [Qemu-devel] " Alex Bennée
2017-05-21 3:29 ` [PATCH v3 11/24] docker: add extra libs to armhf target to extend codebase coverage Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-05-22 14:03 ` Alex Bennée
2017-05-22 14:03 ` [Qemu-devel] " Alex Bennée
2017-05-21 3:29 ` [PATCH v3 12/24] docker: add extra libs to arm64 " Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-05-22 14:04 ` Alex Bennée
2017-05-22 14:04 ` [Qemu-devel] " Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 13/24] docker: add extra libs to s390x " Philippe Mathieu-Daudé
2017-05-22 14:08 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 14/24] docker: add mipsel build target Philippe Mathieu-Daudé
2017-05-22 14:05 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 15/24] docker: add powerpc " Philippe Mathieu-Daudé
2017-05-22 14:08 ` Alex Bennée
2017-05-24 4:52 ` Philippe Mathieu-Daudé
2017-05-24 8:59 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 16/24] shippable: use C locale to simplify console output Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 17/24] shippable: build using all available cpus Philippe Mathieu-Daudé
2017-05-22 14:08 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 18/24] shippable: do not initialize submodules automatically Philippe Mathieu-Daudé
2017-05-22 14:10 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 19/24] shippable: be verbose while building docker images Philippe Mathieu-Daudé
2017-05-22 14:11 ` Alex Bennée
2017-05-21 3:29 ` [PATCH v3 20/24] shippable: add armeb-linux-user target Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-05-22 14:12 ` Alex Bennée
2017-05-22 14:12 ` [Qemu-devel] " Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 21/24] shippable: add powerpc target Philippe Mathieu-Daudé
2017-05-22 14:13 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 22/24] shippable: add mipsel target Philippe Mathieu-Daudé
2017-05-22 16:48 ` Alex Bennée
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 23/24] MAINTAINERS: add Shippable automation platform URL Philippe Mathieu-Daudé
2017-05-21 3:29 ` [Qemu-devel] [PATCH v3 24/24] MAINTAINERS: self-appoint me as reviewer in build/test automation Philippe Mathieu-Daudé
2017-05-24 5:28 ` [Qemu-devel] [PATCH v3 00/24] docker/shippable: cross-build mipsel and powerpc targets Fam Zheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mva5497m.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=f4bug@amsat.org \
--cc=famz@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.