mirror of
https://github.com/qemu/qemu.git
synced 2025-08-17 16:03:30 +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
@ -70,7 +70,7 @@ build-system-debian:
|
|||||||
needs:
|
needs:
|
||||||
job: amd64-debian-container
|
job: amd64-debian-container
|
||||||
variables:
|
variables:
|
||||||
IMAGE: debian-amd64
|
IMAGE: debian
|
||||||
CONFIGURE_ARGS: --with-coroutine=sigaltstack
|
CONFIGURE_ARGS: --with-coroutine=sigaltstack
|
||||||
TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
|
TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
|
||||||
sparc-softmmu xtensa-softmmu
|
sparc-softmmu xtensa-softmmu
|
||||||
@ -82,7 +82,7 @@ check-system-debian:
|
|||||||
- job: build-system-debian
|
- job: build-system-debian
|
||||||
artifacts: true
|
artifacts: true
|
||||||
variables:
|
variables:
|
||||||
IMAGE: debian-amd64
|
IMAGE: debian
|
||||||
MAKE_CHECK_ARGS: check
|
MAKE_CHECK_ARGS: check
|
||||||
|
|
||||||
avocado-system-debian:
|
avocado-system-debian:
|
||||||
@ -91,7 +91,7 @@ avocado-system-debian:
|
|||||||
- job: build-system-debian
|
- job: build-system-debian
|
||||||
artifacts: true
|
artifacts: true
|
||||||
variables:
|
variables:
|
||||||
IMAGE: debian-amd64
|
IMAGE: debian
|
||||||
MAKE_CHECK_ARGS: check-avocado
|
MAKE_CHECK_ARGS: check-avocado
|
||||||
AVOCADO_TAGS: arch:arm arch:i386 arch:riscv64 arch:sh4 arch:sparc arch:xtensa
|
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
|
- job: build-system-debian
|
||||||
artifacts: true
|
artifacts: true
|
||||||
variables:
|
variables:
|
||||||
IMAGE: debian-amd64
|
IMAGE: debian
|
||||||
script:
|
script:
|
||||||
- cd build
|
- cd build
|
||||||
- make NINJA=":" check-venv
|
- make NINJA=":" check-venv
|
||||||
@ -589,7 +589,7 @@ build-tools-and-docs-debian:
|
|||||||
# when running on 'master' we use pre-existing container
|
# when running on 'master' we use pre-existing container
|
||||||
optional: true
|
optional: true
|
||||||
variables:
|
variables:
|
||||||
IMAGE: debian-amd64
|
IMAGE: debian
|
||||||
MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
|
MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
|
||||||
CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
|
CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
|
||||||
QEMU_JOB_PUBLISH: 1
|
QEMU_JOB_PUBLISH: 1
|
||||||
@ -609,7 +609,7 @@ build-tools-and-docs-debian:
|
|||||||
# of what topic branch they're currently using
|
# of what topic branch they're currently using
|
||||||
pages:
|
pages:
|
||||||
extends: .base_job_template
|
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
|
stage: test
|
||||||
needs:
|
needs:
|
||||||
- job: build-tools-and-docs-debian
|
- job: build-tools-and-docs-debian
|
||||||
|
@ -11,7 +11,7 @@ amd64-debian-container:
|
|||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers
|
stage: containers
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-amd64
|
NAME: debian
|
||||||
|
|
||||||
amd64-ubuntu2204-container:
|
amd64-ubuntu2204-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
|
@ -88,9 +88,6 @@ DOCKER_PARTIAL_IMAGES += debian-s390x-cross
|
|||||||
DOCKER_PARTIAL_IMAGES += fedora
|
DOCKER_PARTIAL_IMAGES += fedora
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# The native build should never use the registry
|
|
||||||
docker-image-debian-native: DOCKER_REGISTRY=
|
|
||||||
|
|
||||||
# alpine has no adduser
|
# alpine has no adduser
|
||||||
docker-image-alpine: NOUSER=1
|
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 \
|
apt install -y --no-install-recommends \
|
||||||
cscope\
|
cscope\
|
||||||
global\
|
global\
|
||||||
linux-headers-amd64
|
linux-headers-generic
|
||||||
RUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap
|
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 && 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
|
ENV QEMU_CONFIGURE_OPTS --enable-netmap
|
||||||
# As a final step configure the user (if env is defined)
|
# As a final step configure the user (if env is defined)
|
||||||
ARG USER
|
ARG USER
|
@ -99,10 +99,13 @@ debian12_extras = [
|
|||||||
" apt install -y --no-install-recommends \\\n",
|
" apt install -y --no-install-recommends \\\n",
|
||||||
" cscope\\\n",
|
" cscope\\\n",
|
||||||
" global\\\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 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 && 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"
|
"ENV QEMU_CONFIGURE_OPTS --enable-netmap\n"
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -123,7 +126,7 @@ try:
|
|||||||
#
|
#
|
||||||
generate_dockerfile("alpine", "alpine-318")
|
generate_dockerfile("alpine", "alpine-318")
|
||||||
generate_dockerfile("centos8", "centos-stream-8")
|
generate_dockerfile("centos8", "centos-stream-8")
|
||||||
generate_dockerfile("debian-amd64", "debian-12",
|
generate_dockerfile("debian", "debian-12",
|
||||||
trailer="".join(debian12_extras))
|
trailer="".join(debian12_extras))
|
||||||
generate_dockerfile("fedora", "fedora-38")
|
generate_dockerfile("fedora", "fedora-38")
|
||||||
generate_dockerfile("opensuse-leap", "opensuse-leap-15")
|
generate_dockerfile("opensuse-leap", "opensuse-leap-15")
|
||||||
|
Loading…
Reference in New Issue
Block a user