# 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
