da9000784c
Bios bits avocado tests need mformat (provided by the mtools package) and xorriso tools in order to run within gitlab CI containers. Add those dependencies within the Dockerfiles so that containers can be built with those tools present and bios bits avocado tests can be run there. xorriso package conflicts with genisoimage package on some distributions. Therefore, it is not possible to have both the packages at the same time in the container image uniformly for all distribution flavors. Further, on some distributions like RHEL, both xorriso and genisoimage packages provide /usr/bin/genisoimage and on some other distributions like Fedora, only genisoimage package provides the same utility. Therefore, this change removes the dependency on geninsoimage for building container images altogether keeping only xorriso package. At the same time, cdrom-test.c is updated to use and check for existence of only xorrisofs. Signed-off-by: Ani Sinha <anisinha@redhat.com> Message-Id: <20230504154611.85854-3-anisinha@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
110 lines
3.3 KiB
Docker
110 lines
3.3 KiB
Docker
# THIS FILE WAS AUTO-GENERATED
|
|
#
|
|
# $ lcitool dockerfile --layers all --cross mingw32 fedora-37 qemu
|
|
#
|
|
# https://gitlab.com/libvirt/libvirt-ci
|
|
|
|
FROM registry.fedoraproject.org/fedora:37
|
|
|
|
RUN dnf install -y nosync && \
|
|
printf '#!/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 "$@"\n' > /usr/bin/nosync && \
|
|
chmod +x /usr/bin/nosync && \
|
|
nosync dnf update -y && \
|
|
nosync dnf install -y \
|
|
bash \
|
|
bc \
|
|
bison \
|
|
bzip2 \
|
|
ca-certificates \
|
|
ccache \
|
|
ctags \
|
|
dbus-daemon \
|
|
diffutils \
|
|
findutils \
|
|
flex \
|
|
gcovr \
|
|
git \
|
|
glib2-devel \
|
|
glibc-langpack-en \
|
|
hostname \
|
|
llvm \
|
|
make \
|
|
meson \
|
|
mtools \
|
|
ninja-build \
|
|
nmap-ncat \
|
|
openssh-clients \
|
|
pcre-static \
|
|
python3 \
|
|
python3-PyYAML \
|
|
python3-numpy \
|
|
python3-opencv \
|
|
python3-pillow \
|
|
python3-pip \
|
|
python3-sphinx \
|
|
python3-sphinx_rtd_theme \
|
|
sed \
|
|
socat \
|
|
sparse \
|
|
spice-protocol \
|
|
tar \
|
|
tesseract \
|
|
tesseract-langpack-eng \
|
|
util-linux \
|
|
which \
|
|
xorriso \
|
|
zstd && \
|
|
nosync dnf autoremove -y && \
|
|
nosync dnf clean all -y
|
|
|
|
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
ENV LANG "en_US.UTF-8"
|
|
ENV MAKE "/usr/bin/make"
|
|
ENV NINJA "/usr/bin/ninja"
|
|
ENV PYTHON "/usr/bin/python3"
|
|
|
|
RUN nosync dnf install -y \
|
|
mingw32-SDL2 \
|
|
mingw32-SDL2_image \
|
|
mingw32-bzip2 \
|
|
mingw32-curl \
|
|
mingw32-gcc \
|
|
mingw32-gcc-c++ \
|
|
mingw32-gettext \
|
|
mingw32-glib2 \
|
|
mingw32-gnutls \
|
|
mingw32-gtk3 \
|
|
mingw32-libepoxy \
|
|
mingw32-libgcrypt \
|
|
mingw32-libjpeg-turbo \
|
|
mingw32-libpng \
|
|
mingw32-libtasn1 \
|
|
mingw32-nettle \
|
|
mingw32-nsis \
|
|
mingw32-pixman \
|
|
mingw32-pkg-config && \
|
|
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/i686-w64-mingw32-c++ && \
|
|
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
|
|
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
|
|
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
|
|
|
|
ENV ABI "i686-w64-mingw32"
|
|
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
|
|
ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
|
|
ENV DEF_TARGET_LIST i386-softmmu
|
|
# As a final step configure the user (if env is defined)
|
|
ARG USER
|
|
ARG UID
|
|
RUN if [ "${USER}" ]; then \
|
|
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|