From: Willian Rampazzo <wrampazz@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: "Thomas Huth" <thuth@redhat.com>,
"Anders Roxell" <anders.roxell@linaro.org>,
qemu-devel <qemu-devel@nongnu.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: Re: [RFC PATCH] tests/docker: add a debian-native image and make available
Date: Wed, 22 Sep 2021 14:04:21 -0300 [thread overview]
Message-ID: <CAKJDGDaqJQyG+JaL59a8t5XCospPprvUXXogd1oCBjgzRATffw@mail.gmail.com> (raw)
In-Reply-To: <20210922151528.2192966-1-alex.bennee@linaro.org>
On Wed, Sep 22, 2021 at 12:15 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
> This image is intended for building whatever the native versions of
> QEMU are for the host architecture. This will hopefully be an aid for
> 3rd parties who want to be able to build QEMU themselves without
> redoing all the dependencies themselves.
>
> We disable the registry because we currently don't have multi-arch
> support there.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Anders Roxell <anders.roxell@linaro.org>
> ---
> tests/docker/Makefile.include | 4 ++
> tests/docker/common.rc | 10 +++-
> tests/docker/dockerfiles/debian-native.docker | 49 +++++++++++++++++++
> 3 files changed, 61 insertions(+), 2 deletions(-)
> create mode 100644 tests/docker/dockerfiles/debian-native.docker
>
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index 3b03763186..2f276cc4b2 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -145,6 +145,10 @@ docker-image-debian-s390x-cross: docker-image-debian10
> docker-image-debian-sh4-cross: docker-image-debian10
> docker-image-debian-sparc64-cross: docker-image-debian10
>
> +# The native build should never use the registry
> +docker-image-debian-native: DOCKER_REGISTRY=
> +
> +
> #
> # The build rule for hexagon-cross is special in so far for most of
> # the time we don't want to build it. While dockers caching does avoid
> diff --git a/tests/docker/common.rc b/tests/docker/common.rc
> index c5cc33d366..e6f8cee0d6 100755
> --- a/tests/docker/common.rc
> +++ b/tests/docker/common.rc
> @@ -12,8 +12,14 @@
> # the top-level directory.
>
> # This might be set by ENV of a docker container... it is always
if this is overridden when the user sets it, maybe remove the "always".
> -# overriden by TARGET_LIST if the user sets it.
> -DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"}
> +# overriden by TARGET_LIST if the user sets it. We special case
s/overriden/overridden/
Also, is there some word missing after "We"? Or you meant "With"?
> +# "none" to allow for other options like --disable-tcg to restrict the
> +# builds we eventually do.
> +if test "$DEF_TARGET_LIST" = "none"; then
> + DEF_TARGET_LIST=""
> +else
> + DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"}
> +fi
>
> requires_binary()
> {
> diff --git a/tests/docker/dockerfiles/debian-native.docker b/tests/docker/dockerfiles/debian-native.docker
> new file mode 100644
> index 0000000000..efd55cb6e0
> --- /dev/null
> +++ b/tests/docker/dockerfiles/debian-native.docker
> @@ -0,0 +1,49 @@
> +#
> +# Docker Debian Native
> +#
> +# This this intended to build QEMU on native host systems. Debian is
s/This this/This/ or you meant "This is..."
> +# chosen due to the broadest range on supported host systems for QEMU.
> +#
> +# This docker target is based on the docker.io Debian Bullseye base
> +# image rather than QEMU's base because we would otherwise confuse the
> +# build grabbing stuff from the registry built for other
> +# architectures.
> +#
> +FROM docker.io/library/debian:bullseye-slim
> +MAINTAINER Alex Bennée <alex.bennee@linaro.org>
> +
> +# Duplicate deb line as deb-src
> +RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
> +
> +# Install common build utilities
> +RUN apt update && \
> + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata
> +
> +RUN apt update && \
> + DEBIAN_FRONTEND=noninteractive eatmydata \
> + apt build-dep -yy --arch-only qemu
> +
> +RUN apt update && \
> + DEBIAN_FRONTEND=noninteractive eatmydata \
> + apt install -y --no-install-recommends \
> + cscope \
> + genisoimage \
> + exuberant-ctags \
> + global \
> + libbz2-dev \
> + liblzo2-dev \
> + libgcrypt20-dev \
> + libfdt-dev \
> + librdmacm-dev \
> + libsasl2-dev \
> + libsnappy-dev \
> + libvte-dev \
> + netcat-openbsd \
> + ninja-build \
> + openssh-client \
> + python3-numpy \
> + python3-opencv \
> + python3-venv
> +
> +ENV QEMU_CONFIGURE_OPTS $QEMU_CONFIGURE_OPTS
> +ENV DEF_TARGET_LIST "none"
> --
> 2.30.2
>
Overall, looks good to me,
Acked-by: Willian Rampazzo <willianr@redhat.com>
next prev parent reply other threads:[~2021-09-22 18:18 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-22 15:15 [RFC PATCH] tests/docker: add a debian-native image and make available Alex Bennée
2021-09-22 17:04 ` Willian Rampazzo [this message]
2021-09-22 17:33 ` Philippe Mathieu-Daudé
2021-10-07 12:31 ` Anders Roxell
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=CAKJDGDaqJQyG+JaL59a8t5XCospPprvUXXogd1oCBjgzRATffw@mail.gmail.com \
--to=wrampazz@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=anders.roxell@linaro.org \
--cc=f4bug@amsat.org \
--cc=qemu-devel@nongnu.org \
--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).