From patchwork Sun May 21 03:29:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 765014 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wVnT939G2z9s2G for ; Sun, 21 May 2017 13:34:05 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XKbXlRYk"; dkim-atps=neutral Received: from localhost ([::1]:36156 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dCHd4-0003iL-UI for incoming@patchwork.ozlabs.org; Sat, 20 May 2017 23:34:02 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48304) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dCHZV-0001Jo-Sd for qemu-devel@nongnu.org; Sat, 20 May 2017 23:30:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dCHZU-0007C8-Vz for qemu-devel@nongnu.org; Sat, 20 May 2017 23:30:21 -0400 Received: from mail-oi0-x243.google.com ([2607:f8b0:4003:c06::243]:35614) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dCHZU-0007Bz-QU for qemu-devel@nongnu.org; Sat, 20 May 2017 23:30:20 -0400 Received: by mail-oi0-x243.google.com with SMTP id m17so18048749oik.2 for ; Sat, 20 May 2017 20:30:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+/rZeQYDyBYK20vjKy0M4BPDYPMliaibLEaPf7FpVVM=; b=XKbXlRYk01YBGBUc+gsFBkgOJffhXJNr2jnMbSakxy4FgbGT6sfZU8FeAOKyNQ3YWh 4ssIzIj88SwtMU7n4FAVDHLFrd0I6wpwygSGN3F7tQ4lTfrKzlS5SWogRHi5dlVp+bXV 1lyLJqdOKoCDgsCWbN0/wEFCsd9nFf1LPDDk3BVd7KbBZ5equMTQTX34DLC3Gpvxn+uB mpn56dBtUzahJAi8zA2z1A8H8XeuQBdQ+FKxpmWOf4LYNwiIORoJaDUBHF5Vfr8v471Q UTDS26X5DRSJX2PcJcZZ1Ty9rx8gD4qsLCA8JqXMTFGRd2K9eTSsJ9cxLEW4brbnD3g3 4QSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=+/rZeQYDyBYK20vjKy0M4BPDYPMliaibLEaPf7FpVVM=; b=PaZ3P1CKWU1/+KnwTExo9ZhlLKq+YvwObzr5XSHQBF0mNfYqdjsYSJEkPQiNt4lWCT zILMngG7s6Zo/TAyHJQczb2fOrFkAnfMZxdabHQgI5G2inX+2/1pXe+9loKeo+D5nN/R 7KI+g5KkIcA6SbX4/H43I6bPzXPT504J6NotaV9UYVfeDs8JsUXBrUPvt49tBzYDhnf5 2V7fsZo0Kh5VodmIktyQ/T1c1Oc5gw33dJGr8kcuum3hnmOhXi1oxGnvsOnhWGBSVS4t HecVanpym8jKOoWeL8RBFkOgKgvGYe5UtO8Kk7zpQX2JPEhC8qGWi6ngQt+5aACW0uJL GvQw== X-Gm-Message-State: AODbwcCkV7JYdKl2mdcDI3v7SRfNzi4vPOFq8JJYJ3alQg4qNv9TLljZ 4nY6kooT4+9cUg== X-Received: by 10.202.50.139 with SMTP id y133mr7845010oiy.3.1495337420126; Sat, 20 May 2017 20:30:20 -0700 (PDT) Received: from yoga.attlocal.net (162-231-236-127.lightspeed.miamfl.sbcglobal.net. [162.231.236.127]) by smtp.gmail.com with ESMTPSA id u23sm6499219otg.31.2017.05.20.20.30.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 20 May 2017 20:30:19 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Fam Zheng Date: Sun, 21 May 2017 00:29:34 -0300 Message-Id: <20170521032956.27446-3-f4bug@amsat.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170521032956.27446-1-f4bug@amsat.org> References: <20170521032956.27446-1-f4bug@amsat.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c06::243 Subject: [Qemu-devel] [PATCH v3 02/24] docker: add --include-files argument to 'build' command X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alex Bennée --- tests/docker/Makefile.include | 5 ++++- tests/docker/docker.py | 12 +++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 03eda37bf4..fe1a9a53ff 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -51,6 +51,7 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker $(SRC_PATH)/tests/docker/docker.py build qemu:$* $< \ $(if $V,,--quiet) $(if $(NOCACHE),--no-cache) \ $(if $(NOUSER),,--add-current-user) \ + $(if $(EXTRA_FILES),--extra-files $(EXTRA_FILES))\ $(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\ "BUILD","$*") @@ -107,6 +108,8 @@ docker: @echo ' NOUSER Define to disable adding current user to containers passwd.' @echo ' NOCACHE=1 Ignore cache when build images.' @echo ' EXECUTABLE= Include executable in image.' + @echo ' EXTRA_FILES=" [... ]"' + @echo ' Include extra files in image.' # This rule if for directly running against an arbitrary docker target. # It is called by the expanded docker targets (e.g. make diff --git a/tests/docker/docker.py b/tests/docker/docker.py index 6ddc6e4c2a..68cca25f89 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -237,6 +237,11 @@ class BuildCommand(SubCommand): help="""Specify a binary that will be copied to the container together with all its dependent libraries""") + parser.add_argument("--extra-files", "-f", nargs='*', + help="""Specify files that will be sent to the + Docker daemon. The daemon will copy those files into + the built image. The ADD directive of the Dockerfile + specify where a file is placed into the image""") parser.add_argument("--add-current-user", "-u", dest="user", action="store_true", help="Add the current user to image's passwd") @@ -270,10 +275,11 @@ class BuildCommand(SubCommand): print "%s exited with code %d" % (docker_pre, rc) return 1 - # Do we include a extra binary? + # Include files used by ADD directives found within the Dockerfile. if args.include_executable: - _copy_binary_with_libs(args.include_executable, - docker_dir) + _copy_binary_with_libs(args.include_executable, docker_dir) + for filename in args.extra_files or []: + _copy_with_mkdir(filename, docker_dir) argv += ["--build-arg=" + k.lower() + "=" + v for k, v in os.environ.iteritems()