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 libcbor-devel \ 66 libcmocka-devel \ 67 libcurl-devel \ 68 libdrm-devel \ 69 libepoxy-devel \ 70 libfdt-devel \ 71 libffi-devel \ 72 libgcrypt-devel \ 73 libiscsi-devel \ 74 libjpeg-devel \ 75 libnfs-devel \ 76 libpmem-devel \ 77 libpng-devel \ 78 librbd-devel \ 79 libseccomp-devel \ 80 libselinux-devel \ 81 libslirp-devel \ 82 libssh-devel \ 83 libtasn1-devel \ 84 libubsan \ 85 liburing-devel \ 86 libusbx-devel \ 87 libxdp-devel \ 88 libzstd-devel \ 89 llvm \ 90 lttng-ust-devel \ 91 lzo-devel \ 92 make \ 93 mesa-libgbm-devel \ 94 meson \ 95 mtools \ 96 ncurses-devel \ 97 nettle-devel \ 98 ninja-build \ 99 nmap-ncat \ 100 numactl-devel \ 101 openssh-clients \ 102 pam-devel \ 103 pcre-static \ 104 pipewire-devel \ 105 pixman-devel \ 106 pkgconfig \ 107 pulseaudio-libs-devel \ 108 python3 \ 109 python3-PyYAML \ 110 python3-numpy \ 111 python3-opencv \ 112 python3-pillow \ 113 python3-pip \ 114 python3-sphinx \ 115 python3-sphinx_rtd_theme \ 116 python3-zombie-imp \ 117 rdma-core-devel \ 118 rust \ 119 sed \ 120 snappy-devel \ 121 socat \ 122 sparse \ 123 spice-protocol \ 124 spice-server-devel \ 125 swtpm \ 126 systemd-devel \ 127 systemtap-sdt-devel \ 128 tar \ 129 tesseract \ 130 tesseract-langpack-eng \ 131 usbredir-devel \ 132 util-linux \ 133 virglrenderer-devel \ 134 vte291-devel \ 135 which \ 136 xen-devel \ 137 xorriso \ 138 zlib-devel \ 139 zlib-static \ 140 zstd && \ 141 nosync dnf autoremove -y && \ 142 nosync dnf clean all -y && \ 143 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \ 144 rpm -qa | sort > /packages.txt && \ 145 mkdir -p /usr/libexec/ccache-wrappers && \ 146 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ 147 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ 148 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc 149 150ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" 151ENV LANG "en_US.UTF-8" 152ENV MAKE "/usr/bin/make" 153ENV NINJA "/usr/bin/ninja" 154ENV PYTHON "/usr/bin/python3" 155RUN dnf install -y wget 156ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo 157ENV RUSTC=/usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc 158RUN set -eux && \ 159 rustArch='x86_64-unknown-linux-gnu' && \ 160 rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' && \ 161 url="https://static.rust-lang.org/rustup/archive/1.27.1/${rustArch}/rustup-init" && \ 162 wget "$url" && \ 163 echo "${rustupSha256} *rustup-init" | sha256sum -c - && \ 164 chmod +x rustup-init && \ 165 ./rustup-init -y --no-modify-path --profile default --default-toolchain nightly --default-host ${rustArch} && \ 166 chmod -R a+w $RUSTUP_HOME $CARGO_HOME && \ 167 /usr/local/cargo/bin/rustup --version && \ 168 /usr/local/cargo/bin/rustup run nightly rustc --version && \ 169 test "$RUSTC" = "$(/usr/local/cargo/bin/rustup +nightly which rustc)" 170ENV PATH=$CARGO_HOME/bin:$PATH 171RUN /usr/local/cargo/bin/rustup run nightly cargo install bindgen-cli 172# As a final step configure the user (if env is defined) 173ARG USER 174ARG UID 175RUN if [ "${USER}" ]; then \ 176 id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 177