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 18FROM fedora:30 19ENV 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 libxml2-devel \ 63 libzstd-devel \ 64 llvm \ 65 lzo-devel \ 66 make \ 67 mingw32-bzip2 \ 68 mingw32-curl \ 69 mingw32-glib2 \ 70 mingw32-gmp \ 71 mingw32-gnutls \ 72 mingw32-gtk3 \ 73 mingw32-libjpeg-turbo \ 74 mingw32-libpng \ 75 mingw32-libtasn1 \ 76 mingw32-nettle \ 77 mingw32-nsis \ 78 mingw32-pixman \ 79 mingw32-pkg-config \ 80 mingw32-SDL2 \ 81 mingw64-bzip2 \ 82 mingw64-curl \ 83 mingw64-glib2 \ 84 mingw64-gmp \ 85 mingw64-gnutls \ 86 mingw64-gtk3 \ 87 mingw64-libjpeg-turbo \ 88 mingw64-libpng \ 89 mingw64-libtasn1 \ 90 mingw64-nettle \ 91 mingw64-pixman \ 92 mingw64-pkg-config \ 93 mingw64-SDL2 \ 94 ncurses-devel \ 95 nettle-devel \ 96 numactl-devel \ 97 perl \ 98 perl-Test-Harness \ 99 pixman-devel \ 100 pulseaudio-libs-devel \ 101 python3 \ 102 python3-sphinx \ 103 PyYAML \ 104 rdma-core-devel \ 105 SDL2-devel \ 106 snappy-devel \ 107 sparse \ 108 spice-server-devel \ 109 systemd-devel \ 110 systemtap-sdt-devel \ 111 tar \ 112 usbredir-devel \ 113 virglrenderer-devel \ 114 vte291-devel \ 115 wget \ 116 which \ 117 xen-devel \ 118 xfsprogs-devel \ 119 zlib-devel 120ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3 121 122RUN dnf install -y $PACKAGES 123RUN rpm -q $PACKAGES | sort > /packages.txt 124ENV PATH $PATH:/usr/libexec/python3-sphinx/ 125ENV COVERITY_TOOL_BASE=/coverity-tools 126COPY coverity_tool.tgz coverity_tool.tgz 127RUN mkdir -p /coverity-tools/coverity_tool && cd /coverity-tools/coverity_tool && tar xf /coverity_tool.tgz 128COPY run-coverity-scan run-coverity-scan 129