From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: stefanha@redhat.com, "Alex Bennée" <alex.bennee@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Beraldo Leal" <bleal@redhat.com>
Subject: [PULL 25/30] tests/docker: update and flatten debian-amd64-cross
Date: Tue, 20 Sep 2022 18:15:28 +0100 [thread overview]
Message-ID: <20220920171533.1098094-26-alex.bennee@linaro.org> (raw)
In-Reply-To: <20220920171533.1098094-1-alex.bennee@linaro.org>
Now lcitool has support for building a x86_64 cross image we can use
it for this.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20220914155950.804707-26-alex.bennee@linaro.org>
diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index 091c0d8fcb..2d560e9764 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -7,7 +7,6 @@ alpha-debian-cross-container:
amd64-debian-cross-container:
extends: .container_job_template
stage: containers
- needs: ['amd64-debian10-container']
variables:
NAME: debian-amd64-cross
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index ddcc502049..a0f5109628 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -75,7 +75,6 @@ DOCKER_PARTIAL_IMAGES := debian10 debian11
ifeq ($(HOST_ARCH),x86_64)
DOCKER_PARTIAL_IMAGES += debian-amd64-cross
else
-docker-image-debian-amd64-cross: docker-image-debian10
DOCKER_PARTIAL_IMAGES += debian-amd64
endif
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index 870109ef6a..7d2feb7bf7 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -1,22 +1,168 @@
+# THIS FILE WAS AUTO-GENERATED
#
-# Docker x86_64 cross target
+# $ lcitool dockerfile --layers all --cross x86_64 debian-11 qemu
#
-# This docker target is used on non-x86_64 machines which need the
-# x86_64 cross compilers installed.
-#
-FROM qemu/debian10
-MAINTAINER Alex Bennée <alex.bennee@linaro.org>
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM docker.io/library/debian:11-slim
+
+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 \
+ bsdextrautils \
+ bzip2 \
+ ca-certificates \
+ ccache \
+ dbus \
+ debianutils \
+ diffutils \
+ exuberant-ctags \
+ findutils \
+ gcovr \
+ genisoimage \
+ gettext \
+ git \
+ hostname \
+ libpcre2-dev \
+ libspice-protocol-dev \
+ llvm \
+ locales \
+ make \
+ meson \
+ ncat \
+ ninja-build \
+ openssh-client \
+ perl-base \
+ pkgconf \
+ python3 \
+ python3-numpy \
+ python3-opencv \
+ python3-pillow \
+ python3-pip \
+ python3-sphinx \
+ python3-sphinx-rtd-theme \
+ python3-venv \
+ python3-yaml \
+ rpm2cpio \
+ sed \
+ sparse \
+ tar \
+ tesseract-ocr \
+ tesseract-ocr-eng \
+ texinfo && \
+ eatmydata apt-get autoremove -y && \
+ eatmydata apt-get autoclean -y && \
+ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
+ dpkg-reconfigure locales
+
+ENV LANG "en_US.UTF-8"
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-# Add the foreign architecture we want and install dependencies
-RUN dpkg --add-architecture amd64
-RUN apt update && \
- DEBIAN_FRONTEND=noninteractive eatmydata \
- apt install -y --no-install-recommends \
- crossbuild-essential-amd64
-RUN apt update && \
- DEBIAN_FRONTEND=noninteractive eatmydata \
- apt build-dep -yy -a amd64 --arch-only qemu
+RUN export DEBIAN_FRONTEND=noninteractive && \
+ dpkg --add-architecture amd64 && \
+ eatmydata apt-get update && \
+ eatmydata apt-get dist-upgrade -y && \
+ eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
+ eatmydata apt-get install --no-install-recommends -y \
+ g++-x86-64-linux-gnu \
+ gcc-x86-64-linux-gnu \
+ libaio-dev:amd64 \
+ libasan5:amd64 \
+ libasound2-dev:amd64 \
+ libattr1-dev:amd64 \
+ libbpf-dev:amd64 \
+ libbrlapi-dev:amd64 \
+ libbz2-dev:amd64 \
+ libc6-dev:amd64 \
+ libcacard-dev:amd64 \
+ libcap-ng-dev:amd64 \
+ libcapstone-dev:amd64 \
+ libcmocka-dev:amd64 \
+ libcurl4-gnutls-dev:amd64 \
+ libdaxctl-dev:amd64 \
+ libdrm-dev:amd64 \
+ libepoxy-dev:amd64 \
+ libfdt-dev:amd64 \
+ libffi-dev:amd64 \
+ libfuse3-dev:amd64 \
+ libgbm-dev:amd64 \
+ libgcrypt20-dev:amd64 \
+ libglib2.0-dev:amd64 \
+ libglusterfs-dev:amd64 \
+ libgnutls28-dev:amd64 \
+ libgtk-3-dev:amd64 \
+ libibumad-dev:amd64 \
+ libibverbs-dev:amd64 \
+ libiscsi-dev:amd64 \
+ libjemalloc-dev:amd64 \
+ libjpeg62-turbo-dev:amd64 \
+ libjson-c-dev:amd64 \
+ liblttng-ust-dev:amd64 \
+ liblzo2-dev:amd64 \
+ libncursesw5-dev:amd64 \
+ libnfs-dev:amd64 \
+ libnuma-dev:amd64 \
+ libpam0g-dev:amd64 \
+ libpixman-1-dev:amd64 \
+ libpmem-dev:amd64 \
+ libpng-dev:amd64 \
+ libpulse-dev:amd64 \
+ librbd-dev:amd64 \
+ librdmacm-dev:amd64 \
+ libsasl2-dev:amd64 \
+ libsdl2-dev:amd64 \
+ libsdl2-image-dev:amd64 \
+ libseccomp-dev:amd64 \
+ libselinux1-dev:amd64 \
+ libslirp-dev:amd64 \
+ libsnappy-dev:amd64 \
+ libspice-server-dev:amd64 \
+ libssh-gcrypt-dev:amd64 \
+ libsystemd-dev:amd64 \
+ libtasn1-6-dev:amd64 \
+ libubsan1:amd64 \
+ libudev-dev:amd64 \
+ liburing-dev:amd64 \
+ libusb-1.0-0-dev:amd64 \
+ libusbredirhost-dev:amd64 \
+ libvdeplug-dev:amd64 \
+ libvirglrenderer-dev:amd64 \
+ libvte-2.91-dev:amd64 \
+ libxen-dev:amd64 \
+ libzstd-dev:amd64 \
+ nettle-dev:amd64 \
+ systemtap-sdt-dev:amd64 \
+ xfslibs-dev:amd64 \
+ zlib1g-dev:amd64 && \
+ eatmydata apt-get autoremove -y && \
+ eatmydata apt-get autoclean -y && \
+ mkdir -p /usr/local/share/meson/cross && \
+ echo "[binaries]\n\
+c = '/usr/bin/x86_64-linux-gnu-gcc'\n\
+ar = '/usr/bin/x86_64-linux-gnu-gcc-ar'\n\
+strip = '/usr/bin/x86_64-linux-gnu-strip'\n\
+pkgconfig = '/usr/bin/x86_64-linux-gnu-pkg-config'\n\
+\n\
+[host_machine]\n\
+system = 'linux'\n\
+cpu_family = 'x86_64'\n\
+cpu = 'x86_64'\n\
+endian = 'little'" > /usr/local/share/meson/cross/x86_64-linux-gnu && \
+ 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/x86_64-linux-gnu-c++ && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-cc && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-g++ && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-gcc
-# Specify the cross prefix for this image (see tests/docker/common.rc)
+ENV ABI "x86_64-linux-gnu"
+ENV MESON_OPTS "--cross-file=x86_64-linux-gnu"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-linux-gnu-
ENV DEF_TARGET_LIST x86_64-softmmu,x86_64-linux-user,i386-softmmu,i386-linux-user
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 2a59150322..fc604d8a21 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -119,6 +119,13 @@ try:
#
# Cross compiling builds
#
+ generate_dockerfile("debian-amd64-cross", "debian-11",
+ cross="x86_64",
+ trailer=debian_cross_build("x86_64-linux-gnu-",
+ "x86_64-softmmu,"
+ "x86_64-linux-user,"
+ "i386-softmmu,i386-linux-user"))
+
generate_dockerfile("debian-arm64-cross", "debian-11",
cross="aarch64",
trailer=debian_cross_build("aarch64-linux-gnu-",
--
2.34.1
next prev parent reply other threads:[~2022-09-20 21:58 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-20 17:15 [PULL 00/30] testing updates (docker, avocado, deprecate 32bit BE MIPS) Alex Bennée
2022-09-20 17:15 ` [PULL 01/30] gitlab: reduce targets in cross_user_build_job Alex Bennée
2022-09-20 17:15 ` [PULL 02/30] tests/avocado/boot_linux_console: Fix the test_aarch64_xlnx_versal_virt test Alex Bennée
2022-09-20 17:15 ` [PULL 03/30] tests/avocado: add explicit timeout for Aarch64 TCG tests Alex Bennée
2022-09-20 17:15 ` [PULL 04/30] tests/avocado: add explicit timeout for s390 " Alex Bennée
2022-09-26 16:27 ` Thomas Huth
2022-09-20 17:15 ` [PULL 05/30] tests/avocado: add explicit timeout for ppc64le " Alex Bennée
2022-09-20 17:15 ` [PULL 06/30] tests/avocado: split the AST2x00Machine classes Alex Bennée
2022-09-20 17:15 ` [PULL 07/30] tests/avocado: reduce the default timeout to 120s Alex Bennée
2022-09-20 17:15 ` [PULL 08/30] tests/docker: update and flatten debian-alpha-cross Alex Bennée
2022-09-20 17:15 ` [PULL 09/30] tests/docker: update and flatten debian-hppa-cross Alex Bennée
2022-09-20 17:15 ` [PULL 10/30] tests/docker: update and flatten debian-m68k-cross Alex Bennée
2022-09-20 17:15 ` [PULL 11/30] tests/docker: update and flatten debian-mips64-cross Alex Bennée
2022-09-20 17:15 ` [PULL 12/30] tests/docker: update and flatten debian-sh4-cross Alex Bennée
2022-09-20 17:15 ` [PULL 13/30] tests/docker: update and flatten debian-sparc64-cross Alex Bennée
2022-09-20 17:15 ` [PULL 14/30] tests/docker: flatten debian-powerpc-test-cross Alex Bennée
2022-09-20 17:15 ` [PULL 15/30] tests/docker: remove tricore qemu/debian10 dependency Alex Bennée
2022-09-20 17:15 ` [PULL 16/30] tests/docker: remove amd64 " Alex Bennée
2022-09-20 17:15 ` [PULL 17/30] tests/vm: Remove obsolete Fedora VM test Alex Bennée
2022-09-20 17:15 ` [PULL 18/30] configure: explicitly set cflags for --disable-pie Alex Bennée
2022-09-20 17:15 ` [PULL 19/30] gitlab-ci/custom-runners: Disable -static-pie for ubuntu-20.04-aarch64 Alex Bennée
2022-09-20 17:15 ` [PULL 20/30] gitlab-ci: update aarch32/aarch64 custom runner jobs Alex Bennée
2022-09-20 17:15 ` [PULL 21/30] Deprecate 32 bit big-endian MIPS Alex Bennée
2022-09-20 17:15 ` [PULL 22/30] tests/docker: flatten debian-riscv64-test-cross Alex Bennée
2022-09-20 17:15 ` [PULL 23/30] tests/docker: update and flatten debian-all-test-cross Alex Bennée
2022-09-20 17:15 ` [PULL 24/30] tests/lcitool: bump to latest version Alex Bennée
2022-09-20 17:15 ` Alex Bennée [this message]
2022-09-20 17:15 ` [PULL 26/30] tests/docker: update and flatten debian-loongarch-cross Alex Bennée
2022-09-20 17:15 ` [PULL 27/30] tests/docker: update and flatten debian-hexagon-cross Alex Bennée
2022-09-20 17:15 ` [PULL 28/30] tests/docker: update and flatten debian-toolchain Alex Bennée
2022-09-20 17:15 ` [PULL 29/30] tests/docker: remove FROM qemu/ support from docker.py Alex Bennée
2022-09-20 17:15 ` [PULL 30/30] tests/docker: remove the Debian base images Alex Bennée
2022-09-22 17:16 ` [PULL 00/30] testing updates (docker, avocado, deprecate 32bit BE MIPS) Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220920171533.1098094-26-alex.bennee@linaro.org \
--to=alex.bennee@linaro.org \
--cc=bleal@redhat.com \
--cc=f4bug@amsat.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).