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