aboutsummaryrefslogtreecommitdiff
path: root/scripts/coverity-scan/coverity-scan.docker
blob: a4f64d12834b125303c531c87f7b67c5edacaa0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# 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