[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 2/7] tests/docker: make executable an optional argument to "up
From: |
Alex Bennée |
Subject: |
[PATCH v1 2/7] tests/docker: make executable an optional argument to "update" |
Date: |
Wed, 10 Mar 2021 19:23:26 +0000 |
We're going to extend the abilities of the command shortly.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
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 7cab761bf5..8f66049dcc 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -245,7 +245,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..2352fdcd24 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 v1 0/7] testing/next (hexagon 2, electric boogaloo), Alex Bennée, 2021/03/10
- [PATCH v1 2/7] tests/docker: make executable an optional argument to "update",
Alex Bennée <=
- [PATCH v1 6/7] tests/tcg: Use Hexagon Docker image, Alex Bennée, 2021/03/10
- [PATCH v1 3/7] tests/docker: allow "update" to add the current user, Alex Bennée, 2021/03/10
- [PATCH v1 1/7] tests/docker: fix copying of executable in "update", Alex Bennée, 2021/03/10
- [PATCH v1 5/7] docker: Add Hexagon image, Alex Bennée, 2021/03/10
- [PATCH v1 4/7] tests/docker: add "fetch" sub-command, Alex Bennée, 2021/03/10
- [PATCH v1 7/7] gitlab: add build-user-hexagon test, Alex Bennée, 2021/03/10
- Re: [PATCH v1 0/7] testing/next (hexagon 2, electric boogaloo), no-reply, 2021/03/10