1# THIS FILE WAS AUTO-GENERATED 2# 3# $ lcitool dockerfile --layers all ubuntu-2004 qemu 4# 5# https://gitlab.com/libvirt/libvirt-ci 6 7FROM docker.io/library/ubuntu:20.04 8 9RUN export DEBIAN_FRONTEND=noninteractive && \ 10 apt-get update && \ 11 apt-get install -y eatmydata && \ 12 eatmydata apt-get dist-upgrade -y && \ 13 eatmydata apt-get install --no-install-recommends -y \ 14 bash \ 15 bc \ 16 bsdmainutils \ 17 bzip2 \ 18 ca-certificates \ 19 ccache \ 20 clang \ 21 dbus \ 22 debianutils \ 23 diffutils \ 24 exuberant-ctags \ 25 findutils \ 26 g++ \ 27 gcc \ 28 gcovr \ 29 genisoimage \ 30 gettext \ 31 git \ 32 hostname \ 33 libaio-dev \ 34 libasan5 \ 35 libasound2-dev \ 36 libattr1-dev \ 37 libbrlapi-dev \ 38 libbz2-dev \ 39 libc6-dev \ 40 libcacard-dev \ 41 libcap-ng-dev \ 42 libcapstone-dev \ 43 libcurl4-gnutls-dev \ 44 libdaxctl-dev \ 45 libdrm-dev \ 46 libepoxy-dev \ 47 libfdt-dev \ 48 libffi-dev \ 49 libfuse3-dev \ 50 libgbm-dev \ 51 libgcrypt20-dev \ 52 libglib2.0-dev \ 53 libglusterfs-dev \ 54 libgnutls28-dev \ 55 libgtk-3-dev \ 56 libibumad-dev \ 57 libibverbs-dev \ 58 libiscsi-dev \ 59 libjemalloc-dev \ 60 libjpeg-turbo8-dev \ 61 liblttng-ust-dev \ 62 liblzo2-dev \ 63 libncursesw5-dev \ 64 libnfs-dev \ 65 libnuma-dev \ 66 libpam0g-dev \ 67 libpcre2-dev \ 68 libpixman-1-dev \ 69 libpmem-dev \ 70 libpng-dev \ 71 libpulse-dev \ 72 librbd-dev \ 73 librdmacm-dev \ 74 libsasl2-dev \ 75 libsdl2-dev \ 76 libsdl2-image-dev \ 77 libseccomp-dev \ 78 libselinux1-dev \ 79 libslirp-dev \ 80 libsnappy-dev \ 81 libspice-protocol-dev \ 82 libspice-server-dev \ 83 libssh-dev \ 84 libsystemd-dev \ 85 libtasn1-6-dev \ 86 libtest-harness-perl \ 87 libubsan1 \ 88 libudev-dev \ 89 libusb-1.0-0-dev \ 90 libusbredirhost-dev \ 91 libvdeplug-dev \ 92 libvirglrenderer-dev \ 93 libvte-2.91-dev \ 94 libxen-dev \ 95 libzstd-dev \ 96 llvm \ 97 locales \ 98 make \ 99 multipath-tools \ 100 ncat \ 101 nettle-dev \ 102 ninja-build \ 103 openssh-client \ 104 perl-base \ 105 pkgconf \ 106 python3 \ 107 python3-numpy \ 108 python3-opencv \ 109 python3-pillow \ 110 python3-pip \ 111 python3-setuptools \ 112 python3-sphinx \ 113 python3-sphinx-rtd-theme \ 114 python3-venv \ 115 python3-wheel \ 116 python3-yaml \ 117 rpm2cpio \ 118 sed \ 119 sparse \ 120 systemtap-sdt-dev \ 121 tar \ 122 tesseract-ocr \ 123 tesseract-ocr-eng \ 124 texinfo \ 125 xfslibs-dev \ 126 zlib1g-dev && \ 127 eatmydata apt-get autoremove -y && \ 128 eatmydata apt-get autoclean -y && \ 129 sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ 130 dpkg-reconfigure locales && \ 131 dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ 132 mkdir -p /usr/libexec/ccache-wrappers && \ 133 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \ 134 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ 135 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ 136 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 137 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc 138 139RUN pip3 install meson==0.56.0 140 141ENV LANG "en_US.UTF-8" 142ENV MAKE "/usr/bin/make" 143ENV NINJA "/usr/bin/ninja" 144ENV PYTHON "/usr/bin/python3" 145ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" 146# Apply patch https://reviews.llvm.org/D75820 147# This is required for TSan in clang-10 to compile with QEMU. 148RUN sed -i 's/^const/static const/g' /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h 149