mirror of
https://github.com/xemu-project/xemu.git
synced 2025-04-02 11:11:48 -04:00
The lcitool created containers save the full distro package list details into /packages.txt. The idea is that build jobs will 'cat' this file, so that the build log has a record of what packages were used. This is important info, because when it comes to debug failures, the original container is often lost. This extends the manually written dockerfiles to also create the /packages.txt file. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20240724095505.33544-2-berrange@redhat.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240729144414.830369-2-alex.bennee@linaro.org>
51 lines
1.6 KiB
Docker
51 lines
1.6 KiB
Docker
# Docker legacy cross-compiler target (tests and minimal qemu)
|
|
#
|
|
# Compilers for some of our older targets which we cant currently
|
|
# upgrade. Currently:
|
|
#
|
|
# libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
|
|
# sh4-linux-user: binaries don't run with bookworm compiler
|
|
#
|
|
# As we are targeting check-tcg here we only need minimal qemu
|
|
# dependencies and the relevant cross compilers.
|
|
|
|
FROM docker.io/library/debian:11-slim
|
|
|
|
# Duplicate deb line as deb-src
|
|
RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
|
|
|
|
RUN export DEBIAN_FRONTEND=noninteractive && \
|
|
apt-get update && \
|
|
apt-get install -y eatmydata && \
|
|
eatmydata apt-get dist-upgrade -y && \
|
|
apt build-dep -yy qemu
|
|
|
|
# Add extra build tools and as many cross compilers as we can for testing
|
|
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
|
apt install -y --no-install-recommends \
|
|
bison \
|
|
ccache \
|
|
clang \
|
|
flex \
|
|
git \
|
|
ninja-build \
|
|
gcc-alpha-linux-gnu \
|
|
libc6.1-dev-alpha-cross \
|
|
gcc-sh4-linux-gnu \
|
|
libc6-dev-sh4-cross \
|
|
python3-pip \
|
|
python3-setuptools \
|
|
python3-venv \
|
|
python3-wheel && \
|
|
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
|
|
|
|
RUN /usr/bin/pip3 install tomli
|
|
|
|
ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
|
|
ENV DEF_TARGET_LIST alpha-linux-user,sh4-linux-user
|
|
ENV MAKE /usr/bin/make
|
|
# 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
|