As with 16.04 (Xenial), with python3-setuptools included. Having this package
only in some containers was intentional; see commit
bbc72a7877d8 ("automation:
Add python3's setuptools to some containers") for the rational.
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>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
--- /dev/null
+# 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
+++ /dev/null
-# 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/*
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
_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" ;;
_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" ;;
esac
# Use this variable to control whether root should be used