1 # syntax=docker/dockerfile:1.0.0-experimental 2 # 3 # Docker setup for running the "Coverity Scan" tools over the source 4 # tree and uploading them to the website, as per 5 # https://scan.coverity.com/projects/qemu/builds/new 6 # We do this on a fixed config (currently Fedora 30 with a known 7 # set of dependencies and a configure command that enables a specific 8 # set of options) so that random changes don't result in our accidentally 9 # dropping some files from the scan. 10 # 11 # We don't build on top of the fedora.docker file because we don't 12 # want to accidentally change or break the scan config when that 13 # is updated. 14 15 # The work of actually doing the build is handled by the 16 # run-coverity-scan script. 17 18 FROM fedora:30 19 ENV PACKAGES \ 20 alsa-lib-devel \ 21 bc \ 22 brlapi-devel \ 23 bzip2 \ 24 bzip2-devel \ 25 ccache \ 26 clang \ 27 curl \ 28 cyrus-sasl-devel \ 29 dbus-daemon \ 30 device-mapper-multipath-devel \ 31 findutils \ 32 gcc \ 33 gcc-c++ \ 34 gettext \ 35 git \ 36 glib2-devel \ 37 glusterfs-api-devel \ 38 gnutls-devel \ 39 gtk3-devel \ 40 hostname \ 41 libaio-devel \ 42 libasan \ 43 libattr-devel \ 44 libblockdev-mpath-devel \ 45 libcap-devel \ 46 libcap-ng-devel \ 47 libcurl-devel \ 48 libepoxy-devel \ 49 libfdt-devel \ 50 libgbm-devel \ 51 libiscsi-devel \ 52 libjpeg-devel \ 53 libpmem-devel \ 54 libnfs-devel \ 55 libpng-devel \ 56 librbd-devel \ 57 libseccomp-devel \ 58 libssh-devel \ 59 libubsan \ 60 libudev-devel \ 61 libusbx-devel \ 62 libzstd-devel \ 63 llvm \ 64 lzo-devel \ 65 make \ 66 mingw32-bzip2 \ 67 mingw32-curl \ 68 mingw32-glib2 \ 69 mingw32-gmp \ 70 mingw32-gnutls \ 71 mingw32-gtk3 \ 72 mingw32-libjpeg-turbo \ 73 mingw32-libpng \ 74 mingw32-libtasn1 \ 75 mingw32-nettle \ 76 mingw32-nsis \ 77 mingw32-pixman \ 78 mingw32-pkg-config \ 79 mingw32-SDL2 \ 80 mingw64-bzip2 \ 81 mingw64-curl \ 82 mingw64-glib2 \ 83 mingw64-gmp \ 84 mingw64-gnutls \ 85 mingw64-gtk3 \ 86 mingw64-libjpeg-turbo \ 87 mingw64-libpng \ 88 mingw64-libtasn1 \ 89 mingw64-nettle \ 90 mingw64-pixman \ 91 mingw64-pkg-config \ 92 mingw64-SDL2 \ 93 ncurses-devel \ 94 nettle-devel \ 95 numactl-devel \ 96 perl \ 97 perl-Test-Harness \ 98 pixman-devel \ 99 pulseaudio-libs-devel \ 100 python3 \ 101 python3-sphinx \ 102 PyYAML \ 103 rdma-core-devel \ 104 SDL2-devel \ 105 snappy-devel \ 106 sparse \ 107 spice-server-devel \ 108 systemd-devel \ 109 systemtap-sdt-devel \ 110 tar \ 111 usbredir-devel \ 112 virglrenderer-devel \ 113 vte291-devel \ 114 wget \ 115 which \ 116 xen-devel \ 117 xfsprogs-devel \ 118 zlib-devel 119 ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3 120 121 RUN dnf install -y $PACKAGES 122 RUN rpm -q $PACKAGES | sort > /packages.txt 123 ENV PATH $PATH:/usr/libexec/python3-sphinx/ 124 ENV COVERITY_TOOL_BASE=/coverity-tools 125 COPY coverity_tool.tgz coverity_tool.tgz 126 RUN mkdir -p /coverity-tools/coverity_tool && cd /coverity-tools/coverity_tool && tar xf /coverity_tool.tgz 127 COPY run-coverity-scan run-coverity-scan 128