aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2021-07-21 00:27:01 +0100
committerAlex Bennée <alex.bennee@linaro.org>2021-07-23 17:22:16 +0100
commit39ce92373283a3a3ff0aa2d381b87e930a9ab1a8 (patch)
tree86097ccef03dc1b85dfd087194225d2d09b27b9c
parentc56f1ee668d504af62f09e041e584e725edfa4b8 (diff)
gitlab: enable a very minimal build with the tricore container
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> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210720232703.10650-28-alex.bennee@linaro.org>
-rw-r--r--.gitlab-ci.d/buildtest.yml11
-rw-r--r--tests/docker/dockerfiles/debian-tricore-cross.docker34
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