1e3000245SAlex Bennée# THIS FILE WAS AUTO-GENERATED 224e0131fSAlex Bennée# 3ca9cde57SAlex Bennée# $ lcitool dockerfile --layers all --cross-arch aarch64 debian-12 qemu 424e0131fSAlex Bennée# 5e3000245SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci 624e0131fSAlex Bennée 7ca9cde57SAlex BennéeFROM docker.io/library/debian:12-slim 824e0131fSAlex Bennée 9e3000245SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \ 10e3000245SAlex Bennée apt-get update && \ 11e3000245SAlex Bennée apt-get install -y eatmydata && \ 12e3000245SAlex Bennée eatmydata apt-get dist-upgrade -y && \ 13e3000245SAlex Bennée eatmydata apt-get install --no-install-recommends -y \ 14e3000245SAlex Bennée bash \ 15e3000245SAlex Bennée bc \ 16548de8f8SDaniel P. Berrangé bindgen \ 178fae3910SAnton Johansson bison \ 18e3000245SAlex Bennée bsdextrautils \ 19e3000245SAlex Bennée bzip2 \ 20e3000245SAlex Bennée ca-certificates \ 21e3000245SAlex Bennée ccache \ 22e3000245SAlex Bennée dbus \ 23e3000245SAlex Bennée debianutils \ 24e3000245SAlex Bennée diffutils \ 25e3000245SAlex Bennée exuberant-ctags \ 26e3000245SAlex Bennée findutils \ 278fae3910SAnton Johansson flex \ 28690be804SAlex Bennée gcc \ 29e3000245SAlex Bennée gcovr \ 30e3000245SAlex Bennée gettext \ 31e3000245SAlex Bennée git \ 32e3000245SAlex Bennée hostname \ 338fae3910SAnton Johansson libglib2.0-dev \ 34e3000245SAlex Bennée llvm \ 35e3000245SAlex Bennée locales \ 36e3000245SAlex Bennée make \ 37e3000245SAlex Bennée meson \ 38da900078SAni Sinha mtools \ 39e3000245SAlex Bennée ncat \ 40e3000245SAlex Bennée ninja-build \ 41e3000245SAlex Bennée openssh-client \ 42e3000245SAlex Bennée pkgconf \ 43e3000245SAlex Bennée python3 \ 44e3000245SAlex Bennée python3-numpy \ 45e3000245SAlex Bennée python3-opencv \ 46e3000245SAlex Bennée python3-pillow \ 47e3000245SAlex Bennée python3-pip \ 48e3000245SAlex Bennée python3-sphinx \ 49e3000245SAlex Bennée python3-sphinx-rtd-theme \ 50e3000245SAlex Bennée python3-venv \ 51e3000245SAlex Bennée python3-yaml \ 52e3000245SAlex Bennée rpm2cpio \ 53548de8f8SDaniel P. Berrangé rustc \ 54e3000245SAlex Bennée sed \ 55ab4c1361SAlex Bennée socat \ 56e3000245SAlex Bennée sparse \ 573e3df0d8SAlex Bennée swtpm \ 58e3000245SAlex Bennée tar \ 59e3000245SAlex Bennée tesseract-ocr \ 60bbe30763SAlex Bennée tesseract-ocr-eng \ 61da900078SAni Sinha xorriso \ 62bbe30763SAlex Bennée zstd && \ 63e3000245SAlex Bennée eatmydata apt-get autoremove -y && \ 64e3000245SAlex Bennée eatmydata apt-get autoclean -y && \ 65e3000245SAlex Bennée sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ 662355d18cSThomas Huth dpkg-reconfigure locales && \ 672355d18cSThomas Huth rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED 68e3000245SAlex Bennée 698f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" 70e3000245SAlex BennéeENV LANG "en_US.UTF-8" 71e3000245SAlex BennéeENV MAKE "/usr/bin/make" 72e3000245SAlex BennéeENV NINJA "/usr/bin/ninja" 73e3000245SAlex BennéeENV PYTHON "/usr/bin/python3" 74e3000245SAlex Bennée 75e3000245SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \ 76e3000245SAlex Bennée dpkg --add-architecture arm64 && \ 77e3000245SAlex Bennée eatmydata apt-get update && \ 78e3000245SAlex Bennée eatmydata apt-get dist-upgrade -y && \ 79e3000245SAlex Bennée eatmydata apt-get install --no-install-recommends -y dpkg-dev && \ 80e3000245SAlex Bennée eatmydata apt-get install --no-install-recommends -y \ 81e3000245SAlex Bennée gcc-aarch64-linux-gnu \ 82e3000245SAlex Bennée libaio-dev:arm64 \ 83a6f376e9SIlya Maximets libasan6:arm64 \ 84e3000245SAlex Bennée libasound2-dev:arm64 \ 85e3000245SAlex Bennée libattr1-dev:arm64 \ 86e3000245SAlex Bennée libbpf-dev:arm64 \ 87e3000245SAlex Bennée libbrlapi-dev:arm64 \ 88e3000245SAlex Bennée libbz2-dev:arm64 \ 89e3000245SAlex Bennée libc6-dev:arm64 \ 90e3000245SAlex Bennée libcacard-dev:arm64 \ 91e3000245SAlex Bennée libcap-ng-dev:arm64 \ 92e3000245SAlex Bennée libcapstone-dev:arm64 \ 931ac32dc8SDorjoy Chowdhury libcbor-dev:arm64 \ 94feb6cb93SDaniel P. Berrangé libcmocka-dev:arm64 \ 95e3000245SAlex Bennée libcurl4-gnutls-dev:arm64 \ 96e3000245SAlex Bennée libdaxctl-dev:arm64 \ 97e3000245SAlex Bennée libdrm-dev:arm64 \ 98e3000245SAlex Bennée libepoxy-dev:arm64 \ 99e3000245SAlex Bennée libfdt-dev:arm64 \ 100e3000245SAlex Bennée libffi-dev:arm64 \ 101e3000245SAlex Bennée libfuse3-dev:arm64 \ 102e3000245SAlex Bennée libgbm-dev:arm64 \ 103e3000245SAlex Bennée libgcrypt20-dev:arm64 \ 104e3000245SAlex Bennée libglib2.0-dev:arm64 \ 105e3000245SAlex Bennée libglusterfs-dev:arm64 \ 106e3000245SAlex Bennée libgnutls28-dev:arm64 \ 107e3000245SAlex Bennée libgtk-3-dev:arm64 \ 108*7a383b99SDaniel P. Berrangé libgtk-vnc-2.0-dev:arm64 \ 109e3000245SAlex Bennée libibverbs-dev:arm64 \ 110e3000245SAlex Bennée libiscsi-dev:arm64 \ 111e3000245SAlex Bennée libjemalloc-dev:arm64 \ 112e3000245SAlex Bennée libjpeg62-turbo-dev:arm64 \ 113feb6cb93SDaniel P. Berrangé libjson-c-dev:arm64 \ 114e3000245SAlex Bennée liblttng-ust-dev:arm64 \ 115e3000245SAlex Bennée liblzo2-dev:arm64 \ 116e3000245SAlex Bennée libncursesw5-dev:arm64 \ 117e3000245SAlex Bennée libnfs-dev:arm64 \ 118e3000245SAlex Bennée libnuma-dev:arm64 \ 119e3000245SAlex Bennée libpam0g-dev:arm64 \ 120*7a383b99SDaniel P. Berrangé libpcre2-dev:arm64 \ 12162259d81SMarc-André Lureau libpipewire-0.3-dev:arm64 \ 122e3000245SAlex Bennée libpixman-1-dev:arm64 \ 123e3000245SAlex Bennée libpng-dev:arm64 \ 124e3000245SAlex Bennée libpulse-dev:arm64 \ 125e3000245SAlex Bennée librbd-dev:arm64 \ 126e3000245SAlex Bennée librdmacm-dev:arm64 \ 127e3000245SAlex Bennée libsasl2-dev:arm64 \ 128e3000245SAlex Bennée libsdl2-dev:arm64 \ 129e3000245SAlex Bennée libsdl2-image-dev:arm64 \ 130e3000245SAlex Bennée libseccomp-dev:arm64 \ 131e3000245SAlex Bennée libselinux1-dev:arm64 \ 132e3000245SAlex Bennée libslirp-dev:arm64 \ 133e3000245SAlex Bennée libsnappy-dev:arm64 \ 134*7a383b99SDaniel P. Berrangé libsndio-dev:arm64 \ 135*7a383b99SDaniel P. Berrangé libspice-protocol-dev:arm64 \ 136e3000245SAlex Bennée libspice-server-dev:arm64 \ 137e3000245SAlex Bennée libssh-gcrypt-dev:arm64 \ 138e3000245SAlex Bennée libsystemd-dev:arm64 \ 139e3000245SAlex Bennée libtasn1-6-dev:arm64 \ 140e3000245SAlex Bennée libubsan1:arm64 \ 141e3000245SAlex Bennée libudev-dev:arm64 \ 142e3000245SAlex Bennée liburing-dev:arm64 \ 143e3000245SAlex Bennée libusb-1.0-0-dev:arm64 \ 144e3000245SAlex Bennée libusbredirhost-dev:arm64 \ 145e3000245SAlex Bennée libvdeplug-dev:arm64 \ 146e3000245SAlex Bennée libvirglrenderer-dev:arm64 \ 147e3000245SAlex Bennée libvte-2.91-dev:arm64 \ 148ca9cde57SAlex Bennée libxdp-dev:arm64 \ 149e3000245SAlex Bennée libxen-dev:arm64 \ 150e3000245SAlex Bennée libzstd-dev:arm64 \ 151e3000245SAlex Bennée nettle-dev:arm64 \ 152e3000245SAlex Bennée systemtap-sdt-dev:arm64 \ 153e3000245SAlex Bennée zlib1g-dev:arm64 && \ 154e3000245SAlex Bennée eatmydata apt-get autoremove -y && \ 155e3000245SAlex Bennée eatmydata apt-get autoclean -y && \ 156e3000245SAlex Bennée mkdir -p /usr/local/share/meson/cross && \ 157dacc122eSPeter Krempa printf "[binaries]\n\ 158e3000245SAlex Bennéec = '/usr/bin/aarch64-linux-gnu-gcc'\n\ 159e3000245SAlex Bennéear = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\ 160e3000245SAlex Bennéestrip = '/usr/bin/aarch64-linux-gnu-strip'\n\ 161e3000245SAlex Bennéepkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\ 162e3000245SAlex Bennée\n\ 163e3000245SAlex Bennée[host_machine]\n\ 164e3000245SAlex Bennéesystem = 'linux'\n\ 165e3000245SAlex Bennéecpu_family = 'aarch64'\n\ 166e3000245SAlex Bennéecpu = 'aarch64'\n\ 167dacc122eSPeter Krempaendian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu && \ 168e3000245SAlex Bennée dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ 169e3000245SAlex Bennée mkdir -p /usr/libexec/ccache-wrappers && \ 170e3000245SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \ 171e3000245SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc 172e3000245SAlex Bennée 173e3000245SAlex BennéeENV ABI "aarch64-linux-gnu" 174e3000245SAlex BennéeENV MESON_OPTS "--cross-file=aarch64-linux-gnu" 175548de8f8SDaniel P. BerrangéENV RUST_TARGET "aarch64-unknown-linux-gnu" 17624e0131fSAlex BennéeENV QEMU_CONFIGURE_OPTS --cross-prefix=aarch64-linux-gnu- 17709bb808fSAlex BennéeENV DEF_TARGET_LIST aarch64-softmmu,aarch64-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