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