18105ca85SPaolo Bonzini# THIS FILE WAS AUTO-GENERATED 28105ca85SPaolo Bonzini# 38105ca85SPaolo Bonzini# $ lcitool dockerfile --layers all fedora-40 qemu 48105ca85SPaolo Bonzini# 58105ca85SPaolo Bonzini# https://gitlab.com/libvirt/libvirt-ci 68105ca85SPaolo Bonzini 78105ca85SPaolo BonziniFROM registry.fedoraproject.org/fedora:40 88105ca85SPaolo Bonzini 98105ca85SPaolo BonziniRUN dnf install -y nosync && \ 108105ca85SPaolo Bonzini printf '#!/bin/sh\n\ 118105ca85SPaolo Bonziniif test -d /usr/lib64\n\ 128105ca85SPaolo Bonzinithen\n\ 138105ca85SPaolo Bonzini export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\ 148105ca85SPaolo Bonzinielse\n\ 158105ca85SPaolo Bonzini export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\ 168105ca85SPaolo Bonzinifi\n\ 178105ca85SPaolo Bonziniexec "$@"\n' > /usr/bin/nosync && \ 188105ca85SPaolo Bonzini chmod +x /usr/bin/nosync && \ 198105ca85SPaolo Bonzini nosync dnf update -y && \ 208105ca85SPaolo Bonzini nosync dnf install -y \ 218105ca85SPaolo Bonzini SDL2-devel \ 228105ca85SPaolo Bonzini SDL2_image-devel \ 238105ca85SPaolo Bonzini alsa-lib-devel \ 248105ca85SPaolo Bonzini bash \ 258105ca85SPaolo Bonzini bc \ 26548de8f8SDaniel P. Berrangé bindgen-cli \ 278105ca85SPaolo Bonzini bison \ 288105ca85SPaolo Bonzini brlapi-devel \ 298105ca85SPaolo Bonzini bzip2 \ 308105ca85SPaolo Bonzini bzip2-devel \ 318105ca85SPaolo Bonzini ca-certificates \ 328105ca85SPaolo Bonzini capstone-devel \ 338105ca85SPaolo Bonzini ccache \ 348105ca85SPaolo Bonzini clang \ 358105ca85SPaolo Bonzini ctags \ 368105ca85SPaolo Bonzini cyrus-sasl-devel \ 378105ca85SPaolo Bonzini daxctl-devel \ 388105ca85SPaolo Bonzini dbus-daemon \ 398105ca85SPaolo Bonzini device-mapper-multipath-devel \ 408105ca85SPaolo Bonzini diffutils \ 418105ca85SPaolo Bonzini findutils \ 428105ca85SPaolo Bonzini flex \ 438105ca85SPaolo Bonzini fuse3-devel \ 448105ca85SPaolo Bonzini gcc \ 458105ca85SPaolo Bonzini gcovr \ 468105ca85SPaolo Bonzini gettext \ 478105ca85SPaolo Bonzini git \ 488105ca85SPaolo Bonzini glib2-devel \ 498105ca85SPaolo Bonzini glib2-static \ 508105ca85SPaolo Bonzini glibc-langpack-en \ 518105ca85SPaolo Bonzini glibc-static \ 528105ca85SPaolo Bonzini glusterfs-api-devel \ 538105ca85SPaolo Bonzini gnutls-devel \ 548105ca85SPaolo Bonzini gtk-vnc2-devel \ 558105ca85SPaolo Bonzini gtk3-devel \ 568105ca85SPaolo Bonzini hostname \ 578105ca85SPaolo Bonzini jemalloc-devel \ 588105ca85SPaolo Bonzini json-c-devel \ 598105ca85SPaolo Bonzini libaio-devel \ 608105ca85SPaolo Bonzini libasan \ 618105ca85SPaolo Bonzini libattr-devel \ 628105ca85SPaolo Bonzini libbpf-devel \ 638105ca85SPaolo Bonzini libcacard-devel \ 648105ca85SPaolo Bonzini libcap-ng-devel \ 65*1ac32dc8SDorjoy Chowdhury libcbor-devel \ 668105ca85SPaolo Bonzini libcmocka-devel \ 678105ca85SPaolo Bonzini libcurl-devel \ 688105ca85SPaolo Bonzini libdrm-devel \ 698105ca85SPaolo Bonzini libepoxy-devel \ 708105ca85SPaolo Bonzini libfdt-devel \ 718105ca85SPaolo Bonzini libffi-devel \ 728105ca85SPaolo Bonzini libgcrypt-devel \ 738105ca85SPaolo Bonzini libiscsi-devel \ 748105ca85SPaolo Bonzini libjpeg-devel \ 758105ca85SPaolo Bonzini libnfs-devel \ 768105ca85SPaolo Bonzini libpmem-devel \ 778105ca85SPaolo Bonzini libpng-devel \ 788105ca85SPaolo Bonzini librbd-devel \ 798105ca85SPaolo Bonzini libseccomp-devel \ 808105ca85SPaolo Bonzini libselinux-devel \ 818105ca85SPaolo Bonzini libslirp-devel \ 828105ca85SPaolo Bonzini libssh-devel \ 838105ca85SPaolo Bonzini libtasn1-devel \ 848105ca85SPaolo Bonzini libubsan \ 858105ca85SPaolo Bonzini liburing-devel \ 868105ca85SPaolo Bonzini libusbx-devel \ 878105ca85SPaolo Bonzini libxdp-devel \ 888105ca85SPaolo Bonzini libzstd-devel \ 898105ca85SPaolo Bonzini llvm \ 908105ca85SPaolo Bonzini lttng-ust-devel \ 918105ca85SPaolo Bonzini lzo-devel \ 928105ca85SPaolo Bonzini make \ 938105ca85SPaolo Bonzini mesa-libgbm-devel \ 948105ca85SPaolo Bonzini meson \ 958105ca85SPaolo Bonzini mtools \ 968105ca85SPaolo Bonzini ncurses-devel \ 978105ca85SPaolo Bonzini nettle-devel \ 988105ca85SPaolo Bonzini ninja-build \ 998105ca85SPaolo Bonzini nmap-ncat \ 1008105ca85SPaolo Bonzini numactl-devel \ 1018105ca85SPaolo Bonzini openssh-clients \ 1028105ca85SPaolo Bonzini pam-devel \ 1038105ca85SPaolo Bonzini pcre-static \ 1048105ca85SPaolo Bonzini pipewire-devel \ 1058105ca85SPaolo Bonzini pixman-devel \ 1068105ca85SPaolo Bonzini pkgconfig \ 1078105ca85SPaolo Bonzini pulseaudio-libs-devel \ 1088105ca85SPaolo Bonzini python3 \ 1098105ca85SPaolo Bonzini python3-PyYAML \ 1108105ca85SPaolo Bonzini python3-numpy \ 1118105ca85SPaolo Bonzini python3-opencv \ 1128105ca85SPaolo Bonzini python3-pillow \ 1138105ca85SPaolo Bonzini python3-pip \ 1148105ca85SPaolo Bonzini python3-sphinx \ 1158105ca85SPaolo Bonzini python3-sphinx_rtd_theme \ 1168105ca85SPaolo Bonzini python3-zombie-imp \ 1178105ca85SPaolo Bonzini rdma-core-devel \ 118548de8f8SDaniel P. Berrangé rust \ 1198105ca85SPaolo Bonzini sed \ 1208105ca85SPaolo Bonzini snappy-devel \ 1218105ca85SPaolo Bonzini socat \ 1228105ca85SPaolo Bonzini sparse \ 1238105ca85SPaolo Bonzini spice-protocol \ 1248105ca85SPaolo Bonzini spice-server-devel \ 1258105ca85SPaolo Bonzini swtpm \ 1268105ca85SPaolo Bonzini systemd-devel \ 1278105ca85SPaolo Bonzini systemtap-sdt-devel \ 1288105ca85SPaolo Bonzini tar \ 1298105ca85SPaolo Bonzini tesseract \ 1308105ca85SPaolo Bonzini tesseract-langpack-eng \ 1318105ca85SPaolo Bonzini usbredir-devel \ 1328105ca85SPaolo Bonzini util-linux \ 1338105ca85SPaolo Bonzini virglrenderer-devel \ 1348105ca85SPaolo Bonzini vte291-devel \ 1358105ca85SPaolo Bonzini which \ 1368105ca85SPaolo Bonzini xen-devel \ 1378105ca85SPaolo Bonzini xorriso \ 1388105ca85SPaolo Bonzini zlib-devel \ 1398105ca85SPaolo Bonzini zlib-static \ 1408105ca85SPaolo Bonzini zstd && \ 1418105ca85SPaolo Bonzini nosync dnf autoremove -y && \ 1428105ca85SPaolo Bonzini nosync dnf clean all -y && \ 1438105ca85SPaolo Bonzini rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \ 1448105ca85SPaolo Bonzini rpm -qa | sort > /packages.txt && \ 1458105ca85SPaolo Bonzini mkdir -p /usr/libexec/ccache-wrappers && \ 1468105ca85SPaolo Bonzini ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ 1478105ca85SPaolo Bonzini ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ 1488105ca85SPaolo Bonzini ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc 1498105ca85SPaolo Bonzini 1508105ca85SPaolo BonziniENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" 1518105ca85SPaolo BonziniENV LANG "en_US.UTF-8" 1528105ca85SPaolo BonziniENV MAKE "/usr/bin/make" 1538105ca85SPaolo BonziniENV NINJA "/usr/bin/ninja" 1548105ca85SPaolo BonziniENV PYTHON "/usr/bin/python3" 1558105ca85SPaolo BonziniRUN dnf install -y wget 1568105ca85SPaolo BonziniENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo 1578105ca85SPaolo BonziniENV RUSTC=/usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc 1588105ca85SPaolo BonziniRUN set -eux && \ 1598105ca85SPaolo Bonzini rustArch='x86_64-unknown-linux-gnu' && \ 1608105ca85SPaolo Bonzini rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' && \ 1618105ca85SPaolo Bonzini url="https://static.rust-lang.org/rustup/archive/1.27.1/${rustArch}/rustup-init" && \ 1628105ca85SPaolo Bonzini wget "$url" && \ 1638105ca85SPaolo Bonzini echo "${rustupSha256} *rustup-init" | sha256sum -c - && \ 1648105ca85SPaolo Bonzini chmod +x rustup-init && \ 1658105ca85SPaolo Bonzini ./rustup-init -y --no-modify-path --profile default --default-toolchain nightly --default-host ${rustArch} && \ 1668105ca85SPaolo Bonzini chmod -R a+w $RUSTUP_HOME $CARGO_HOME && \ 1678105ca85SPaolo Bonzini /usr/local/cargo/bin/rustup --version && \ 1688105ca85SPaolo Bonzini /usr/local/cargo/bin/rustup run nightly rustc --version && \ 1698105ca85SPaolo Bonzini test "$RUSTC" = "$(/usr/local/cargo/bin/rustup +nightly which rustc)" 1708105ca85SPaolo BonziniENV PATH=$CARGO_HOME/bin:$PATH 1718105ca85SPaolo BonziniRUN /usr/local/cargo/bin/rustup run nightly cargo install bindgen-cli 1728105ca85SPaolo Bonzini# As a final step configure the user (if env is defined) 1738105ca85SPaolo BonziniARG USER 1748105ca85SPaolo BonziniARG UID 1758105ca85SPaolo BonziniRUN if [ "${USER}" ]; then \ 1768105ca85SPaolo Bonzini id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 177