Fedora 29 is long out of date. Move forward 5 years to Fedora 39. Inlcude all the usual improvements. Rework the container to be non-root, use heredocs for legibility, and switch to the new naming scheme.
Signed-off-by: Andrew Cooper <[email protected]> --- CC: Anthony PERARD <[email protected]> CC: Juergen Gross <[email protected]> CC: Roger Pau Monné <[email protected]> CC: Jan Beulich <[email protected]> CC: Stefano Stabellini <[email protected]> CC: Julien Grall <[email protected]> CC: Oleksii Kurochko <[email protected]> I know Fedora 40 the latest release, but it suffers from the same stubdom failure as Archlinux currently does. Fedora 39 builds fine. Fedora is (correctly) blocking, so adding 40 would be bad move at this point in the 4.19 release. https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1372042761 is a run with both 39 and 40, showing the failure. --- automation/build/fedora/29.dockerfile | 46 ------------ automation/build/fedora/39-x86_64.dockerfile | 74 ++++++++++++++++++++ automation/gitlab-ci/build.yaml | 8 +-- 3 files changed, 78 insertions(+), 50 deletions(-) delete mode 100644 automation/build/fedora/29.dockerfile create mode 100644 automation/build/fedora/39-x86_64.dockerfile diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile deleted file mode 100644 index d5f017ac723d..000000000000 --- a/automation/build/fedora/29.dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -# syntax=docker/dockerfile:1 -FROM --platform=linux/amd64 fedora:29 -LABEL maintainer.name="The Xen Project" \ - maintainer.email="[email protected]" - -# install Xen depends -RUN dnf -y install \ - clang \ - gcc \ - gcc-c++ \ - ncurses-devel \ - zlib-devel \ - python-devel \ - python3-devel \ - libuuid-devel \ - pkgconfig \ - flex \ - bison \ - libaio-devel \ - glib2-devel \ - yajl-devel \ - pixman-devel \ - glibc-devel \ - make \ - binutils \ - git \ - wget \ - acpica-tools \ - python-markdown \ - patch \ - checkpolicy \ - dev86 \ - xz-devel \ - bzip2 \ - nasm \ - ocaml \ - ocaml-findlib \ - golang \ - # QEMU - ninja-build \ - && dnf clean all && \ - rm -rf /var/cache/dnf - -RUN useradd --create-home user -USER user -WORKDIR /build diff --git a/automation/build/fedora/39-x86_64.dockerfile b/automation/build/fedora/39-x86_64.dockerfile new file mode 100644 index 000000000000..e2048a437581 --- /dev/null +++ b/automation/build/fedora/39-x86_64.dockerfile @@ -0,0 +1,74 @@ +# syntax=docker/dockerfile:1 +FROM --platform=linux/amd64 fedora:39 +LABEL maintainer.name="The Xen Project" +LABEL maintainer.email="[email protected]" + +RUN <<EOF + set -e + + useradd --create-home user + + dnf -y update + + DEPS=( + # Xen + binutils + gcc + make + python3 + # Kconfig + bison + flex + # Flask + checkpolicy + + # Tools (general) + git-core + gzip + patch + perl-interpreter + pkgconfig + wget + # libxenguest dombuilder + bzip2-devel + libzstd-devel + lzo-devel + xz-devel + zlib-devel + # libacpi + acpica-tools + # libxl + libuuid-devel + yajl-devel + # RomBIOS + dev86 + # Header Check + gcc-c++ + # xentop + ncurses-devel + # Python bindings + python3-devel + python3-setuptools + # Ocaml bindings/oxenstored + ocaml + ocaml-findlib + # Golang bindings + golang + + # Stubdom download/extract + bzip2 + + # Qemu build + glib2-devel + pixman-devel + ninja-build + ) + + dnf -y install "${DEPS[@]}" + + dnf clean all + rm -rf /var/cache/dnf +EOF + +USER user +WORKDIR /build diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index 7ce88d38e7c7..3d35871d64f5 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -575,15 +575,15 @@ debian-bookworm-32-gcc-debug: variables: CONTAINER: debian:bookworm-i386 -fedora-gcc: +fedora-39-x86_64-gcc: extends: .gcc-x86-64-build variables: - CONTAINER: fedora:29 + CONTAINER: fedora:39-x86_64 -fedora-gcc-debug: +fedora-39-x86_64-gcc-debug: extends: .gcc-x86-64-build-debug variables: - CONTAINER: fedora:29 + CONTAINER: fedora:39-x86_64 ubuntu-16.04-x86_64-clang: extends: .clang-x86-64-build -- 2.39.2
