194806241SAlex Bennée# THIS FILE WAS AUTO-GENERATED
231e205d1SPhilippe Mathieu-Daudé#
3dcb8541bSPaolo Bonzini#  $ lcitool dockerfile --layers all --cross-arch armv6l debian-11 qemu
431e205d1SPhilippe Mathieu-Daudé#
594806241SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci
631e205d1SPhilippe Mathieu-Daudé
794806241SAlex BennéeFROM docker.io/library/debian:11-slim
831e205d1SPhilippe Mathieu-Daudé
994806241SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
1094806241SAlex Bennée    apt-get update && \
1194806241SAlex Bennée    apt-get install -y eatmydata && \
1294806241SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
1394806241SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
1494806241SAlex Bennée                      bash \
1594806241SAlex Bennée                      bc \
168fae3910SAnton Johansson                      bison \
1794806241SAlex Bennée                      bsdextrautils \
1894806241SAlex Bennée                      bzip2 \
1994806241SAlex Bennée                      ca-certificates \
2094806241SAlex Bennée                      ccache \
2194806241SAlex Bennée                      dbus \
2294806241SAlex Bennée                      debianutils \
2394806241SAlex Bennée                      diffutils \
2494806241SAlex Bennée                      exuberant-ctags \
2594806241SAlex Bennée                      findutils \
268fae3910SAnton Johansson                      flex \
27690be804SAlex Bennée                      gcc \
2894806241SAlex Bennée                      gcovr \
2994806241SAlex Bennée                      gettext \
3094806241SAlex Bennée                      git \
3194806241SAlex Bennée                      hostname \
328fae3910SAnton Johansson                      libglib2.0-dev \
3394806241SAlex Bennée                      libpcre2-dev \
348f4bcbcfSBrad Smith                      libsndio-dev \
3594806241SAlex Bennée                      libspice-protocol-dev \
3694806241SAlex Bennée                      llvm \
3794806241SAlex Bennée                      locales \
3894806241SAlex Bennée                      make \
3994806241SAlex Bennée                      meson \
40da900078SAni Sinha                      mtools \
4194806241SAlex Bennée                      ncat \
4294806241SAlex Bennée                      ninja-build \
4394806241SAlex Bennée                      openssh-client \
4494806241SAlex Bennée                      pkgconf \
4594806241SAlex Bennée                      python3 \
4694806241SAlex Bennée                      python3-numpy \
4794806241SAlex Bennée                      python3-opencv \
4894806241SAlex Bennée                      python3-pillow \
4994806241SAlex Bennée                      python3-pip \
507ace2193SPaolo Bonzini                      python3-setuptools \
5194806241SAlex Bennée                      python3-sphinx \
5294806241SAlex Bennée                      python3-sphinx-rtd-theme \
5394806241SAlex Bennée                      python3-venv \
547ace2193SPaolo Bonzini                      python3-wheel \
5594806241SAlex Bennée                      python3-yaml \
5694806241SAlex Bennée                      rpm2cpio \
5794806241SAlex Bennée                      sed \
58ab4c1361SAlex Bennée                      socat \
5994806241SAlex Bennée                      sparse \
6094806241SAlex Bennée                      tar \
6194806241SAlex Bennée                      tesseract-ocr \
62bbe30763SAlex Bennée                      tesseract-ocr-eng \
63da900078SAni Sinha                      xorriso \
64bbe30763SAlex Bennée                      zstd && \
6594806241SAlex Bennée    eatmydata apt-get autoremove -y && \
6694806241SAlex Bennée    eatmydata apt-get autoclean -y && \
6794806241SAlex Bennée    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
6894806241SAlex Bennée    dpkg-reconfigure locales
6994806241SAlex Bennée
707ace2193SPaolo BonziniRUN /usr/bin/pip3 install tomli
717ace2193SPaolo Bonzini
728f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
7394806241SAlex BennéeENV LANG "en_US.UTF-8"
7494806241SAlex BennéeENV MAKE "/usr/bin/make"
7594806241SAlex BennéeENV NINJA "/usr/bin/ninja"
7694806241SAlex BennéeENV PYTHON "/usr/bin/python3"
7794806241SAlex Bennée
7894806241SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
7994806241SAlex Bennée    dpkg --add-architecture armel && \
8094806241SAlex Bennée    eatmydata apt-get update && \
8194806241SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
8294806241SAlex Bennée    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
8394806241SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
8494806241SAlex Bennée                      g++-arm-linux-gnueabi \
8594806241SAlex Bennée                      gcc-arm-linux-gnueabi \
8694806241SAlex Bennée                      libaio-dev:armel \
87*a6f376e9SIlya Maximets                      libasan6:armel \
8894806241SAlex Bennée                      libasound2-dev:armel \
8994806241SAlex Bennée                      libattr1-dev:armel \
9094806241SAlex Bennée                      libbpf-dev:armel \
9194806241SAlex Bennée                      libbrlapi-dev:armel \
9294806241SAlex Bennée                      libbz2-dev:armel \
9394806241SAlex Bennée                      libc6-dev:armel \
9494806241SAlex Bennée                      libcacard-dev:armel \
9594806241SAlex Bennée                      libcap-ng-dev:armel \
9694806241SAlex Bennée                      libcapstone-dev:armel \
97feb6cb93SDaniel P. Berrangé                      libcmocka-dev:armel \
9894806241SAlex Bennée                      libcurl4-gnutls-dev:armel \
9994806241SAlex Bennée                      libdaxctl-dev:armel \
10094806241SAlex Bennée                      libdrm-dev:armel \
10194806241SAlex Bennée                      libepoxy-dev:armel \
10294806241SAlex Bennée                      libfdt-dev:armel \
10394806241SAlex Bennée                      libffi-dev:armel \
10494806241SAlex Bennée                      libfuse3-dev:armel \
10594806241SAlex Bennée                      libgbm-dev:armel \
10694806241SAlex Bennée                      libgcrypt20-dev:armel \
10794806241SAlex Bennée                      libglib2.0-dev:armel \
10894806241SAlex Bennée                      libglusterfs-dev:armel \
10994806241SAlex Bennée                      libgnutls28-dev:armel \
11094806241SAlex Bennée                      libgtk-3-dev:armel \
11194806241SAlex Bennée                      libibumad-dev:armel \
11294806241SAlex Bennée                      libibverbs-dev:armel \
11394806241SAlex Bennée                      libiscsi-dev:armel \
11494806241SAlex Bennée                      libjemalloc-dev:armel \
11594806241SAlex Bennée                      libjpeg62-turbo-dev:armel \
116feb6cb93SDaniel P. Berrangé                      libjson-c-dev:armel \
11794806241SAlex Bennée                      liblttng-ust-dev:armel \
11894806241SAlex Bennée                      liblzo2-dev:armel \
11994806241SAlex Bennée                      libncursesw5-dev:armel \
12094806241SAlex Bennée                      libnfs-dev:armel \
12194806241SAlex Bennée                      libnuma-dev:armel \
12294806241SAlex Bennée                      libpam0g-dev:armel \
12362259d81SMarc-André Lureau                      libpipewire-0.3-dev:armel \
12494806241SAlex Bennée                      libpixman-1-dev:armel \
12594806241SAlex Bennée                      libpng-dev:armel \
12694806241SAlex Bennée                      libpulse-dev:armel \
12794806241SAlex Bennée                      librbd-dev:armel \
12894806241SAlex Bennée                      librdmacm-dev:armel \
12994806241SAlex Bennée                      libsasl2-dev:armel \
13094806241SAlex Bennée                      libsdl2-dev:armel \
13194806241SAlex Bennée                      libsdl2-image-dev:armel \
13294806241SAlex Bennée                      libseccomp-dev:armel \
13394806241SAlex Bennée                      libselinux1-dev:armel \
13494806241SAlex Bennée                      libslirp-dev:armel \
13594806241SAlex Bennée                      libsnappy-dev:armel \
13694806241SAlex Bennée                      libspice-server-dev:armel \
13794806241SAlex Bennée                      libssh-gcrypt-dev:armel \
13894806241SAlex Bennée                      libsystemd-dev:armel \
13994806241SAlex Bennée                      libtasn1-6-dev:armel \
14094806241SAlex Bennée                      libubsan1:armel \
14194806241SAlex Bennée                      libudev-dev:armel \
14294806241SAlex Bennée                      liburing-dev:armel \
14394806241SAlex Bennée                      libusb-1.0-0-dev:armel \
14494806241SAlex Bennée                      libusbredirhost-dev:armel \
14594806241SAlex Bennée                      libvdeplug-dev:armel \
14694806241SAlex Bennée                      libvirglrenderer-dev:armel \
14794806241SAlex Bennée                      libvte-2.91-dev:armel \
14894806241SAlex Bennée                      libzstd-dev:armel \
14994806241SAlex Bennée                      nettle-dev:armel \
15094806241SAlex Bennée                      systemtap-sdt-dev:armel \
15194806241SAlex Bennée                      xfslibs-dev:armel \
15294806241SAlex Bennée                      zlib1g-dev:armel && \
15394806241SAlex Bennée    eatmydata apt-get autoremove -y && \
15494806241SAlex Bennée    eatmydata apt-get autoclean -y && \
15594806241SAlex Bennée    mkdir -p /usr/local/share/meson/cross && \
156dacc122eSPeter Krempa    printf "[binaries]\n\
15794806241SAlex Bennéec = '/usr/bin/arm-linux-gnueabi-gcc'\n\
15894806241SAlex Bennéear = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
15994806241SAlex Bennéestrip = '/usr/bin/arm-linux-gnueabi-strip'\n\
16094806241SAlex Bennéepkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
16194806241SAlex Bennée\n\
16294806241SAlex Bennée[host_machine]\n\
16394806241SAlex Bennéesystem = 'linux'\n\
16494806241SAlex Bennéecpu_family = 'arm'\n\
16594806241SAlex Bennéecpu = 'arm'\n\
166dacc122eSPeter Krempaendian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
16794806241SAlex Bennée    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
16894806241SAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
16994806241SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-c++ && \
17094806241SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
17194806241SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-g++ && \
17294806241SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc
17394806241SAlex Bennée
17494806241SAlex BennéeENV ABI "arm-linux-gnueabi"
17594806241SAlex BennéeENV MESON_OPTS "--cross-file=arm-linux-gnueabi"
17631e205d1SPhilippe Mathieu-DaudéENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabi-
17709bb808fSAlex BennéeENV DEF_TARGET_LIST arm-softmmu,arm-linux-user,armeb-linux-user
1785b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1795b8bcf6bSAlex BennéeARG USER
1805b8bcf6bSAlex BennéeARG UID
1815b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1825b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
183