[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 03/25] tests/docker: make executable an optional argument to "
From: |
Alex Bennée |
Subject: |
[PATCH v1 03/25] tests/docker: make executable an optional argument to "update" |
Date: |
Mon, 19 Apr 2021 15:54:13 +0100 |
We're going to extend the abilities of the command shortly.
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
- [PATCH for post 6.0 v1 00/25] testing/next (hexagon/tricore/test cc), Alex Bennée, 2021/04/19
- [PATCH v1 01/25] checkpatch: Fix use of uninitialized value, Alex Bennée, 2021/04/19
- [PATCH v1 02/25] tests/docker: fix copying of executable in "update", Alex Bennée, 2021/04/19
- [PATCH v1 03/25] tests/docker: make executable an optional argument to "update",
Alex Bennée <=
- [PATCH v1 04/25] tests/docker: allow "update" to add the current user, Alex Bennée, 2021/04/19
- [PATCH v1 05/25] tests/docker: add "fetch" sub-command, Alex Bennée, 2021/04/19
- [PATCH v1 07/25] tests/tcg: Use Hexagon Docker image, Alex Bennée, 2021/04/19
- [PATCH v1 12/25] tests/tcg: Run timeout cmds using --foreground, Alex Bennée, 2021/04/19
- [PATCH v1 08/25] gitlab: add build-user-hexagon test, Alex Bennée, 2021/04/19