| # 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 \ |
| libxml2-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 \ |
| nss-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 \ |
| texinfo \ |
| 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 |