diff mbox series

[v1,22/42] tests/docker: drop powerpc-user image for QEMU cross builds

Message ID 20190904203013.9028-23-alex.bennee@linaro.org
State New
Headers show
Series current testing/next queue (podman, docker, ci) | expand

Commit Message

Alex Bennée Sept. 4, 2019, 8:29 p.m. UTC
Now Jessie has entered LTS the powerpc architecture has been dropped
so we can no longer build the image from scratch. We will still
support a minimal powerpc-cross image for building testcases.

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

Cc: David Gibson <david@gibson.dropbear.id.au>
---
 tests/docker/Makefile.include                     |  8 --------
 .../dockerfiles/debian-powerpc-user-cross.docker  | 15 ---------------
 2 files changed, 23 deletions(-)
 delete mode 100644 tests/docker/dockerfiles/debian-powerpc-user-cross.docker

-- 
2.20.1

Comments

Philippe Mathieu-Daudé Sept. 7, 2019, 8:21 p.m. UTC | #1
On 9/4/19 10:29 PM, Alex Bennée wrote:
> Now Jessie has entered LTS the powerpc architecture has been dropped

> so we can no longer build the image from scratch. We will still

> support a minimal powerpc-cross image for building testcases.


This one still works using:

DEB_URL=http://snapshot.debian.org/archive/debian/20180615T211437Z

So I'd rather keep it with this snippet:

-- >8 --
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -68,10 +68,13 @@ docker-binfmt-image-debian-%:
$(DOCKER_FILES_DIR)/debian-bootstrap.docker
                $(error DEB_ARCH not set, debootstrap of debian-$* would
fail))
        $(if $(DEB_TYPE),,\
                $(error DEB_TYPE not set, debootstrap of debian-$* would
fail))
+       $(if $(DEB_URL),,\
+               $(error DEB_URL not set, debootstrap of debian-$* would
fail))
        $(if $(wildcard $(EXECUTABLE)),
        \
                $(call quiet-command,
        \
                        DEB_ARCH=$(DEB_ARCH)
        \
                        DEB_TYPE=$(DEB_TYPE)
        \
+                       DEB_URL=$(DEB_URL)
                \
                        $(DOCKER_SCRIPT) build qemu:debian-$* $<
        \
                        $(if $V,,--quiet) $(if $(NOCACHE),--no-cache)
        \
                        $(if $(NOUSER),,--add-current-user)
        \
@@ -130,6 +133,7 @@ DOCKER_PARTIAL_IMAGES += fedora-cris-cross
 # broken so we need a qemu-linux-user for this target
 docker-binfmt-image-debian-powerpc-user: DEB_ARCH = powerpc
 docker-binfmt-image-debian-powerpc-user: DEB_TYPE = jessie
+docker-binfmt-image-debian-powerpc-user: DEB_URL =
http://snapshot.debian.org/archive/debian/20180615T211437Z
 docker-binfmt-image-debian-powerpc-user: EXECUTABLE =
${BUILD_DIR}/ppc-linux-user/qemu-ppc
 docker-image-debian-powerpc-user-cross:
docker-binfmt-image-debian-powerpc-user
 DOCKER_USER_IMAGES += debian-powerpc-user
---

> 

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

> Cc: David Gibson <david@gibson.dropbear.id.au>

> ---

>  tests/docker/Makefile.include                     |  8 --------

>  .../dockerfiles/debian-powerpc-user-cross.docker  | 15 ---------------

>  2 files changed, 23 deletions(-)

>  delete mode 100644 tests/docker/dockerfiles/debian-powerpc-user-cross.docker

> 

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

> index 59fbebbe2e6..f4e9dfc0120 100644

> --- a/tests/docker/Makefile.include

> +++ b/tests/docker/Makefile.include

> @@ -126,14 +126,6 @@ DOCKER_PARTIAL_IMAGES += fedora-cris-cross

>  # work around issues with poorly working multi-arch systems and broken

>  # packages.

>  

> -# Jessie is the last supported release for powerpc, but multi-arch is

> -# broken so we need a qemu-linux-user for this target

> -docker-binfmt-image-debian-powerpc-user: DEB_ARCH = powerpc

> -docker-binfmt-image-debian-powerpc-user: DEB_TYPE = jessie

> -docker-binfmt-image-debian-powerpc-user: EXECUTABLE = ${BUILD_DIR}/ppc-linux-user/qemu-ppc

> -docker-image-debian-powerpc-user-cross: docker-binfmt-image-debian-powerpc-user

> -DOCKER_USER_IMAGES += debian-powerpc-user

> -

>  # Expand all the pre-requistes for each docker image and test combination

>  $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES) $(DOCKER_DEPRECATED_IMAGES)), \

>  	$(foreach t,$(DOCKER_TESTS) $(DOCKER_TOOLS), \

> diff --git a/tests/docker/dockerfiles/debian-powerpc-user-cross.docker b/tests/docker/dockerfiles/debian-powerpc-user-cross.docker

> deleted file mode 100644

> index 6938a845ee2..00000000000

> --- a/tests/docker/dockerfiles/debian-powerpc-user-cross.docker

> +++ /dev/null

> @@ -1,15 +0,0 @@

> -#

> -# Docker powerpc cross-compiler target for QEMU

> -#

> -# We can't use current Debian stable cross-compilers to build powerpc

> -# as it has been dropped as a release architecture. Using Debian Sid

> -# is just far too sketchy a build environment. This leaves us the

> -# final option of using linux-user. This image is based of the

> -# debootstrapped qemu:debian-powerpc-user but doesn't need any extra

> -# magic once it is setup.

> -#

> -FROM qemu:debian-powerpc-user

> -

> -RUN echo man-db man-db/auto-update boolean false | debconf-set-selections

> -RUN apt-get update && \

> -    DEBIAN_FRONTEND=noninteractive apt-get build-dep -yy qemu

>
Alex Bennée Sept. 9, 2019, 9:54 a.m. UTC | #2
Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> On 9/4/19 10:29 PM, Alex Bennée wrote:

>> Now Jessie has entered LTS the powerpc architecture has been dropped

>> so we can no longer build the image from scratch. We will still

>> support a minimal powerpc-cross image for building testcases.

>

> This one still works using:

>

> DEB_URL=http://snapshot.debian.org/archive/debian/20180615T211437Z

>

> So I'd rather keep it with this snippet:

>

> -- >8 --

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

> --- a/tests/docker/Makefile.include

> +++ b/tests/docker/Makefile.include

> @@ -68,10 +68,13 @@ docker-binfmt-image-debian-%:

> $(DOCKER_FILES_DIR)/debian-bootstrap.docker

>                 $(error DEB_ARCH not set, debootstrap of debian-$* would

> fail))

>         $(if $(DEB_TYPE),,\

>                 $(error DEB_TYPE not set, debootstrap of debian-$* would

> fail))

> +       $(if $(DEB_URL),,\

> +               $(error DEB_URL not set, debootstrap of debian-$* would

> fail))


I'm not sure we want to force a fail here - DEB_URL will set to a
reasonable default if not set.

>         $(if $(wildcard $(EXECUTABLE)),

>         \

>                 $(call quiet-command,

>         \

>                         DEB_ARCH=$(DEB_ARCH)

>         \

>                         DEB_TYPE=$(DEB_TYPE)

>         \

> +                       DEB_URL=$(DEB_URL)

>                 \

>                         $(DOCKER_SCRIPT) build qemu:debian-$* $<

>         \

>                         $(if $V,,--quiet) $(if $(NOCACHE),--no-cache)

>         \

>                         $(if $(NOUSER),,--add-current-user)

>         \

> @@ -130,6 +133,7 @@ DOCKER_PARTIAL_IMAGES += fedora-cris-cross

>  # broken so we need a qemu-linux-user for this target

>  docker-binfmt-image-debian-powerpc-user: DEB_ARCH = powerpc

>  docker-binfmt-image-debian-powerpc-user: DEB_TYPE = jessie

> +docker-binfmt-image-debian-powerpc-user: DEB_URL =

> http://snapshot.debian.org/archive/debian/20180615T211437Z


These seems reasonable though.

>  docker-binfmt-image-debian-powerpc-user: EXECUTABLE =

> ${BUILD_DIR}/ppc-linux-user/qemu-ppc

>  docker-image-debian-powerpc-user-cross:

> docker-binfmt-image-debian-powerpc-user

>  DOCKER_USER_IMAGES += debian-powerpc-user

> ---

>

>>

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

>> Cc: David Gibson <david@gibson.dropbear.id.au>

>> ---

>>  tests/docker/Makefile.include                     |  8 --------

>>  .../dockerfiles/debian-powerpc-user-cross.docker  | 15 ---------------

>>  2 files changed, 23 deletions(-)

>>  delete mode 100644 tests/docker/dockerfiles/debian-powerpc-user-cross.docker

>>

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

>> index 59fbebbe2e6..f4e9dfc0120 100644

>> --- a/tests/docker/Makefile.include

>> +++ b/tests/docker/Makefile.include

>> @@ -126,14 +126,6 @@ DOCKER_PARTIAL_IMAGES += fedora-cris-cross

>>  # work around issues with poorly working multi-arch systems and broken

>>  # packages.

>>

>> -# Jessie is the last supported release for powerpc, but multi-arch is

>> -# broken so we need a qemu-linux-user for this target

>> -docker-binfmt-image-debian-powerpc-user: DEB_ARCH = powerpc

>> -docker-binfmt-image-debian-powerpc-user: DEB_TYPE = jessie

>> -docker-binfmt-image-debian-powerpc-user: EXECUTABLE = ${BUILD_DIR}/ppc-linux-user/qemu-ppc

>> -docker-image-debian-powerpc-user-cross: docker-binfmt-image-debian-powerpc-user

>> -DOCKER_USER_IMAGES += debian-powerpc-user

>> -

>>  # Expand all the pre-requistes for each docker image and test combination

>>  $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES) $(DOCKER_DEPRECATED_IMAGES)), \

>>  	$(foreach t,$(DOCKER_TESTS) $(DOCKER_TOOLS), \

>> diff --git a/tests/docker/dockerfiles/debian-powerpc-user-cross.docker b/tests/docker/dockerfiles/debian-powerpc-user-cross.docker

>> deleted file mode 100644

>> index 6938a845ee2..00000000000

>> --- a/tests/docker/dockerfiles/debian-powerpc-user-cross.docker

>> +++ /dev/null

>> @@ -1,15 +0,0 @@

>> -#

>> -# Docker powerpc cross-compiler target for QEMU

>> -#

>> -# We can't use current Debian stable cross-compilers to build powerpc

>> -# as it has been dropped as a release architecture. Using Debian Sid

>> -# is just far too sketchy a build environment. This leaves us the

>> -# final option of using linux-user. This image is based of the

>> -# debootstrapped qemu:debian-powerpc-user but doesn't need any extra

>> -# magic once it is setup.

>> -#

>> -FROM qemu:debian-powerpc-user

>> -

>> -RUN echo man-db man-db/auto-update boolean false | debconf-set-selections

>> -RUN apt-get update && \

>> -    DEBIAN_FRONTEND=noninteractive apt-get build-dep -yy qemu

>>



--
Alex Bennée
diff mbox series

Patch

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 59fbebbe2e6..f4e9dfc0120 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -126,14 +126,6 @@  DOCKER_PARTIAL_IMAGES += fedora-cris-cross
 # work around issues with poorly working multi-arch systems and broken
 # packages.
 
-# Jessie is the last supported release for powerpc, but multi-arch is
-# broken so we need a qemu-linux-user for this target
-docker-binfmt-image-debian-powerpc-user: DEB_ARCH = powerpc
-docker-binfmt-image-debian-powerpc-user: DEB_TYPE = jessie
-docker-binfmt-image-debian-powerpc-user: EXECUTABLE = ${BUILD_DIR}/ppc-linux-user/qemu-ppc
-docker-image-debian-powerpc-user-cross: docker-binfmt-image-debian-powerpc-user
-DOCKER_USER_IMAGES += debian-powerpc-user
-
 # Expand all the pre-requistes for each docker image and test combination
 $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES) $(DOCKER_DEPRECATED_IMAGES)), \
 	$(foreach t,$(DOCKER_TESTS) $(DOCKER_TOOLS), \
diff --git a/tests/docker/dockerfiles/debian-powerpc-user-cross.docker b/tests/docker/dockerfiles/debian-powerpc-user-cross.docker
deleted file mode 100644
index 6938a845ee2..00000000000
--- a/tests/docker/dockerfiles/debian-powerpc-user-cross.docker
+++ /dev/null
@@ -1,15 +0,0 @@ 
-#
-# Docker powerpc cross-compiler target for QEMU
-#
-# We can't use current Debian stable cross-compilers to build powerpc
-# as it has been dropped as a release architecture. Using Debian Sid
-# is just far too sketchy a build environment. This leaves us the
-# final option of using linux-user. This image is based of the
-# debootstrapped qemu:debian-powerpc-user but doesn't need any extra
-# magic once it is setup.
-#
-FROM qemu:debian-powerpc-user
-
-RUN echo man-db man-db/auto-update boolean false | debconf-set-selections
-RUN apt-get update && \
-    DEBIAN_FRONTEND=noninteractive apt-get build-dep -yy qemu