| # THIS FILE WAS AUTO-GENERATED | |
| # | |
| # $ lcitool dockerfile --layers all --cross-arch x86_64 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 \ | |
| bindgen \ | |
| bison \ | |
| bsdextrautils \ | |
| bzip2 \ | |
| ca-certificates \ | |
| ccache \ | |
| dbus \ | |
| debianutils \ | |
| diffutils \ | |
| exuberant-ctags \ | |
| findutils \ | |
| flex \ | |
| gcc \ | |
| gcovr \ | |
| gettext \ | |
| git \ | |
| hostname \ | |
| libglib2.0-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 \ | |
| rustc \ | |
| sed \ | |
| socat \ | |
| sparse \ | |
| swtpm \ | |
| tar \ | |
| tesseract-ocr \ | |
| tesseract-ocr-eng \ | |
| vulkan-tools \ | |
| 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 amd64 && \ | |
| 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-x86-64-linux-gnu \ | |
| libaio-dev:amd64 \ | |
| libasan6:amd64 \ | |
| libasound2-dev:amd64 \ | |
| libattr1-dev:amd64 \ | |
| libbpf-dev:amd64 \ | |
| libbrlapi-dev:amd64 \ | |
| libbz2-dev:amd64 \ | |
| libc6-dev:amd64 \ | |
| libcacard-dev:amd64 \ | |
| libcap-ng-dev:amd64 \ | |
| libcapstone-dev:amd64 \ | |
| libcbor-dev:amd64 \ | |
| libcmocka-dev:amd64 \ | |
| libcurl4-gnutls-dev:amd64 \ | |
| libdaxctl-dev:amd64 \ | |
| libdrm-dev:amd64 \ | |
| libepoxy-dev:amd64 \ | |
| libfdt-dev:amd64 \ | |
| libffi-dev:amd64 \ | |
| libfuse3-dev:amd64 \ | |
| libgbm-dev:amd64 \ | |
| libgcrypt20-dev:amd64 \ | |
| libglib2.0-dev:amd64 \ | |
| libglusterfs-dev:amd64 \ | |
| libgnutls28-dev:amd64 \ | |
| libgtk-3-dev:amd64 \ | |
| libgtk-vnc-2.0-dev:amd64 \ | |
| libibverbs-dev:amd64 \ | |
| libiscsi-dev:amd64 \ | |
| libjemalloc-dev:amd64 \ | |
| libjpeg62-turbo-dev:amd64 \ | |
| libjson-c-dev:amd64 \ | |
| liblttng-ust-dev:amd64 \ | |
| liblzo2-dev:amd64 \ | |
| libncursesw5-dev:amd64 \ | |
| libnfs-dev:amd64 \ | |
| libnuma-dev:amd64 \ | |
| libpam0g-dev:amd64 \ | |
| libpcre2-dev:amd64 \ | |
| libpipewire-0.3-dev:amd64 \ | |
| libpixman-1-dev:amd64 \ | |
| libpmem-dev:amd64 \ | |
| libpng-dev:amd64 \ | |
| libpulse-dev:amd64 \ | |
| librbd-dev:amd64 \ | |
| librdmacm-dev:amd64 \ | |
| libsasl2-dev:amd64 \ | |
| libsdl2-dev:amd64 \ | |
| libsdl2-image-dev:amd64 \ | |
| libseccomp-dev:amd64 \ | |
| libselinux1-dev:amd64 \ | |
| libslirp-dev:amd64 \ | |
| libsnappy-dev:amd64 \ | |
| libsndio-dev:amd64 \ | |
| libspice-protocol-dev:amd64 \ | |
| libspice-server-dev:amd64 \ | |
| libssh-dev:amd64 \ | |
| libsystemd-dev:amd64 \ | |
| libtasn1-6-dev:amd64 \ | |
| libubsan1:amd64 \ | |
| libudev-dev:amd64 \ | |
| liburing-dev:amd64 \ | |
| libusb-1.0-0-dev:amd64 \ | |
| libusbredirhost-dev:amd64 \ | |
| libvdeplug-dev:amd64 \ | |
| libvirglrenderer-dev:amd64 \ | |
| libvte-2.91-dev:amd64 \ | |
| libxdp-dev:amd64 \ | |
| libxen-dev:amd64 \ | |
| libzstd-dev:amd64 \ | |
| nettle-dev:amd64 \ | |
| systemtap-sdt-dev:amd64 \ | |
| zlib1g-dev:amd64 && \ | |
| eatmydata apt-get autoremove -y && \ | |
| eatmydata apt-get autoclean -y && \ | |
| mkdir -p /usr/local/share/meson/cross && \ | |
| printf "[binaries]\n\ | |
| c = '/usr/bin/x86_64-linux-gnu-gcc'\n\ | |
| ar = '/usr/bin/x86_64-linux-gnu-gcc-ar'\n\ | |
| strip = '/usr/bin/x86_64-linux-gnu-strip'\n\ | |
| pkgconfig = '/usr/bin/x86_64-linux-gnu-pkg-config'\n\ | |
| \n\ | |
| [host_machine]\n\ | |
| system = 'linux'\n\ | |
| cpu_family = 'x86_64'\n\ | |
| cpu = 'x86_64'\n\ | |
| endian = 'little'\n" > /usr/local/share/meson/cross/x86_64-linux-gnu && \ | |
| 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/x86_64-linux-gnu-cc && \ | |
| ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-gcc | |
| ENV ABI "x86_64-linux-gnu" | |
| ENV MESON_OPTS "--cross-file=x86_64-linux-gnu" | |
| ENV RUST_TARGET "x86_64-unknown-linux-gnu" | |
| ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-linux-gnu- | |
| ENV DEF_TARGET_LIST x86_64-softmmu,x86_64-linux-user,i386-softmmu,i386-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 |