coverity: unify Fedora dockerfiles

The Fedora CI and coverity runs are using a slightly different set of
packages.  Copy most of the content over from tests/docker while
keeping the commands at the end that unpack the tools.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20230331174844.376300-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2023-03-31 13:48:44 -04:00
parent dd5b6780f7
commit 32a9d73579

View File

@ -15,112 +15,152 @@
# The work of actually doing the build is handled by the # The work of actually doing the build is handled by the
# run-coverity-scan script. # run-coverity-scan script.
FROM fedora:30 FROM registry.fedoraproject.org/fedora:37
ENV PACKAGES \
RUN dnf install -y nosync && \
echo -e '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
exec "$@"' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
SDL2-devel \
SDL2_image-devel \
alsa-lib-devel \ alsa-lib-devel \
bash \
bc \ bc \
bison \
brlapi-devel \ brlapi-devel \
bzip2 \ bzip2 \
bzip2-devel \ bzip2-devel \
ca-certificates \
capstone-devel \
ccache \ ccache \
clang \ clang \
curl \ ctags \
cyrus-sasl-devel \ cyrus-sasl-devel \
daxctl-devel \
dbus-daemon \ dbus-daemon \
device-mapper-multipath-devel \ device-mapper-multipath-devel \
diffutils \
findutils \ findutils \
flex \
fuse3-devel \
gcc \ gcc \
gcc-c++ \ gcc-c++ \
gcovr \
genisoimage \
gettext \ gettext \
git \ git \
glib2-devel \ glib2-devel \
glib2-static \
glibc-langpack-en \
glibc-static \
glusterfs-api-devel \ glusterfs-api-devel \
gnutls-devel \ gnutls-devel \
gtk3-devel \ gtk3-devel \
hostname \ hostname \
jemalloc-devel \
json-c-devel \
libaio-devel \ libaio-devel \
libasan \ libasan \
libattr-devel \ libattr-devel \
libblockdev-mpath-devel \ libbpf-devel \
libcap-devel \ libcacard-devel \
libcap-ng-devel \ libcap-ng-devel \
libcmocka-devel \
libcurl-devel \ libcurl-devel \
libdrm-devel \
libepoxy-devel \ libepoxy-devel \
libfdt-devel \ libfdt-devel \
libgbm-devel \ libffi-devel \
libgcrypt-devel \
libiscsi-devel \ libiscsi-devel \
libjpeg-devel \ libjpeg-devel \
libpmem-devel \
libnfs-devel \ libnfs-devel \
libpmem-devel \
libpng-devel \ libpng-devel \
librbd-devel \ librbd-devel \
libseccomp-devel \ libseccomp-devel \
libselinux-devel \
libslirp-devel \
libssh-devel \ libssh-devel \
libtasn1-devel \
libubsan \ libubsan \
libudev-devel \ liburing-devel \
libusbx-devel \ libusbx-devel \
libzstd-devel \ libzstd-devel \
llvm \ llvm \
lttng-ust-devel \
lzo-devel \ lzo-devel \
make \ make \
mingw32-bzip2 \ mesa-libgbm-devel \
mingw32-curl \ meson \
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 \ ncurses-devel \
nettle-devel \ nettle-devel \
ninja-build \
nmap-ncat \
numactl-devel \ numactl-devel \
perl \ openssh-clients \
perl-Test-Harness \ pam-devel \
pcre-static \
pixman-devel \ pixman-devel \
pkgconfig \
pulseaudio-libs-devel \ pulseaudio-libs-devel \
python3 \ python3 \
python3-PyYAML \
python3-numpy \
python3-opencv \
python3-pillow \
python3-pip \
python3-sphinx \ python3-sphinx \
PyYAML \ python3-sphinx_rtd_theme \
rdma-core-devel \ rdma-core-devel \
SDL2-devel \ rpm \
sed \
snappy-devel \ snappy-devel \
socat \
sparse \ sparse \
spice-protocol \
spice-server-devel \ spice-server-devel \
systemd-devel \ systemd-devel \
systemtap-sdt-devel \ systemtap-sdt-devel \
tar \ tar \
tesseract \
tesseract-langpack-eng \
usbredir-devel \ usbredir-devel \
util-linux \
virglrenderer-devel \ virglrenderer-devel \
vte291-devel \ vte291-devel \
wget \
which \ which \
xen-devel \ xen-devel \
xfsprogs-devel \ xfsprogs-devel \
zlib-devel zlib-devel \
ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3 zlib-static \
zstd && \
nosync dnf autoremove -y && \
nosync dnf clean all -y && \
rpm -qa | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
RUN dnf install -y $PACKAGES ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
RUN rpm -q $PACKAGES | sort > /packages.txt ENV LANG "en_US.UTF-8"
ENV PATH $PATH:/usr/libexec/python3-sphinx/ ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
ENV PYTHON "/usr/bin/python3"
ENV QEMU_CONFIGURE_OPTS --meson=internal
RUN dnf install -y curl wget
ENV COVERITY_TOOL_BASE=/coverity-tools ENV COVERITY_TOOL_BASE=/coverity-tools
COPY coverity_tool.tgz coverity_tool.tgz COPY coverity_tool.tgz coverity_tool.tgz
RUN mkdir -p /coverity-tools/coverity_tool && cd /coverity-tools/coverity_tool && tar xf /coverity_tool.tgz RUN mkdir -p /coverity-tools/coverity_tool && cd /coverity-tools/coverity_tool && tar xf /coverity_tool.tgz