qemu/tests/docker/dockerfiles/ubuntu2004.docker
Ani Sinha da9000784c tests/lcitool: Add mtools and xorriso and remove genisoimage as dependencies
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>
2023-05-16 09:14:18 +02:00

156 lines
5.5 KiB
Docker

# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool dockerfile --layers all ubuntu-2004 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/ubuntu:20.04
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -y eatmydata && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y \
bash \
bc \
bison \
bsdmainutils \
bzip2 \
ca-certificates \
ccache \
clang \
dbus \
debianutils \
diffutils \
exuberant-ctags \
findutils \
flex \
g++ \
gcc \
gcovr \
gettext \
git \
hostname \
libaio-dev \
libasan5 \
libasound2-dev \
libattr1-dev \
libbrlapi-dev \
libbz2-dev \
libc6-dev \
libcacard-dev \
libcap-ng-dev \
libcapstone-dev \
libcmocka-dev \
libcurl4-gnutls-dev \
libdaxctl-dev \
libdrm-dev \
libepoxy-dev \
libfdt-dev \
libffi-dev \
libfuse3-dev \
libgbm-dev \
libgcrypt20-dev \
libglib2.0-dev \
libglusterfs-dev \
libgnutls28-dev \
libgtk-3-dev \
libibumad-dev \
libibverbs-dev \
libiscsi-dev \
libjemalloc-dev \
libjpeg-turbo8-dev \
libjson-c-dev \
liblttng-ust-dev \
liblzo2-dev \
libncursesw5-dev \
libnfs-dev \
libnuma-dev \
libpam0g-dev \
libpcre2-dev \
libpixman-1-dev \
libpmem-dev \
libpng-dev \
libpulse-dev \
librbd-dev \
librdmacm-dev \
libsasl2-dev \
libsdl2-dev \
libsdl2-image-dev \
libseccomp-dev \
libselinux1-dev \
libslirp-dev \
libsnappy-dev \
libsndio-dev \
libspice-protocol-dev \
libspice-server-dev \
libssh-dev \
libsystemd-dev \
libtasn1-6-dev \
libubsan1 \
libudev-dev \
libusb-1.0-0-dev \
libusbredirhost-dev \
libvdeplug-dev \
libvirglrenderer-dev \
libvte-2.91-dev \
libxen-dev \
libzstd-dev \
llvm \
locales \
make \
mtools \
multipath-tools \
ncat \
nettle-dev \
ninja-build \
openssh-client \
pkgconf \
python3 \
python3-numpy \
python3-opencv \
python3-pillow \
python3-pip \
python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
python3-venv \
python3-wheel \
python3-yaml \
rpm2cpio \
sed \
socat \
sparse \
systemtap-sdt-dev \
tar \
tesseract-ocr \
tesseract-ocr-eng \
xfslibs-dev \
xorriso \
zlib1g-dev \
zstd && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
dpkg-reconfigure locales && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /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 /usr/bin/pip3 install meson==0.63.2
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"
# 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