[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] CI: Rework the CentOS7 container



commit c2a66d0b58b9661037cfed6bf3f8122b3363ca38
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Wed Jul 3 12:06:46 2024 +0100
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Fri Jul 5 15:46:23 2024 +0100

    CI: Rework the CentOS7 container
    
    CentOS 7 is fully End-of-life as of 2024-06-30, and the Yum repo 
configuration
    points at URLs which have become non-existent.
    
    First, start by using a heredoc RUN for legibility.  It's important to use
    `set -e` to offset the fact that we're no longer chaining every command
    together with an &&.
    
    Also, because we're using a single RUN command to perform all RPM 
operations,
    we no longer need to work around the OverlayFS bug.
    
    Adjust the CentOS-*.repo files to point at vault.centos.org.  This also
    involves swapping mirrorlist= for baseurl= in the yum config.
    
    Use a minor bashism to express the dependenices more coherently, and 
identify
    why we have certain dependencies.  Some adjustments are:
    
     * We need bzip2-devel for the dombuilder.  bzip2 needs retaining stubdom or
       `tar` fails to unpack the .bz2 archives.
     * {lzo,lz4,ztd}-devel are new optional dependency since the last time this
       package list was refreshed.
     * openssl-devel hasn't been a dependency since Xen 4.6.
     * We long ago ceased being able to build Qemu and SeaBIOS in this 
container,
       so drop their dependencies too.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
 automation/build/centos/7.dockerfile | 101 +++++++++++++++++++++--------------
 1 file changed, 62 insertions(+), 39 deletions(-)

diff --git a/automation/build/centos/7.dockerfile 
b/automation/build/centos/7.dockerfile
index 657550f308..f41dda7320 100644
--- a/automation/build/centos/7.dockerfile
+++ b/automation/build/centos/7.dockerfile
@@ -6,44 +6,67 @@ LABEL maintainer.name="The Xen Project" \
 RUN mkdir /build
 WORKDIR /build
 
-# work around https://github.com/moby/moby/issues/10180
-# and add EPEL for dev86
-RUN rpm --rebuilddb && \
-    yum -y install \
-        yum-plugin-ovl \
-        epel-release \
-    && yum clean all && \
-    rm -rf /var/cache/yum
+RUN <<EOF
+    set -e
+
+    # Fix up Yum config now that mirror.centos.org doesn't exist
+    sed -e 's/mirror.centos.org/vault.centos.org/g' \
+        -e 's/^#.*baseurl=https\?/baseurl=https/g' \
+        -e 's/^mirrorlist=https\?/#mirrorlist=https/g' \
+        -i /etc/yum.repos.d/*.repo
+
+    # Add the EPEL repo to get dev86
+    yum -y install epel-release
+
+    # Update everything (Base container is out of date)
+    yum -y update
+
+    DEPS=(
+        # Xen
+        binutils
+        gcc
+        make
+        python
+        # Kconfig
+        bison
+        flex
+        # Flask
+        checkpolicy
+
+        # Tools (general)
+        git
+        gzip
+        patch
+        perl
+        pkgconfig
+        wget
+        # libxenguest dombuilder
+        bzip2-devel
+        lz4-devel
+        lzo-devel
+        xz-devel
+        zlib-devel
+        zstd-devel
+        # libacpi
+        acpica-tools
+        # libxl
+        libuuid-devel
+        yajl-devel
+        # RomBIOS
+        dev86
+        # Header Check
+        gcc-c++
+        # xentop
+        ncurses-devel
+        # Python bindings
+        python-devel
+
+        # Stubdom download/extract
+        bzip2
+    )
+
+    yum -y install "${DEPS[@]}"
 
-# install Xen depends
-RUN yum -y update \
-    && yum -y install \
-        gcc \
-        gcc-c++ \
-        ncurses-devel \
-        zlib-devel \
-        openssl-devel \
-        python-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 \
-    && yum clean all && \
+    yum clean all
     rm -rf /var/cache/yum
+EOF
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.