diff mbox series

[v1,27/29] gitlab: enable a very minimal build with the tricore container

Message ID 20210720232703.10650-28-alex.bennee@linaro.org (mailing list archive)
State New, archived
Headers show
Series various fixes pre-PR (metadata, docs, plugins, testing) | expand

Commit Message

Alex Bennée July 20, 2021, 11:27 p.m. UTC
Rather than base of the shared Debian 10 container which would require
us to bring in even more dependencies just bring in what is needed for
building tricore-softmmu in GitLab. We don't even remove the container
from the DOCKER_PARTIAL_IMAGES lest we cause more confusion.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210720114057.32053-4-alex.bennee@linaro.org>
---
 .gitlab-ci.d/buildtest.yml                    | 11 ++++++
 .../dockerfiles/debian-tricore-cross.docker   | 34 ++++++++++++++++---
 2 files changed, 40 insertions(+), 5 deletions(-)

Comments

Thomas Huth July 21, 2021, 7:05 a.m. UTC | #1
On 21/07/2021 01.27, Alex Bennée wrote:
> Rather than base of the shared Debian 10 container which would require
> us to bring in even more dependencies just bring in what is needed for
> building tricore-softmmu in GitLab. We don't even remove the container
> from the DOCKER_PARTIAL_IMAGES lest we cause more confusion.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Message-Id: <20210720114057.32053-4-alex.bennee@linaro.org>
> ---
>   .gitlab-ci.d/buildtest.yml                    | 11 ++++++
>   .../dockerfiles/debian-tricore-cross.docker   | 34 ++++++++++++++++---
>   2 files changed, 40 insertions(+), 5 deletions(-)
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 89df51517c..48cb45a783 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -354,6 +354,17 @@ build-some-softmmu:
>       TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
>       MAKE_CHECK_ARGS: check-tcg
>   
> +# We build tricore in a very minimal tricore only container
> +build-tricore-softmmu:
> +  extends: .native_build_job_template
> +  needs:
> +    job: tricore-debian-cross-container
> +  variables:
> +    IMAGE: debian-tricore-cross
> +    CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
> +    TARGETS: tricore-softmmu
> +    MAKE_CHECK_ARGS: check-tcg
> +
>   clang-system:
>     extends: .native_build_job_template
>     needs:
> diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker
> index 985925134c..d8df2c6117 100644
> --- a/tests/docker/dockerfiles/debian-tricore-cross.docker
> +++ b/tests/docker/dockerfiles/debian-tricore-cross.docker
> @@ -1,23 +1,47 @@
>   #
>   # Docker TriCore cross-compiler target
>   #
> -# This docker target builds on the debian Stretch base image.
> +# This docker target builds on the Debian Buster base image but
> +# doesn't inherit from the common one to avoid bringing in unneeded
> +# dependencies.
>   #
>   # Copyright (c) 2018 Philippe Mathieu-Daudé
>   #
>   # SPDX-License-Identifier: GPL-2.0-or-later
>   #
> -FROM qemu/debian10
> +FROM docker.io/library/debian:buster-slim
>   
>   MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
>   
> +RUN apt update && \
> +    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
> +    DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \
> +       bzip2 \
> +       ca-certificates \
> +       ccache \
> +       g++ \
> +       gcc \
> +       git \
> +       libglib2.0-dev \
> +       libpixman-1-dev \
> +       libtest-harness-perl \
> +       locales \
> +       make \
> +       ninja-build \
> +       perl-base \
> +       pkgconf \
> +       python3-pip \
> +       python3-setuptools \
> +       python3-wheel
> +
>   RUN git clone --single-branch \
>           https://github.com/bkoppelmann/tricore-binutils.git \
>           /usr/src/binutils && \
>       cd /usr/src/binutils && chmod +x missing && \
> -    CFLAGS=-w ./configure --prefix=/usr --disable-nls --target=tricore && \
> +    CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \
>       make && make install && \
>       rm -rf /usr/src/binutils
>   
> -# This image isn't designed for building QEMU but building tests
> -ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user
> +# This image can only build a very minimal QEMU as well as the tests
> +ENV DEF_TARGET_LIST tricore-softmmu
> +ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools --disable-fdt
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>
Willian Rampazzo July 21, 2021, 3 p.m. UTC | #2
On Tue, Jul 20, 2021 at 8:34 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
> Rather than base of the shared Debian 10 container which would require
> us to bring in even more dependencies just bring in what is needed for
> building tricore-softmmu in GitLab. We don't even remove the container
> from the DOCKER_PARTIAL_IMAGES lest we cause more confusion.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Message-Id: <20210720114057.32053-4-alex.bennee@linaro.org>
> ---
>  .gitlab-ci.d/buildtest.yml                    | 11 ++++++
>  .../dockerfiles/debian-tricore-cross.docker   | 34 ++++++++++++++++---
>  2 files changed, 40 insertions(+), 5 deletions(-)
>

Reviewed-by: Willian Rampazzo <willianr@redhat.com>
diff mbox series

Patch

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 89df51517c..48cb45a783 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -354,6 +354,17 @@  build-some-softmmu:
     TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
     MAKE_CHECK_ARGS: check-tcg
 
+# We build tricore in a very minimal tricore only container
+build-tricore-softmmu:
+  extends: .native_build_job_template
+  needs:
+    job: tricore-debian-cross-container
+  variables:
+    IMAGE: debian-tricore-cross
+    CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
+    TARGETS: tricore-softmmu
+    MAKE_CHECK_ARGS: check-tcg
+
 clang-system:
   extends: .native_build_job_template
   needs:
diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker
index 985925134c..d8df2c6117 100644
--- a/tests/docker/dockerfiles/debian-tricore-cross.docker
+++ b/tests/docker/dockerfiles/debian-tricore-cross.docker
@@ -1,23 +1,47 @@ 
 #
 # Docker TriCore cross-compiler target
 #
-# This docker target builds on the debian Stretch base image.
+# This docker target builds on the Debian Buster base image but
+# doesn't inherit from the common one to avoid bringing in unneeded
+# dependencies.
 #
 # Copyright (c) 2018 Philippe Mathieu-Daudé
 #
 # SPDX-License-Identifier: GPL-2.0-or-later
 #
-FROM qemu/debian10
+FROM docker.io/library/debian:buster-slim
 
 MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
 
+RUN apt update && \
+    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
+    DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \
+       bzip2 \
+       ca-certificates \
+       ccache \
+       g++ \
+       gcc \
+       git \
+       libglib2.0-dev \
+       libpixman-1-dev \
+       libtest-harness-perl \
+       locales \
+       make \
+       ninja-build \
+       perl-base \
+       pkgconf \
+       python3-pip \
+       python3-setuptools \
+       python3-wheel
+
 RUN git clone --single-branch \
         https://github.com/bkoppelmann/tricore-binutils.git \
         /usr/src/binutils && \
     cd /usr/src/binutils && chmod +x missing && \
-    CFLAGS=-w ./configure --prefix=/usr --disable-nls --target=tricore && \
+    CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \
     make && make install && \
     rm -rf /usr/src/binutils
 
-# This image isn't designed for building QEMU but building tests
-ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user
+# This image can only build a very minimal QEMU as well as the tests
+ENV DEF_TARGET_LIST tricore-softmmu
+ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools --disable-fdt