qapi: allow unions to contain further unions
[qemu/armbru.git] / scripts / coverity-scan / coverity-scan.docker
bloba349578526dada209825f1df8bc0a6b5ab38f3ad
1 # syntax=docker/dockerfile:1.0.0-experimental
3 # Docker setup for running the "Coverity Scan" tools over the source
4 # tree and uploading them to the website, as per
5 # https://scan.coverity.com/projects/qemu/builds/new
6 # We do this on a fixed config (currently Fedora 30 with a known
7 # set of dependencies and a configure command that enables a specific
8 # set of options) so that random changes don't result in our accidentally
9 # dropping some files from the scan.
11 # We don't build on top of the fedora.docker file because we don't
12 # want to accidentally change or break the scan config when that
13 # is updated.
15 # The work of actually doing the build is handled by the
16 # run-coverity-scan script.
18 FROM registry.fedoraproject.org/fedora:37
20 RUN dnf install -y nosync && \
21     echo -e '#!/bin/sh\n\
22 if test -d /usr/lib64\n\
23 then\n\
24     export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
25 else\n\
26     export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
27 fi\n\
28 exec "$@"' > /usr/bin/nosync && \
29     chmod +x /usr/bin/nosync && \
30     nosync dnf update -y && \
31     nosync dnf install -y \
32                SDL2-devel \
33                SDL2_image-devel \
34                alsa-lib-devel \
35                bash \
36                bc \
37                bison \
38                brlapi-devel \
39                bzip2 \
40                bzip2-devel \
41                ca-certificates \
42                capstone-devel \
43                ccache \
44                clang \
45                ctags \
46                cyrus-sasl-devel \
47                daxctl-devel \
48                dbus-daemon \
49                device-mapper-multipath-devel \
50                diffutils \
51                findutils \
52                flex \
53                fuse3-devel \
54                gcc \
55                gcc-c++ \
56                gcovr \
57                genisoimage \
58                gettext \
59                git \
60                glib2-devel \
61                glib2-static \
62                glibc-langpack-en \
63                glibc-static \
64                glusterfs-api-devel \
65                gnutls-devel \
66                gtk3-devel \
67                hostname \
68                jemalloc-devel \
69                json-c-devel \
70                libaio-devel \
71                libasan \
72                libattr-devel \
73                libbpf-devel \
74                libcacard-devel \
75                libcap-ng-devel \
76                libcmocka-devel \
77                libcurl-devel \
78                libdrm-devel \
79                libepoxy-devel \
80                libfdt-devel \
81                libffi-devel \
82                libgcrypt-devel \
83                libiscsi-devel \
84                libjpeg-devel \
85                libnfs-devel \
86                libpmem-devel \
87                libpng-devel \
88                librbd-devel \
89                libseccomp-devel \
90                libselinux-devel \
91                libslirp-devel \
92                libssh-devel \
93                libtasn1-devel \
94                libubsan \
95                liburing-devel \
96                libusbx-devel \
97                libzstd-devel \
98                llvm \
99                lttng-ust-devel \
100                lzo-devel \
101                make \
102                mesa-libgbm-devel \
103                meson \
104                ncurses-devel \
105                nettle-devel \
106                ninja-build \
107                nmap-ncat \
108                numactl-devel \
109                openssh-clients \
110                pam-devel \
111                pcre-static \
112                pixman-devel \
113                pkgconfig \
114                pulseaudio-libs-devel \
115                python3 \
116                python3-PyYAML \
117                python3-numpy \
118                python3-opencv \
119                python3-pillow \
120                python3-pip \
121                python3-sphinx \
122                python3-sphinx_rtd_theme \
123                rdma-core-devel \
124                rpm \
125                sed \
126                snappy-devel \
127                socat \
128                sparse \
129                spice-protocol \
130                spice-server-devel \
131                systemd-devel \
132                systemtap-sdt-devel \
133                tar \
134                tesseract \
135                tesseract-langpack-eng \
136                usbredir-devel \
137                util-linux \
138                virglrenderer-devel \
139                vte291-devel \
140                which \
141                xen-devel \
142                xfsprogs-devel \
143                zlib-devel \
144                zlib-static \
145                zstd && \
146     nosync dnf autoremove -y && \
147     nosync dnf clean all -y && \
148     rpm -qa | sort > /packages.txt && \
149     mkdir -p /usr/libexec/ccache-wrappers && \
150     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
151     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
152     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
153     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
154     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
156 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
157 ENV LANG "en_US.UTF-8"
158 ENV MAKE "/usr/bin/make"
159 ENV NINJA "/usr/bin/ninja"
160 ENV PYTHON "/usr/bin/python3"
161 ENV QEMU_CONFIGURE_OPTS --meson=internal
163 RUN dnf install -y curl wget
164 ENV COVERITY_TOOL_BASE=/coverity-tools
165 COPY coverity_tool.tgz coverity_tool.tgz
166 RUN mkdir -p /coverity-tools/coverity_tool && cd /coverity-tools/coverity_tool && tar xf /coverity_tool.tgz
167 COPY run-coverity-scan run-coverity-scan