mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
tests/docker: merge debian-native with debian-amd64
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. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Anders Roxell <anders.roxell@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231120150833.2552739-4-alex.bennee@linaro.org>
This commit is contained in:
parent
7528ef7321
commit
8e721c3277
6 changed files with 18 additions and 69 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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")
|
||||
|
|
Loading…
Reference in a new issue