a22a4b29ad
Several debian-based tests need the python3-venv dependency as a consequence of Debian debundling the "ensurepip" module normally included with Python. As mkvenv.py stands as of this commit, Debian requires EITHER: (A) setuptools and pip, or (B) ensurepip mkvenv is a few seconds faster if you have setuptools and pip, so developers should prefer the first requirement. For the purposes of CI, the time-save is a wash; it's only a matter of who is responsible for installing pip and when; the timing is about the same. Arbitrarily, I chose adding ensurepip to the test configuration because it is normally part of the Python stdlib, and always having it allows us a more consistent cross-platform environment. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20230511035435.734312-12-jsnow@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
50 lines
1.3 KiB
Docker
50 lines
1.3 KiB
Docker
#
|
|
# Docker TriCore cross-compiler target
|
|
#
|
|
# 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 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 \
|
|
bison \
|
|
bzip2 \
|
|
ca-certificates \
|
|
ccache \
|
|
curl \
|
|
flex \
|
|
g++ \
|
|
gcc \
|
|
git \
|
|
libglib2.0-dev \
|
|
libpixman-1-dev \
|
|
locales \
|
|
make \
|
|
ninja-build \
|
|
pkgconf \
|
|
python3-pip \
|
|
python3-setuptools \
|
|
python3-wheel \
|
|
python3-venv
|
|
|
|
RUN curl -#SL https://github.com/bkoppelmann/package_940/releases/download/tricore-toolchain-9.40/tricore-toolchain-9.4.0.tar.gz \
|
|
| tar -xzC /usr/local/
|
|
|
|
# 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
|
|
# As a final step configure the user (if env is defined)
|
|
ARG USER
|
|
ARG UID
|
|
RUN if [ "${USER}" ]; then \
|
|
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|