new file mode 100644
@@ -0,0 +1,72 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 ubuntu:18.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,48 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 ubuntu:18.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 \
- python-dev \
- python3-dev \
- 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 \
- markdown \
- 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/*
@@ -608,25 +608,25 @@ ubuntu-16.04-x86_64-gcc-debug:
variables:
CONTAINER: ubuntu:16.04-x86_64
-ubuntu-bionic-clang:
+ubuntu-18.04-x86_64-clang:
extends: .clang-x86-64-build
variables:
- CONTAINER: ubuntu:bionic
+ CONTAINER: ubuntu:18.04-x86_64
-ubuntu-bionic-clang-debug:
+ubuntu-18.04-x86_64-clang-debug:
extends: .clang-x86-64-build-debug
variables:
- CONTAINER: ubuntu:bionic
+ CONTAINER: ubuntu:18.04-x86_64
-ubuntu-bionic-gcc:
+ubuntu-18.04-x86_64-gcc:
extends: .gcc-x86-64-build
variables:
- CONTAINER: ubuntu:bionic
+ CONTAINER: ubuntu:18.04-x86_64
-ubuntu-bionic-gcc-debug:
+ubuntu-18.04-x86_64-gcc-debug:
extends: .gcc-x86-64-build-debug
variables:
- CONTAINER: ubuntu:bionic
+ CONTAINER: ubuntu:18.04-x86_64
ubuntu-focal-gcc:
extends: .gcc-x86-64-build
@@ -51,10 +51,10 @@ case "_${CONTAINER}" in
_bookworm-arm64v8-arm32-gcc) CONTAINER="${BASE}/debian:bookworm-arm64v8-arm32-gcc" ;;
_bookworm-arm64v8) CONTAINER="${BASE}/debian:bookworm-arm64v8" ;;
_bookworm-cppcheck) CONTAINER="${BASE}/debian:bookworm-cppcheck" ;;
- _bionic) CONTAINER="${BASE}/ubuntu:bionic" ;;
_opensuse-leap|_leap) CONTAINER="${BASE}/opensuse:leap-15.6-x86_64" ;;
_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" ;;
*) guess_container ;;
esac
As with 16.04 (Focal), except that ninja-build is available so QEMU can be built. This halves the size of the container: registry.gitlab.com/xen-project/xen/ubuntu 18.04-x86_64 860MB registry.gitlab.com/xen-project/xen/ubuntu bionic 1.44GB 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/7323548809 4.19: https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7323516970 --- .../build/ubuntu/18.04-x86_64.dockerfile | 72 +++++++++++++++++++ automation/build/ubuntu/bionic.dockerfile | 48 ------------- automation/gitlab-ci/build.yaml | 16 ++--- automation/scripts/containerize | 2 +- 4 files changed, 81 insertions(+), 57 deletions(-) create mode 100644 automation/build/ubuntu/18.04-x86_64.dockerfile delete mode 100644 automation/build/ubuntu/bionic.dockerfile