qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 20/24] tests/docker: use direct RUNC call to build containers


From: Alex Bennée
Subject: [PATCH v3 20/24] tests/docker: use direct RUNC call to build containers
Date: Tue, 28 Feb 2023 19:06:49 +0000

We don't really need stuff from docker.py to do the build as we have
everything we need with a direct call. We do rely on the dockerfiles
being able to tweak the UID/name mapping as the last step.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/docker/Makefile.include | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index bfb0dcac21..680afff952 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -7,6 +7,8 @@ SPACE := $(NULL) #
 COMMA := ,
 
 HOST_ARCH = $(if $(ARCH),$(ARCH),$(shell uname -m))
+USER = $(if $(NOUSER),,$(shell id -un))
+UID = $(if $(NOUSER),,$(shell id -u))
 
 DOCKER_FILES_DIR := $(SRC_PATH)/tests/docker/dockerfiles
 ifeq ($(HOST_ARCH),x86_64)
@@ -14,6 +16,7 @@ DOCKER_DEFAULT_REGISTRY := 
registry.gitlab.com/qemu-project/qemu
 endif
 DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),$(DOCKER_DEFAULT_REGISTRY))
 
+RUNC ?= docker
 ENGINE ?= auto
 DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py --engine $(ENGINE)
 
@@ -35,15 +38,17 @@ docker-qemu-src: $(DOCKER_SRC_COPY)
 
 # General rule for building docker images.
 docker-image-%: $(DOCKER_FILES_DIR)/%.docker
-       $(call quiet-command,\
-               $(DOCKER_SCRIPT) build -t qemu/$* -f $< \
-               $(if $V,,--quiet) \
-               $(if $(NOCACHE),--no-cache, \
-                       $(if $(DOCKER_REGISTRY),--registry $(DOCKER_REGISTRY))) 
\
-               $(if $(NOUSER),,--add-current-user) \
-               $(if $(EXTRA_FILES),--extra-files $(EXTRA_FILES))\
-               $(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\
-               "BUILD","$*")
+         $(call quiet-command,                 \
+               $(RUNC) build                           \
+               $(if $V,,--quiet)                       \
+               $(if $(NOCACHE),--no-cache,             \
+                       $(if $(DOCKER_REGISTRY),--cache-from 
$(DOCKER_REGISTRY)/qemu/$*)) \
+               --build-arg BUILDKIT_INLINE_CACHE=1     \
+               $(if $(NOUSER),,                        \
+                       --build-arg USER=$(USER)        \
+                       --build-arg UID=$(UID)) \
+               -t qemu/$* - < $<,                      \
+               "BUILD", $1)
 
 # Special rule for debootstraped binfmt linux-user images
 docker-binfmt-image-debian-%: $(DOCKER_FILES_DIR)/debian-bootstrap.docker
-- 
2.39.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]