[v3,19/20] docker: add special rule for deboostrapped images

Message ID 20180702143021.18864-20-alex.bennee@linaro.org
State New
Headers show
Series
  • Travis, Code Coverage and Cross Build updates
Related show

Commit Message

Alex Bennée July 2, 2018, 2:30 p.m.
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.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>


---
v3:
  - changed rule to docker-binfmt-image-debian-%:
  - leave executable in the main rule
  - rm stray whitespace fix
---
 tests/docker/Makefile.include | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

-- 
2.17.1

Comments

Philippe Mathieu-Daudé July 2, 2018, 8:32 p.m. | #1
On 07/02/2018 11:30 AM, Alex Bennée wrote:
> 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.

> 

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> 

> ---

> v3:

>   - changed rule to docker-binfmt-image-debian-%:

>   - leave executable in the main rule

>   - rm stray whitespace fix

> ---

>  tests/docker/Makefile.include | 23 ++++++++++++++++++++---

>  1 file changed, 20 insertions(+), 3 deletions(-)

> 

> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include

> index 8641f5da2c..fdc87b8a57 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,26 @@ 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 test -z "$(EXECUTABLE)"; then \

> +		echo WARNING: EXECUTABLE is not set, debootstrap may fail. 2>&1 ; \

> +	fi

> +	@if test -z "$(DEB_ARCH)"; then 					\

> +		echo WARNING: DEB_ARCH is not set, debootstrap may fail. 2>&1 ; \

> +        fi

> +	@if test -z "$(DEB_TYPE)"; then 					\

> +		echo WARNING: DEB_TYPE is not set, debootstrap may fail. 2>&1 ; \

> +        fi

> +	$(call quiet-command,							\


Here I had to add:

+               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

>

Patch

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 8641f5da2c..fdc87b8a57 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,26 @@  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 test -z "$(EXECUTABLE)"; then \
+		echo WARNING: EXECUTABLE is not set, debootstrap may fail. 2>&1 ; \
+	fi
+	@if test -z "$(DEB_ARCH)"; then 					\
+		echo WARNING: DEB_ARCH is not set, debootstrap may fail. 2>&1 ; \
+        fi
+	@if test -z "$(DEB_TYPE)"; then 					\
+		echo WARNING: DEB_TYPE is not set, debootstrap may fail. 2>&1 ; \
+        fi
+	$(call quiet-command,							\
+		$(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