qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PULL 19/20] docker: add special rule for deboostrapped ima


From: Alex Bennée
Subject: [Qemu-devel] [PULL 19/20] docker: add special rule for deboostrapped images
Date: Tue, 3 Jul 2018 11:14:43 +0100

We might as well have a custom rule for this. For one thing the
dependencies are different. As the primary dependency for
docker-image-% could never be docker-image-debian-bootstrap we can
drop that test in the main rule as well.

Missing EXECUTABLE, DEB_ARCH and DEB_TYPE are treated as hard faults
now. We also error out if the EXECUTABLE file isn't there. We should
really do this with a dependency on any source rules but currently
subdir-FOO-linux-user isn't enough on a clean build.

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 8641f5da2c..d43af0db32 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -49,9 +49,6 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker
                "CHECK", "$*")
 else
 docker-image-%: $(DOCKER_FILES_DIR)/%.docker
-       @if test "$@" = docker-image-debian-bootstrap -a -z "$(EXECUTABLE)"; 
then \
-               echo WARNING: EXECUTABLE is not set, debootstrap may fail. 2>&1 
; \
-       fi
        $(call quiet-command,\
                $(DOCKER_SCRIPT) build qemu:$* $< \
                $(if $V,,--quiet) $(if $(NOCACHE),--no-cache) \
@@ -59,6 +56,28 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker
                $(if $(EXTRA_FILES),--extra-files $(EXTRA_FILES))\
                $(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\
                "BUILD","$*")
+
+# Special rule for debootstraped binfmt linux-user images
+docker-binfmt-image-debian-%: $(DOCKER_FILES_DIR)/debian-bootstrap.docker
+       $(if $(EXECUTABLE),,\
+               $(error EXECUTABLE not set, debootstrap of debian-$* would 
fail))
+       @if ! test -f "$(EXECUTABLE)"; \
+               $(error Please build $(EXECUTABLE) first) \
+       fi
+       $(if $(DEB_ARCH),,\
+               $(error DEB_ARCH not set, debootstrap of debian-$* would fail))
+       $(if $(DEB_TYPE),,\
+               $(error DEB_TYPE not set, debootstrap of debian-$* would fail))
+       $(call quiet-command,                                           \
+               DEB_ARCH=$(DEB_ARCH)                                    \
+               DEB_TYPE=$(DEB_TYPE)                                    \
+               $(DOCKER_SCRIPT) build qemu:debian-$* $<                \
+               $(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","binfmt debian-$* (debootstrapped)")
+
 endif
 
 # Enforce dependencies for composite images
-- 
2.17.1




reply via email to

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