[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH] tests/docker: merge debian-native with debian-amd64
|
From: |
Anders Roxell |
|
Subject: |
Re: [RFC PATCH] tests/docker: merge debian-native with debian-amd64 |
|
Date: |
Wed, 8 Nov 2023 21:56:52 +0100 |
On Wed, 8 Nov 2023 at 17:56, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> debian-native isn't really needed and suffers from the problem of
> tracking a distros dependencies rather than the projects. With a
> little surgery we can make the debian-amd64 container architecture
> neutral and allow people to use it to build a native QEMU.
>
> Rename it so it follows the same non-arch pattern of the other distro
> containers.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Anders Roxell <anders.roxell@linaro.org>
I tried it on my arm machine and it worked as expected.
And this should work for me
Tested-by: Anders Roxell <anders.roxell@linaro.org>
Cheers,
Anders
> ---
> .gitlab-ci.d/buildtest.yml | 12 ++---
> .gitlab-ci.d/containers.yml | 2 +-
> tests/docker/Makefile.include | 3 --
> tests/docker/dockerfiles/debian-native.docker | 54 -------------------
> .../{debian-amd64.docker => debian.docker} | 7 ++-
> tests/lcitool/refresh | 9 ++--
> 6 files changed, 18 insertions(+), 69 deletions(-)
> delete mode 100644 tests/docker/dockerfiles/debian-native.docker
> rename tests/docker/dockerfiles/{debian-amd64.docker => debian.docker} (96%)
>
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index da72f7c690..7f9af83b10 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -70,7 +70,7 @@ build-system-debian:
> needs:
> job: amd64-debian-container
> variables:
> - IMAGE: debian-amd64
> + IMAGE: debian
> CONFIGURE_ARGS: --with-coroutine=sigaltstack
> TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
> sparc-softmmu xtensa-softmmu
> @@ -82,7 +82,7 @@ check-system-debian:
> - job: build-system-debian
> artifacts: true
> variables:
> - IMAGE: debian-amd64
> + IMAGE: debian
> MAKE_CHECK_ARGS: check
>
> avocado-system-debian:
> @@ -91,7 +91,7 @@ avocado-system-debian:
> - job: build-system-debian
> artifacts: true
> variables:
> - IMAGE: debian-amd64
> + IMAGE: debian
> MAKE_CHECK_ARGS: check-avocado
> AVOCADO_TAGS: arch:arm arch:i386 arch:riscv64 arch:sh4 arch:sparc
> arch:xtensa
>
> @@ -101,7 +101,7 @@ crash-test-debian:
> - job: build-system-debian
> artifacts: true
> variables:
> - IMAGE: debian-amd64
> + IMAGE: debian
> script:
> - cd build
> - make NINJA=":" check-venv
> @@ -589,7 +589,7 @@ build-tools-and-docs-debian:
> # when running on 'master' we use pre-existing container
> optional: true
> variables:
> - IMAGE: debian-amd64
> + IMAGE: debian
> MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
> CONFIGURE_ARGS: --disable-system --disable-user --enable-docs
> --enable-tools
> QEMU_JOB_PUBLISH: 1
> @@ -609,7 +609,7 @@ build-tools-and-docs-debian:
> # of what topic branch they're currently using
> pages:
> extends: .base_job_template
> - image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:$QEMU_CI_CONTAINER_TAG
> + image: $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
> stage: test
> needs:
> - job: build-tools-and-docs-debian
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index 8637a13d86..ae79d4c58b 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -11,7 +11,7 @@ amd64-debian-container:
> extends: .container_job_template
> stage: containers
> variables:
> - NAME: debian-amd64
> + NAME: debian
>
> amd64-ubuntu2204-container:
> extends: .container_job_template
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index cd4688bf07..5ba5b50ab9 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -88,9 +88,6 @@ DOCKER_PARTIAL_IMAGES += debian-s390x-cross
> DOCKER_PARTIAL_IMAGES += fedora
> endif
>
> -# The native build should never use the registry
> -docker-image-debian-native: DOCKER_REGISTRY=
> -
> # alpine has no adduser
> docker-image-alpine: NOUSER=1
>
> diff --git a/tests/docker/dockerfiles/debian-native.docker
> b/tests/docker/dockerfiles/debian-native.docker
> deleted file mode 100644
> index abac7d7cd7..0000000000
> --- a/tests/docker/dockerfiles/debian-native.docker
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -#
> -# Docker Debian Native
> -#
> -# This is intended to build QEMU on native host systems. Debian 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"
> -# 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
> diff --git a/tests/docker/dockerfiles/debian-amd64.docker
> b/tests/docker/dockerfiles/debian.docker
> similarity index 96%
> rename from tests/docker/dockerfiles/debian-amd64.docker
> rename to tests/docker/dockerfiles/debian.docker
> index 9b50fb2f63..b5e642d5b6 100644
> --- a/tests/docker/dockerfiles/debian-amd64.docker
> +++ b/tests/docker/dockerfiles/debian.docker
> @@ -155,10 +155,13 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> apt install -y --no-install-recommends \
> cscope\
> global\
> - linux-headers-amd64
> + linux-headers-generic
> RUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap
> RUN cd /usr/src/netmap && git checkout v11.3
> -RUN cd /usr/src/netmap/LINUX && ./configure --no-drivers --no-apps
> --kernel-dir=$(ls -d /usr/src/linux-headers-*-amd64) && make install
> +RUN cd /usr/src/netmap/LINUX && \
> + ./configure --no-drivers --no-apps \
> + --kernel-dir=$(ls -d /usr/src/linux-headers-*-$(dpkg
> --print-architecture)) \
> + && make install
> ENV QEMU_CONFIGURE_OPTS --enable-netmap
> # As a final step configure the user (if env is defined)
> ARG USER
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index 10c54a377c..13250f40c4 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -99,10 +99,13 @@ debian12_extras = [
> " apt install -y --no-install-recommends \\\n",
> " cscope\\\n",
> " global\\\n",
> - " linux-headers-amd64\n",
> + " linux-headers-generic\n",
> "RUN git clone https://github.com/luigirizzo/netmap.git
> /usr/src/netmap\n",
> "RUN cd /usr/src/netmap && git checkout v11.3\n",
> - "RUN cd /usr/src/netmap/LINUX && ./configure --no-drivers --no-apps
> --kernel-dir=$(ls -d /usr/src/linux-headers-*-amd64) && make install\n",
> + "RUN cd /usr/src/netmap/LINUX && \\\n",
> + " ./configure --no-drivers --no-apps \\\n",
> + " --kernel-dir=$(ls -d /usr/src/linux-headers-*-$(dpkg
> --print-architecture)) \\\n",
> + " && make install\n",
> "ENV QEMU_CONFIGURE_OPTS --enable-netmap\n"
> ]
>
> @@ -123,7 +126,7 @@ try:
> #
> generate_dockerfile("alpine", "alpine-318")
> generate_dockerfile("centos8", "centos-stream-8")
> - generate_dockerfile("debian-amd64", "debian-12",
> + generate_dockerfile("debian", "debian-12",
> trailer="".join(debian12_extras))
> generate_dockerfile("fedora", "fedora-38")
> generate_dockerfile("opensuse-leap", "opensuse-leap-15")
> --
> 2.39.2
>