From 9056d15a5bff7cc1b9e5e8bfa405429bd915ed55 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 12 Jan 2026 17:02:36 -0500 Subject: [PATCH] Utilities/Release: Update docker specs for linux-x86_64 to centos 7 vault Update the centos 7 base image to use `vault.centos.org` repositories so we can rebuild again in the future. While at it, update to OpenSSL 3.6.0. --- .gitlab/os-linux.yml | 2 +- Utilities/Release/linux/x86_64/Dockerfile | 4 ++-- Utilities/Release/linux/x86_64/base/Dockerfile | 5 +++++ Utilities/Release/linux/x86_64/base/repo-vault.sed | 3 +++ Utilities/Release/linux/x86_64/deps/Dockerfile | 12 ++++++------ .../Release/linux/x86_64/deps/openssl-source.patch | 4 ++-- 6 files changed, 19 insertions(+), 11 deletions(-) create mode 100644 Utilities/Release/linux/x86_64/base/repo-vault.sed diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 56510603f9..50932c602e 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -11,7 +11,7 @@ GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" .linux_release_x86_64: - image: "kitware/cmake:build-linux-x86_64-deps-2023-08-16@sha256:aa0ebdbd90a51cc83d31f393c5c48ec4599a28f7ccdc288558522c6265b24fae" + image: "kitware/cmake:build-linux-x86_64-deps-2026-01-13@sha256:eae18d032e8d7be3caa97d2e5754ae2b7196d7a3d375b7b4d1ba9034f1229317" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" diff --git a/Utilities/Release/linux/x86_64/Dockerfile b/Utilities/Release/linux/x86_64/Dockerfile index 8d651084a7..1e96a1dfe9 100644 --- a/Utilities/Release/linux/x86_64/Dockerfile +++ b/Utilities/Release/linux/x86_64/Dockerfile @@ -6,8 +6,8 @@ # The resulting image will have an '/out' directory containing the package. # Keep this in sync with the `.gitlab/os-linux.yml` `.linux_release_x86_64` image. -ARG FROM_IMAGE_NAME=kitware/cmake:build-linux-x86_64-deps-2023-08-16 -ARG FROM_IMAGE_DIGEST=@sha256:aa0ebdbd90a51cc83d31f393c5c48ec4599a28f7ccdc288558522c6265b24fae +ARG FROM_IMAGE_NAME=kitware/cmake:build-linux-x86_64-deps-2026-01-13 +ARG FROM_IMAGE_DIGEST=@sha256:eae18d032e8d7be3caa97d2e5754ae2b7196d7a3d375b7b4d1ba9034f1229317 ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST FROM $FROM_IMAGE diff --git a/Utilities/Release/linux/x86_64/base/Dockerfile b/Utilities/Release/linux/x86_64/base/Dockerfile index 72ff2cc02a..d0768685f3 100644 --- a/Utilities/Release/linux/x86_64/base/Dockerfile +++ b/Utilities/Release/linux/x86_64/base/Dockerfile @@ -9,8 +9,12 @@ ARG FROM_IMAGE_DIGEST=@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32 ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST FROM $FROM_IMAGE +COPY repo-vault.sed /root/ + RUN : \ + && sed -f /root/repo-vault.sed -i /etc/yum.repos.d/*.repo \ && yum install -y centos-release-scl \ + && sed -f /root/repo-vault.sed -i /etc/yum.repos.d/*.repo \ && yum install -y \ ca-certificates \ curl \ @@ -24,6 +28,7 @@ RUN : \ make \ patch \ perl \ + perl-core \ python3-pip \ xz \ which \ diff --git a/Utilities/Release/linux/x86_64/base/repo-vault.sed b/Utilities/Release/linux/x86_64/base/repo-vault.sed new file mode 100644 index 0000000000..ae89da9696 --- /dev/null +++ b/Utilities/Release/linux/x86_64/base/repo-vault.sed @@ -0,0 +1,3 @@ +# Switch to CentOS vault repositories. +/^mirrorlist=/d +s|^# *baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org| diff --git a/Utilities/Release/linux/x86_64/deps/Dockerfile b/Utilities/Release/linux/x86_64/deps/Dockerfile index 4bbf5cce89..9f55436fc0 100644 --- a/Utilities/Release/linux/x86_64/deps/Dockerfile +++ b/Utilities/Release/linux/x86_64/deps/Dockerfile @@ -4,8 +4,8 @@ # Produce an image with custom-built dependencies for portable CMake binaries. # Build using the directory containing this file as its own build context. -ARG FROM_IMAGE_NAME=kitware/cmake:build-linux-x86_64-base-2023-08-16 -ARG FROM_IMAGE_DIGEST=@sha256:95c4d937a635067096dc8fa21b20cce6108ced091d3c42d56cf0261f40406a10 +ARG FROM_IMAGE_NAME=kitware/cmake:build-linux-x86_64-base-2026-01-13 +ARG FROM_IMAGE_DIGEST=@sha256:66bbc699da90b66fbfe5ee6161026587b78bcd01b903740b1287f80c40adfc95 ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST FROM $FROM_IMAGE @@ -123,10 +123,10 @@ COPY openssl-source.patch /opt/openssl/src/ RUN : \ && mkdir -p /opt/openssl/src \ && cd /opt/openssl/src \ - && curl -O https://www.openssl.org/source/openssl-1.1.1v.tar.gz \ - && sha512sum openssl-1.1.1v.tar.gz | grep -q 1a67340d99026aa62bf50ff89165d9f77fe4a6690fe30d1751b5021dd3f238391afd581b41724687c322c4e3af1770c44a63766a06e9b8cab6425101153e0c7e \ - && tar xzf openssl-1.1.1v.tar.gz \ - && cd openssl-1.1.1v \ + && curl -OL https://github.com/openssl/openssl/releases/download/openssl-3.6.0/openssl-3.6.0.tar.gz \ + && sha256sum openssl-3.6.0.tar.gz | grep -q b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9 \ + && tar xzf openssl-3.6.0.tar.gz \ + && cd openssl-3.6.0 \ && patch -p1 -i ../openssl-source.patch \ && source /opt/rh/devtoolset-7/enable \ && ./Configure --prefix=/opt/openssl linux-elf no-asm no-shared -D_POSIX_C_SOURCE=199506L -D_POSIX_SOURCE=1 -D_SVID_SOURCE=1 -D_BSD_SOURCE=1 \ diff --git a/Utilities/Release/linux/x86_64/deps/openssl-source.patch b/Utilities/Release/linux/x86_64/deps/openssl-source.patch index c81fe2f88c..7e1e288266 100644 --- a/Utilities/Release/linux/x86_64/deps/openssl-source.patch +++ b/Utilities/Release/linux/x86_64/deps/openssl-source.patch @@ -8,5 +8,5 @@ +#undef _POSIX_C_SOURCE +#undef _POSIX_SOURCE - #include - #include "internal/cryptlib.h" + /* We need to use the OPENSSL_fork_*() deprecated APIs */ + #define OPENSSL_SUPPRESS_DEPRECATED