Add support for running the Coverity Scan tools inside a Docker container rather than directly on the host system. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20200319193323.2038-7-peter.maydell@linaro.org
		
			
				
	
	
		
			132 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
# 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 \
 | 
						|
    bison \
 | 
						|
    brlapi-devel \
 | 
						|
    bzip2 \
 | 
						|
    bzip2-devel \
 | 
						|
    ccache \
 | 
						|
    clang \
 | 
						|
    curl \
 | 
						|
    cyrus-sasl-devel \
 | 
						|
    dbus-daemon \
 | 
						|
    device-mapper-multipath-devel \
 | 
						|
    findutils \
 | 
						|
    flex \
 | 
						|
    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 run-coverity-scan run-coverity-scan
 | 
						|
RUN --mount=type=secret,id=coverity.token,required ./run-coverity-scan --update-tools-only --tokenfile /run/secrets/coverity.token
 |