1# THIS FILE WAS AUTO-GENERATED 2# 3# $ lcitool dockerfile --layers all fedora-40 qemu 4# 5# https://gitlab.com/libvirt/libvirt-ci 6 7FROM registry.fedoraproject.org/fedora:40 8 9RUN dnf install -y nosync && \ 10 printf '#!/bin/sh\n\ 11if test -d /usr/lib64\n\ 12then\n\ 13 export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\ 14else\n\ 15 export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\ 16fi\n\ 17exec "$@"\n' > /usr/bin/nosync && \ 18 chmod +x /usr/bin/nosync && \ 19 nosync dnf update -y && \ 20 nosync dnf install -y \ 21 SDL2-devel \ 22 SDL2_image-devel \ 23 alsa-lib-devel \ 24 bash \ 25 bc \ 26 bindgen-cli \ 27 bison \ 28 brlapi-devel \ 29 bzip2 \ 30 bzip2-devel \ 31 ca-certificates \ 32 capstone-devel \ 33 ccache \ 34 clang \ 35 ctags \ 36 cyrus-sasl-devel \ 37 daxctl-devel \ 38 dbus-daemon \ 39 device-mapper-multipath-devel \ 40 diffutils \ 41 findutils \ 42 flex \ 43 fuse3-devel \ 44 gcc \ 45 gcovr \ 46 gettext \ 47 git \ 48 glib2-devel \ 49 glib2-static \ 50 glibc-langpack-en \ 51 glibc-static \ 52 glusterfs-api-devel \ 53 gnutls-devel \ 54 gtk-vnc2-devel \ 55 gtk3-devel \ 56 hostname \ 57 jemalloc-devel \ 58 json-c-devel \ 59 libaio-devel \ 60 libasan \ 61 libattr-devel \ 62 libbpf-devel \ 63 libcacard-devel \ 64 libcap-ng-devel \ 65 libcmocka-devel \ 66 libcurl-devel \ 67 libdrm-devel \ 68 libepoxy-devel \ 69 libfdt-devel \ 70 libffi-devel \ 71 libgcrypt-devel \ 72 libiscsi-devel \ 73 libjpeg-devel \ 74 libnfs-devel \ 75 libpmem-devel \ 76 libpng-devel \ 77 librbd-devel \ 78 libseccomp-devel \ 79 libselinux-devel \ 80 libslirp-devel \ 81 libssh-devel \ 82 libtasn1-devel \ 83 libubsan \ 84 liburing-devel \ 85 libusbx-devel \ 86 libxdp-devel \ 87 libzstd-devel \ 88 llvm \ 89 lttng-ust-devel \ 90 lzo-devel \ 91 make \ 92 mesa-libgbm-devel \ 93 meson \ 94 mtools \ 95 ncurses-devel \ 96 nettle-devel \ 97 ninja-build \ 98 nmap-ncat \ 99 numactl-devel \ 100 openssh-clients \ 101 pam-devel \ 102 pcre-static \ 103 pipewire-devel \ 104 pixman-devel \ 105 pkgconfig \ 106 pulseaudio-libs-devel \ 107 python3 \ 108 python3-PyYAML \ 109 python3-numpy \ 110 python3-opencv \ 111 python3-pillow \ 112 python3-pip \ 113 python3-sphinx \ 114 python3-sphinx_rtd_theme \ 115 python3-zombie-imp \ 116 rdma-core-devel \ 117 rust \ 118 sed \ 119 snappy-devel \ 120 socat \ 121 sparse \ 122 spice-protocol \ 123 spice-server-devel \ 124 swtpm \ 125 systemd-devel \ 126 systemtap-sdt-devel \ 127 tar \ 128 tesseract \ 129 tesseract-langpack-eng \ 130 usbredir-devel \ 131 util-linux \ 132 virglrenderer-devel \ 133 vte291-devel \ 134 which \ 135 xen-devel \ 136 xorriso \ 137 zlib-devel \ 138 zlib-static \ 139 zstd && \ 140 nosync dnf autoremove -y && \ 141 nosync dnf clean all -y && \ 142 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \ 143 rpm -qa | sort > /packages.txt && \ 144 mkdir -p /usr/libexec/ccache-wrappers && \ 145 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ 146 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ 147 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc 148 149ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" 150ENV LANG "en_US.UTF-8" 151ENV MAKE "/usr/bin/make" 152ENV NINJA "/usr/bin/ninja" 153ENV PYTHON "/usr/bin/python3" 154RUN dnf install -y wget 155ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo 156ENV RUSTC=/usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc 157RUN set -eux && \ 158 rustArch='x86_64-unknown-linux-gnu' && \ 159 rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' && \ 160 url="https://static.rust-lang.org/rustup/archive/1.27.1/${rustArch}/rustup-init" && \ 161 wget "$url" && \ 162 echo "${rustupSha256} *rustup-init" | sha256sum -c - && \ 163 chmod +x rustup-init && \ 164 ./rustup-init -y --no-modify-path --profile default --default-toolchain nightly --default-host ${rustArch} && \ 165 chmod -R a+w $RUSTUP_HOME $CARGO_HOME && \ 166 /usr/local/cargo/bin/rustup --version && \ 167 /usr/local/cargo/bin/rustup run nightly rustc --version && \ 168 test "$RUSTC" = "$(/usr/local/cargo/bin/rustup +nightly which rustc)" 169ENV PATH=$CARGO_HOME/bin:$PATH 170RUN /usr/local/cargo/bin/rustup run nightly cargo install bindgen-cli 171# As a final step configure the user (if env is defined) 172ARG USER 173ARG UID 174RUN if [ "${USER}" ]; then \ 175 id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 176