new file mode 100644
@@ -0,0 +1,72 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 ubuntu:20.04
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN <<EOF
+#!/bin/bash
+ set -e
+
+ useradd --create-home user
+
+ apt-get -y update
+
+ DEPS=(
+ # Xen
+ bison
+ build-essential
+ checkpolicy
+ clang
+ flex
+ python3-minimal
+
+ # Tools (general)
+ ca-certificates
+ git-core
+ gzip
+ patch
+ perl
+ pkg-config
+ wget
+ # libxenguest dombuilder
+ libbz2-dev
+ libzstd-dev
+ liblzo2-dev
+ liblzma-dev
+ zlib1g-dev
+ # libacpi
+ acpica-tools
+ # libxl
+ uuid-dev
+ libyajl-dev
+ # RomBIOS
+ bcc
+ bin86
+ # xentop
+ libncurses5-dev
+ # Python bindings
+ python3-dev
+ python3-setuptools
+ # Ocaml bindings/oxenstored
+ ocaml-nox
+ ocaml-findlib
+
+ # Stubdom download/extract
+ bzip2
+
+ # Qemu build
+ libglib2.0-dev
+ libpixman-1-dev
+ meson
+ ninja-build
+ python3-packaging
+ )
+
+ apt-get -y --no-install-recommends install "${DEPS[@]}"
+ rm -rf /var/lib/apt/lists/*
+EOF
+
+USER user
+WORKDIR /build
deleted file mode 100644
@@ -1,49 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 ubuntu:20.04
-LABEL maintainer.name="The Xen Project " \
- maintainer.email="xen-devel@lists.xenproject.org"
-
-ENV DEBIAN_FRONTEND=noninteractive
-ENV USER root
-
-RUN mkdir /build
-WORKDIR /build
-
-# build depends
-RUN apt-get update && \
- apt-get --quiet --yes install \
- build-essential \
- zlib1g-dev \
- libncurses5-dev \
- python3-dev \
- python3-setuptools \
- uuid-dev \
- libyajl-dev \
- libaio-dev \
- libglib2.0-dev \
- clang \
- libpixman-1-dev \
- pkg-config \
- flex \
- bison \
- acpica-tools \
- bin86 \
- bcc \
- liblzma-dev \
- libnl-3-dev \
- ocaml-nox \
- libfindlib-ocaml-dev \
- # libsystemd-dev for Xen < 4.19
- libsystemd-dev \
- transfig \
- pandoc \
- checkpolicy \
- wget \
- git \
- nasm \
- # QEMU
- ninja-build \
- && \
- apt-get autoremove -y && \
- apt-get clean && \
- rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
@@ -628,25 +628,25 @@ ubuntu-18.04-x86_64-gcc-debug:
variables:
CONTAINER: ubuntu:18.04-x86_64
-ubuntu-focal-gcc:
+ubuntu-20.04-x86_64-gcc:
extends: .gcc-x86-64-build
variables:
- CONTAINER: ubuntu:focal
+ CONTAINER: ubuntu:20.04-x86_64
-ubuntu-focal-gcc-debug:
+ubuntu-20.04-x86_64-gcc-debug:
extends: .gcc-x86-64-build-debug
variables:
- CONTAINER: ubuntu:focal
+ CONTAINER: ubuntu:20.04-x86_64
-ubuntu-focal-clang:
+ubuntu-20.04-x86_64-clang:
extends: .clang-x86-64-build
variables:
- CONTAINER: ubuntu:focal
+ CONTAINER: ubuntu:20.04-x86_64
-ubuntu-focal-clang-debug:
+ubuntu-20.04-x86_64-clang-debug:
extends: .clang-x86-64-build-debug
variables:
- CONTAINER: ubuntu:focal
+ CONTAINER: ubuntu:20.04-x86_64
opensuse-leap-15.6-clang:
extends: .clang-x86-64-build
@@ -40,7 +40,6 @@ case "_${CONTAINER}" in
_archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
_centos7) CONTAINER="${BASE}/centos:7" ;;
_fedora) CONTAINER="${BASE}/fedora:29";;
- _focal) CONTAINER="${BASE}/ubuntu:focal" ;;
_bullseye-ppc64le) CONTAINER="${BASE}/debian:11-ppc64le" ;;
_bookworm-ppc64le) CONTAINER="${BASE}/debian:12-ppc64le" ;;
_bullseye-riscv64) CONTAINER="${BASE}/debian:11-riscv64" ;;
@@ -55,6 +54,7 @@ case "_${CONTAINER}" in
_opensuse-tumbleweed|_tumbleweed) CONTAINER="${BASE}/opensuse:tumbleweed-x86_64" ;;
_xenial) CONTAINER="${BASE}/ubuntu:16.04-x86_64" ;;
_bionic) CONTAINER="${BASE}/ubuntu:18.04-x86_64" ;;
+ _focal) CONTAINER="${BASE}/ubuntu:20.04-x86_64" ;;
*) guess_container ;;
esac
Exactly as per 18.04 (Bionic). This saves ~500M: registry.gitlab.com/xen-project/xen/ubuntu 20.04-x86_64 1.06GB registry.gitlab.com/xen-project/xen/ubuntu focal 1.57GB Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Anthony PERARD <anthony.perard@vates.tech> CC: Juergen Gross <jgross@suse.com> CC: Roger Pau Monné <roger.pau@citrix.com> CC: Jan Beulich <JBeulich@suse.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Julien Grall <julien@xen.org> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com> CC: Shawn Anastasio <sanastasio@raptorengineering.com> Runs with the new container: 4.16: https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7323548811 4.19: https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7323517116 --- .../build/ubuntu/20.04-x86_64.dockerfile | 72 +++++++++++++++++++ automation/build/ubuntu/focal.dockerfile | 49 ------------- automation/gitlab-ci/build.yaml | 16 ++--- automation/scripts/containerize | 2 +- 4 files changed, 81 insertions(+), 58 deletions(-) create mode 100644 automation/build/ubuntu/20.04-x86_64.dockerfile delete mode 100644 automation/build/ubuntu/focal.dockerfile