| # syntax=docker/dockerfile:1.0.0-experimental | 
 | # | 
 | # Docker setup for running the "Coverity Scan" tools over the source | 
 | # tree and uploading them to the website, as per | 
 | # https://scan.coverity.com/projects/qemu/builds/new | 
 | # We do this on a fixed config (currently Fedora 30 with a known | 
 | # set of dependencies and a configure command that enables a specific | 
 | # set of options) so that random changes don't result in our accidentally | 
 | # dropping some files from the scan. | 
 | # | 
 | # We don't build on top of the fedora.docker file because we don't | 
 | # want to accidentally change or break the scan config when that | 
 | # is updated. | 
 |  | 
 | # The work of actually doing the build is handled by the | 
 | # run-coverity-scan script. | 
 |  | 
 | FROM fedora:30 | 
 | ENV PACKAGES \ | 
 |     alsa-lib-devel \ | 
 |     bc \ | 
 |     brlapi-devel \ | 
 |     bzip2 \ | 
 |     bzip2-devel \ | 
 |     ccache \ | 
 |     clang \ | 
 |     curl \ | 
 |     cyrus-sasl-devel \ | 
 |     dbus-daemon \ | 
 |     device-mapper-multipath-devel \ | 
 |     findutils \ | 
 |     gcc \ | 
 |     gcc-c++ \ | 
 |     gettext \ | 
 |     git \ | 
 |     glib2-devel \ | 
 |     glusterfs-api-devel \ | 
 |     gnutls-devel \ | 
 |     gtk3-devel \ | 
 |     hostname \ | 
 |     libaio-devel \ | 
 |     libasan \ | 
 |     libattr-devel \ | 
 |     libblockdev-mpath-devel \ | 
 |     libcap-devel \ | 
 |     libcap-ng-devel \ | 
 |     libcurl-devel \ | 
 |     libepoxy-devel \ | 
 |     libfdt-devel \ | 
 |     libgbm-devel \ | 
 |     libiscsi-devel \ | 
 |     libjpeg-devel \ | 
 |     libpmem-devel \ | 
 |     libnfs-devel \ | 
 |     libpng-devel \ | 
 |     librbd-devel \ | 
 |     libseccomp-devel \ | 
 |     libssh-devel \ | 
 |     libubsan \ | 
 |     libudev-devel \ | 
 |     libusbx-devel \ | 
 |     libzstd-devel \ | 
 |     llvm \ | 
 |     lzo-devel \ | 
 |     make \ | 
 |     mingw32-bzip2 \ | 
 |     mingw32-curl \ | 
 |     mingw32-glib2 \ | 
 |     mingw32-gmp \ | 
 |     mingw32-gnutls \ | 
 |     mingw32-gtk3 \ | 
 |     mingw32-libjpeg-turbo \ | 
 |     mingw32-libpng \ | 
 |     mingw32-libtasn1 \ | 
 |     mingw32-nettle \ | 
 |     mingw32-nsis \ | 
 |     mingw32-pixman \ | 
 |     mingw32-pkg-config \ | 
 |     mingw32-SDL2 \ | 
 |     mingw64-bzip2 \ | 
 |     mingw64-curl \ | 
 |     mingw64-glib2 \ | 
 |     mingw64-gmp \ | 
 |     mingw64-gnutls \ | 
 |     mingw64-gtk3 \ | 
 |     mingw64-libjpeg-turbo \ | 
 |     mingw64-libpng \ | 
 |     mingw64-libtasn1 \ | 
 |     mingw64-nettle \ | 
 |     mingw64-pixman \ | 
 |     mingw64-pkg-config \ | 
 |     mingw64-SDL2 \ | 
 |     ncurses-devel \ | 
 |     nettle-devel \ | 
 |     numactl-devel \ | 
 |     perl \ | 
 |     perl-Test-Harness \ | 
 |     pixman-devel \ | 
 |     pulseaudio-libs-devel \ | 
 |     python3 \ | 
 |     python3-sphinx \ | 
 |     PyYAML \ | 
 |     rdma-core-devel \ | 
 |     SDL2-devel \ | 
 |     snappy-devel \ | 
 |     sparse \ | 
 |     spice-server-devel \ | 
 |     systemd-devel \ | 
 |     systemtap-sdt-devel \ | 
 |     tar \ | 
 |     usbredir-devel \ | 
 |     virglrenderer-devel \ | 
 |     vte291-devel \ | 
 |     wget \ | 
 |     which \ | 
 |     xen-devel \ | 
 |     xfsprogs-devel \ | 
 |     zlib-devel | 
 | ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3 | 
 |  | 
 | RUN dnf install -y $PACKAGES | 
 | RUN rpm -q $PACKAGES | sort > /packages.txt | 
 | ENV PATH $PATH:/usr/libexec/python3-sphinx/ | 
 | ENV COVERITY_TOOL_BASE=/coverity-tools | 
 | COPY coverity_tool.tgz coverity_tool.tgz | 
 | RUN mkdir -p /coverity-tools/coverity_tool && cd /coverity-tools/coverity_tool && tar xf /coverity_tool.tgz | 
 | COPY run-coverity-scan run-coverity-scan |