qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: fam@euphon.net, "Thomas Huth" <thuth@redhat.com>,
	berrange@redhat.com, f4bug@amsat.org,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Willian Rampazzo" <willianr@redhat.com>,
	stefanha@redhat.com, crosa@redhat.com, pbonzini@redhat.com,
	"Alex Bennée" <alex.bennee@linaro.org>,
	aurelien@aurel32.net
Subject: [PATCH v3 03/31] tests/docker: make executable an optional argument to "update"
Date: Wed, 12 May 2021 11:20:23 +0100	[thread overview]
Message-ID: <20210512102051.12134-4-alex.bennee@linaro.org> (raw)
In-Reply-To: <20210512102051.12134-1-alex.bennee@linaro.org>

We're going to extend the abilities of the command shortly.

Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
v2
  - fix indention issue
---
 tests/docker/Makefile.include |  2 +-
 tests/docker/docker.py        | 56 ++++++++++++++++++-----------------
 2 files changed, 30 insertions(+), 28 deletions(-)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 9f464cb92c..820423d718 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -248,7 +248,7 @@ docker-run: docker-qemu-src
 	$(if $(EXECUTABLE),						\
 		$(call quiet-command,					\
 			$(DOCKER_SCRIPT) update 			\
-			$(IMAGE) $(EXECUTABLE),				\
+			$(IMAGE) --executable $(EXECUTABLE),		\
 			"  COPYING $(EXECUTABLE) to $(IMAGE)"))
 	$(call quiet-command,						\
 		$(DOCKER_SCRIPT) run 					\
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 0435a55d10..9b3425fec2 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -523,7 +523,7 @@ class UpdateCommand(SubCommand):
     def args(self, parser):
         parser.add_argument("tag",
                             help="Image Tag")
-        parser.add_argument("executable",
+        parser.add_argument("--executable",
                             help="Executable to copy")
 
     def run(self, args, argv):
@@ -532,35 +532,37 @@ def run(self, args, argv):
         tmp = tempfile.NamedTemporaryFile(suffix="dckr.tar.gz")
         tmp_tar = TarFile(fileobj=tmp, mode='w')
 
-        # Add the executable to the tarball, using the current
-        # configured binfmt_misc path. If we don't get a path then we
-        # only need the support libraries copied
-        ff, enabled = _check_binfmt_misc(args.executable)
-
-        if not enabled:
-            print("binfmt_misc not enabled, update disabled")
-            return 1
-
-        if ff:
-            tmp_tar.add(args.executable, arcname=ff)
-
-        # Add any associated libraries
-        libs = _get_so_libs(args.executable)
-        if libs:
-            for l in libs:
-                so_path = os.path.dirname(l)
-                name = os.path.basename(l)
-                real_l = os.path.realpath(l)
-                try:
-                    tmp_tar.add(real_l, arcname="%s/%s" % (so_path, name))
-                except FileNotFoundError:
-                    print("Couldn't add %s/%s to archive" % (so_path, name))
-                    pass
-
         # Create a Docker buildfile
         df = StringIO()
         df.write(u"FROM %s\n" % args.tag)
-        df.write(u"ADD . /\n")
+
+        if args.executable:
+            # Add the executable to the tarball, using the current
+            # configured binfmt_misc path. If we don't get a path then we
+            # only need the support libraries copied
+            ff, enabled = _check_binfmt_misc(args.executable)
+
+            if not enabled:
+                print("binfmt_misc not enabled, update disabled")
+                return 1
+
+            if ff:
+                tmp_tar.add(args.executable, arcname=ff)
+
+            # Add any associated libraries
+            libs = _get_so_libs(args.executable)
+            if libs:
+                for l in libs:
+                    so_path = os.path.dirname(l)
+                    name = os.path.basename(l)
+                    real_l = os.path.realpath(l)
+                    try:
+                        tmp_tar.add(real_l, arcname="%s/%s" % (so_path, name))
+                    except FileNotFoundError:
+                        print("Couldn't add %s/%s to archive" % (so_path, name))
+                        pass
+
+            df.write(u"ADD . /\n")
 
         df_bytes = BytesIO(bytes(df.getvalue(), "UTF-8"))
 
-- 
2.20.1



  parent reply	other threads:[~2021-05-12 10:26 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-12 10:20 [PATCH v3 00/31] testing/next pre-PR (hexagon, tricore, misc) Alex Bennée
2021-05-12 10:20 ` [PATCH v3 01/31] checkpatch: Fix use of uninitialized value Alex Bennée
2021-05-12 10:20 ` [PATCH v3 02/31] tests/docker: fix copying of executable in "update" Alex Bennée
2021-05-12 10:20 ` Alex Bennée [this message]
2021-05-12 10:20 ` [PATCH v3 04/31] tests/docker: allow "update" to add the current user Alex Bennée
2021-05-12 10:20 ` [PATCH v3 05/31] tests/docker: add "fetch" sub-command Alex Bennée
2021-05-12 10:20 ` [PATCH v3 06/31] docker: Add Hexagon image Alex Bennée
2021-05-12 10:20 ` [PATCH v3 07/31] tests/tcg: Use Hexagon Docker image Alex Bennée
2021-05-12 10:20 ` [PATCH v3 08/31] gitlab: add build-user-hexagon test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 09/31] tests/tcg: don't iterate through other arch compilers Alex Bennée
2021-05-12 10:20 ` [PATCH v3 10/31] tests/docker: Added libbpf library to the docker files Alex Bennée
2021-05-12 10:20 ` [PATCH v3 11/31] tests/tcg: Add docker_as and docker_ld cmds Alex Bennée
2021-05-12 10:20 ` [PATCH v3 12/31] tests/tcg: Run timeout cmds using --foreground Alex Bennée
2021-05-12 10:20 ` [PATCH v3 13/31] hw/tricore: Add testdevice for tests in tests/tcg/ Alex Bennée
2021-05-12 10:20 ` [PATCH v3 14/31] tests/tcg/tricore: Add build infrastructure Alex Bennée
2021-05-12 10:20 ` [PATCH v3 15/31] configure: Emit HOST_CC to config-host.mak Alex Bennée
2021-05-12 10:20 ` [PATCH v3 16/31] tests/tcg/tricore: Add macros to create tests and first test 'abs' Alex Bennée
2021-05-12 10:20 ` [PATCH v3 17/31] tests/tcg/tricore: Add bmerge test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 18/31] tests/tcg/tricore: Add clz test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 19/31] tests/tcg/tricore: Add dvstep test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 20/31] tests/tcg/tricore: Add fadd test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 21/31] tests/tcg/tricore: Add fmul test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 22/31] tests/tcg/tricore: Add ftoi test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 23/31] tests/tcg/tricore: Add madd test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 24/31] tests/tcg/tricore: Add msub test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 25/31] tests/tcg/tricore: Add muls test Alex Bennée
2021-05-12 10:20 ` [PATCH v3 26/31] tests/docker: gcc-10 based images for ppc64{, le} tests Alex Bennée
2021-05-12 10:20 ` [PATCH v3 27/31] tests/tcg/ppc64le: tests for brh/brw/brd Alex Bennée
2021-05-12 10:20 ` [PATCH v3 28/31] cirrus.yml: Fix the MSYS2 task Alex Bennée
2021-05-12 10:20 ` [PATCH v3 29/31] tests/tcg: fix missing return Alex Bennée
2021-05-12 11:13   ` Philippe Mathieu-Daudé
2021-05-12 10:20 ` [PATCH v3 30/31] tests/tcg: don't allow clang as a cross compiler Alex Bennée
2021-05-12 10:20 ` [PATCH v3 31/31] configure: use cc, not host_cc to set cross_cc for build arch Alex Bennée
2021-05-12 10:51 ` [PATCH v3 00/31] testing/next pre-PR (hexagon, tricore, misc) no-reply

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=20210512102051.12134-4-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=berrange@redhat.com \
    --cc=crosa@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=fam@euphon.net \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    --cc=willianr@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).