118ad049dSAlex Bennée# THIS FILE WAS AUTO-GENERATED
224e0131fSAlex Bennée#
3ca9cde57SAlex Bennée#  $ lcitool dockerfile --layers all --cross-arch armv7l debian-12 qemu
424e0131fSAlex Bennée#
518ad049dSAlex Bennée# https://gitlab.com/libvirt/libvirt-ci
624e0131fSAlex Bennée
7ca9cde57SAlex BennéeFROM docker.io/library/debian:12-slim
824e0131fSAlex Bennée
918ad049dSAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
1018ad049dSAlex Bennée    apt-get update && \
1118ad049dSAlex Bennée    apt-get install -y eatmydata && \
1218ad049dSAlex Bennée    eatmydata apt-get dist-upgrade -y && \
1318ad049dSAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
1418ad049dSAlex Bennée                      bash \
1518ad049dSAlex Bennée                      bc \
168fae3910SAnton Johansson                      bison \
1718ad049dSAlex Bennée                      bsdextrautils \
1818ad049dSAlex Bennée                      bzip2 \
1918ad049dSAlex Bennée                      ca-certificates \
2018ad049dSAlex Bennée                      ccache \
2118ad049dSAlex Bennée                      dbus \
2218ad049dSAlex Bennée                      debianutils \
2318ad049dSAlex Bennée                      diffutils \
2418ad049dSAlex Bennée                      exuberant-ctags \
2518ad049dSAlex Bennée                      findutils \
268fae3910SAnton Johansson                      flex \
27690be804SAlex Bennée                      gcc \
2818ad049dSAlex Bennée                      gcovr \
2918ad049dSAlex Bennée                      gettext \
3018ad049dSAlex Bennée                      git \
3118ad049dSAlex Bennée                      hostname \
328fae3910SAnton Johansson                      libglib2.0-dev \
3318ad049dSAlex Bennée                      libpcre2-dev \
348f4bcbcfSBrad Smith                      libsndio-dev \
3518ad049dSAlex Bennée                      libspice-protocol-dev \
3618ad049dSAlex Bennée                      llvm \
3718ad049dSAlex Bennée                      locales \
3818ad049dSAlex Bennée                      make \
3918ad049dSAlex Bennée                      meson \
40da900078SAni Sinha                      mtools \
4118ad049dSAlex Bennée                      ncat \
4218ad049dSAlex Bennée                      ninja-build \
4318ad049dSAlex Bennée                      openssh-client \
4418ad049dSAlex Bennée                      pkgconf \
4518ad049dSAlex Bennée                      python3 \
4618ad049dSAlex Bennée                      python3-numpy \
4718ad049dSAlex Bennée                      python3-opencv \
4818ad049dSAlex Bennée                      python3-pillow \
4918ad049dSAlex Bennée                      python3-pip \
5018ad049dSAlex Bennée                      python3-sphinx \
5118ad049dSAlex Bennée                      python3-sphinx-rtd-theme \
5218ad049dSAlex Bennée                      python3-venv \
5318ad049dSAlex Bennée                      python3-yaml \
5418ad049dSAlex Bennée                      rpm2cpio \
5518ad049dSAlex Bennée                      sed \
56ab4c1361SAlex Bennée                      socat \
5718ad049dSAlex Bennée                      sparse \
58*3e3df0d8SAlex Bennée                      swtpm \
5918ad049dSAlex Bennée                      tar \
6018ad049dSAlex Bennée                      tesseract-ocr \
61bbe30763SAlex Bennée                      tesseract-ocr-eng \
62da900078SAni Sinha                      xorriso \
63bbe30763SAlex Bennée                      zstd && \
6418ad049dSAlex Bennée    eatmydata apt-get autoremove -y && \
6518ad049dSAlex Bennée    eatmydata apt-get autoclean -y && \
6618ad049dSAlex Bennée    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
6718ad049dSAlex Bennée    dpkg-reconfigure locales
6832809e7fSPhilippe Mathieu-Daudé
698f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
7018ad049dSAlex BennéeENV LANG "en_US.UTF-8"
7118ad049dSAlex BennéeENV MAKE "/usr/bin/make"
7218ad049dSAlex BennéeENV NINJA "/usr/bin/ninja"
7318ad049dSAlex BennéeENV PYTHON "/usr/bin/python3"
7418ad049dSAlex Bennée
7518ad049dSAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
7618ad049dSAlex Bennée    dpkg --add-architecture armhf && \
7718ad049dSAlex Bennée    eatmydata apt-get update && \
7818ad049dSAlex Bennée    eatmydata apt-get dist-upgrade -y && \
7918ad049dSAlex Bennée    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
8018ad049dSAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
8118ad049dSAlex Bennée                      g++-arm-linux-gnueabihf \
8218ad049dSAlex Bennée                      gcc-arm-linux-gnueabihf \
8318ad049dSAlex Bennée                      libaio-dev:armhf \
84a6f376e9SIlya Maximets                      libasan6:armhf \
8518ad049dSAlex Bennée                      libasound2-dev:armhf \
8618ad049dSAlex Bennée                      libattr1-dev:armhf \
8718ad049dSAlex Bennée                      libbpf-dev:armhf \
8818ad049dSAlex Bennée                      libbrlapi-dev:armhf \
8932809e7fSPhilippe Mathieu-Daudé                      libbz2-dev:armhf \
9018ad049dSAlex Bennée                      libc6-dev:armhf \
9118ad049dSAlex Bennée                      libcacard-dev:armhf \
9218ad049dSAlex Bennée                      libcap-ng-dev:armhf \
9318ad049dSAlex Bennée                      libcapstone-dev:armhf \
94feb6cb93SDaniel P. Berrangé                      libcmocka-dev:armhf \
9518ad049dSAlex Bennée                      libcurl4-gnutls-dev:armhf \
9618ad049dSAlex Bennée                      libdaxctl-dev:armhf \
9718ad049dSAlex Bennée                      libdrm-dev:armhf \
9818ad049dSAlex Bennée                      libepoxy-dev:armhf \
9918ad049dSAlex Bennée                      libfdt-dev:armhf \
10018ad049dSAlex Bennée                      libffi-dev:armhf \
10118ad049dSAlex Bennée                      libfuse3-dev:armhf \
10218ad049dSAlex Bennée                      libgbm-dev:armhf \
10318ad049dSAlex Bennée                      libgcrypt20-dev:armhf \
10418ad049dSAlex Bennée                      libglib2.0-dev:armhf \
10518ad049dSAlex Bennée                      libglusterfs-dev:armhf \
10618ad049dSAlex Bennée                      libgnutls28-dev:armhf \
10718ad049dSAlex Bennée                      libgtk-3-dev:armhf \
10818ad049dSAlex Bennée                      libibumad-dev:armhf \
10918ad049dSAlex Bennée                      libibverbs-dev:armhf \
11018ad049dSAlex Bennée                      libiscsi-dev:armhf \
11118ad049dSAlex Bennée                      libjemalloc-dev:armhf \
11218ad049dSAlex Bennée                      libjpeg62-turbo-dev:armhf \
113feb6cb93SDaniel P. Berrangé                      libjson-c-dev:armhf \
11418ad049dSAlex Bennée                      liblttng-ust-dev:armhf \
11532809e7fSPhilippe Mathieu-Daudé                      liblzo2-dev:armhf \
11618ad049dSAlex Bennée                      libncursesw5-dev:armhf \
11718ad049dSAlex Bennée                      libnfs-dev:armhf \
11818ad049dSAlex Bennée                      libnuma-dev:armhf \
11918ad049dSAlex Bennée                      libpam0g-dev:armhf \
12062259d81SMarc-André Lureau                      libpipewire-0.3-dev:armhf \
12118ad049dSAlex Bennée                      libpixman-1-dev:armhf \
12218ad049dSAlex Bennée                      libpng-dev:armhf \
12318ad049dSAlex Bennée                      libpulse-dev:armhf \
12418ad049dSAlex Bennée                      librbd-dev:armhf \
12532809e7fSPhilippe Mathieu-Daudé                      librdmacm-dev:armhf \
12618ad049dSAlex Bennée                      libsasl2-dev:armhf \
12718ad049dSAlex Bennée                      libsdl2-dev:armhf \
12818ad049dSAlex Bennée                      libsdl2-image-dev:armhf \
12918ad049dSAlex Bennée                      libseccomp-dev:armhf \
13018ad049dSAlex Bennée                      libselinux1-dev:armhf \
13118ad049dSAlex Bennée                      libslirp-dev:armhf \
13232809e7fSPhilippe Mathieu-Daudé                      libsnappy-dev:armhf \
13318ad049dSAlex Bennée                      libspice-server-dev:armhf \
13418ad049dSAlex Bennée                      libssh-gcrypt-dev:armhf \
13518ad049dSAlex Bennée                      libsystemd-dev:armhf \
13618ad049dSAlex Bennée                      libtasn1-6-dev:armhf \
13718ad049dSAlex Bennée                      libubsan1:armhf \
13818ad049dSAlex Bennée                      libudev-dev:armhf \
13918ad049dSAlex Bennée                      liburing-dev:armhf \
14018ad049dSAlex Bennée                      libusb-1.0-0-dev:armhf \
14118ad049dSAlex Bennée                      libusbredirhost-dev:armhf \
14218ad049dSAlex Bennée                      libvdeplug-dev:armhf \
14318ad049dSAlex Bennée                      libvirglrenderer-dev:armhf \
14418ad049dSAlex Bennée                      libvte-2.91-dev:armhf \
145ca9cde57SAlex Bennée                      libxdp-dev:armhf \
14618ad049dSAlex Bennée                      libxen-dev:armhf \
14718ad049dSAlex Bennée                      libzstd-dev:armhf \
14818ad049dSAlex Bennée                      nettle-dev:armhf \
14918ad049dSAlex Bennée                      systemtap-sdt-dev:armhf \
15018ad049dSAlex Bennée                      xfslibs-dev:armhf \
15118ad049dSAlex Bennée                      zlib1g-dev:armhf && \
15218ad049dSAlex Bennée    eatmydata apt-get autoremove -y && \
15318ad049dSAlex Bennée    eatmydata apt-get autoclean -y && \
15418ad049dSAlex Bennée    mkdir -p /usr/local/share/meson/cross && \
155dacc122eSPeter Krempa    printf "[binaries]\n\
15618ad049dSAlex Bennéec = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
15718ad049dSAlex Bennéear = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
15818ad049dSAlex Bennéestrip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
15918ad049dSAlex Bennéepkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
16018ad049dSAlex Bennée\n\
16118ad049dSAlex Bennée[host_machine]\n\
16218ad049dSAlex Bennéesystem = 'linux'\n\
16318ad049dSAlex Bennéecpu_family = 'arm'\n\
16418ad049dSAlex Bennéecpu = 'armhf'\n\
165dacc122eSPeter Krempaendian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
16618ad049dSAlex Bennée    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
16718ad049dSAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
16818ad049dSAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-c++ && \
16918ad049dSAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
17018ad049dSAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-g++ && \
17118ad049dSAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
17218ad049dSAlex Bennée
17318ad049dSAlex BennéeENV ABI "arm-linux-gnueabihf"
17418ad049dSAlex BennéeENV MESON_OPTS "--cross-file=arm-linux-gnueabihf"
17518ad049dSAlex BennéeENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabihf-
17618ad049dSAlex BennéeENV DEF_TARGET_LIST arm-softmmu,arm-linux-user
1775b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1785b8bcf6bSAlex BennéeARG USER
1795b8bcf6bSAlex BennéeARG UID
1805b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1815b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
182