c60473d292
The mips64el cross setup is very broken for bullseye which has now entered LTS support so is unlikely to be fixed. While we still can't build the container with all packages for bookworm due to a single missing dependency that will hopefully get fixed in due course. For the sake of keeping the CI green we disable the problematic packages via the lcitool's mappings.yml file. See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1081535 Signed-off-by: Alex Bennée <alex.bennee@linaro.org> [thuth: Disable the problematic packages via lcitool's mappings.yml] Message-ID: <20241002080333.127172-1-thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
168 lines
6.6 KiB
Docker
168 lines
6.6 KiB
Docker
# THIS FILE WAS AUTO-GENERATED
|
|
#
|
|
# $ lcitool dockerfile --layers all --cross-arch mips64el debian-12 qemu
|
|
#
|
|
# https://gitlab.com/libvirt/libvirt-ci
|
|
|
|
FROM docker.io/library/debian:12-slim
|
|
|
|
RUN export DEBIAN_FRONTEND=noninteractive && \
|
|
apt-get update && \
|
|
apt-get install -y eatmydata && \
|
|
eatmydata apt-get dist-upgrade -y && \
|
|
eatmydata apt-get install --no-install-recommends -y \
|
|
bash \
|
|
bc \
|
|
bison \
|
|
bsdextrautils \
|
|
bzip2 \
|
|
ca-certificates \
|
|
ccache \
|
|
dbus \
|
|
debianutils \
|
|
diffutils \
|
|
exuberant-ctags \
|
|
findutils \
|
|
flex \
|
|
gcc \
|
|
gcovr \
|
|
gettext \
|
|
git \
|
|
hostname \
|
|
libglib2.0-dev \
|
|
libgtk-vnc-2.0-dev \
|
|
libpcre2-dev \
|
|
libsndio-dev \
|
|
libspice-protocol-dev \
|
|
llvm \
|
|
locales \
|
|
make \
|
|
meson \
|
|
mtools \
|
|
ncat \
|
|
ninja-build \
|
|
openssh-client \
|
|
pkgconf \
|
|
python3 \
|
|
python3-numpy \
|
|
python3-opencv \
|
|
python3-pillow \
|
|
python3-pip \
|
|
python3-sphinx \
|
|
python3-sphinx-rtd-theme \
|
|
python3-venv \
|
|
python3-yaml \
|
|
rpm2cpio \
|
|
sed \
|
|
socat \
|
|
sparse \
|
|
swtpm \
|
|
tar \
|
|
tesseract-ocr \
|
|
tesseract-ocr-eng \
|
|
xorriso \
|
|
zstd && \
|
|
eatmydata apt-get autoremove -y && \
|
|
eatmydata apt-get autoclean -y && \
|
|
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
|
|
dpkg-reconfigure locales && \
|
|
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
|
|
|
|
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
ENV LANG "en_US.UTF-8"
|
|
ENV MAKE "/usr/bin/make"
|
|
ENV NINJA "/usr/bin/ninja"
|
|
ENV PYTHON "/usr/bin/python3"
|
|
|
|
RUN export DEBIAN_FRONTEND=noninteractive && \
|
|
dpkg --add-architecture mips64el && \
|
|
eatmydata apt-get update && \
|
|
eatmydata apt-get dist-upgrade -y && \
|
|
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
|
|
eatmydata apt-get install --no-install-recommends -y \
|
|
gcc-mips64el-linux-gnuabi64 \
|
|
libaio-dev:mips64el \
|
|
libasound2-dev:mips64el \
|
|
libattr1-dev:mips64el \
|
|
libbpf-dev:mips64el \
|
|
libbrlapi-dev:mips64el \
|
|
libbz2-dev:mips64el \
|
|
libc6-dev:mips64el \
|
|
libcacard-dev:mips64el \
|
|
libcap-ng-dev:mips64el \
|
|
libcapstone-dev:mips64el \
|
|
libcmocka-dev:mips64el \
|
|
libcurl4-gnutls-dev:mips64el \
|
|
libdaxctl-dev:mips64el \
|
|
libfdt-dev:mips64el \
|
|
libffi-dev:mips64el \
|
|
libfuse3-dev:mips64el \
|
|
libgcrypt20-dev:mips64el \
|
|
libglib2.0-dev:mips64el \
|
|
libglusterfs-dev:mips64el \
|
|
libgnutls28-dev:mips64el \
|
|
libibverbs-dev:mips64el \
|
|
libiscsi-dev:mips64el \
|
|
libjemalloc-dev:mips64el \
|
|
libjpeg62-turbo-dev:mips64el \
|
|
libjson-c-dev:mips64el \
|
|
liblttng-ust-dev:mips64el \
|
|
liblzo2-dev:mips64el \
|
|
libncursesw5-dev:mips64el \
|
|
libnfs-dev:mips64el \
|
|
libnuma-dev:mips64el \
|
|
libpam0g-dev:mips64el \
|
|
libpipewire-0.3-dev:mips64el \
|
|
libpixman-1-dev:mips64el \
|
|
libpng-dev:mips64el \
|
|
libpulse-dev:mips64el \
|
|
librbd-dev:mips64el \
|
|
librdmacm-dev:mips64el \
|
|
libsasl2-dev:mips64el \
|
|
libseccomp-dev:mips64el \
|
|
libselinux1-dev:mips64el \
|
|
libslirp-dev:mips64el \
|
|
libsnappy-dev:mips64el \
|
|
libspice-server-dev:mips64el \
|
|
libssh-gcrypt-dev:mips64el \
|
|
libsystemd-dev:mips64el \
|
|
libtasn1-6-dev:mips64el \
|
|
libudev-dev:mips64el \
|
|
liburing-dev:mips64el \
|
|
libusb-1.0-0-dev:mips64el \
|
|
libusbredirhost-dev:mips64el \
|
|
libvdeplug-dev:mips64el \
|
|
libxdp-dev:mips64el \
|
|
libzstd-dev:mips64el \
|
|
nettle-dev:mips64el \
|
|
systemtap-sdt-dev:mips64el \
|
|
zlib1g-dev:mips64el && \
|
|
eatmydata apt-get autoremove -y && \
|
|
eatmydata apt-get autoclean -y && \
|
|
mkdir -p /usr/local/share/meson/cross && \
|
|
printf "[binaries]\n\
|
|
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
|
|
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
|
|
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
|
|
pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
|
|
\n\
|
|
[host_machine]\n\
|
|
system = 'linux'\n\
|
|
cpu_family = 'mips64'\n\
|
|
cpu = 'mips64el'\n\
|
|
endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
|
|
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
|
|
mkdir -p /usr/libexec/ccache-wrappers && \
|
|
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
|
|
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
|
|
|
|
ENV ABI "mips64el-linux-gnuabi64"
|
|
ENV MESON_OPTS "--cross-file=mips64el-linux-gnuabi64"
|
|
ENV QEMU_CONFIGURE_OPTS --cross-prefix=mips64el-linux-gnuabi64-
|
|
ENV DEF_TARGET_LIST mips64el-softmmu,mips64el-linux-user
|
|
# 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
|