diff options
author | Brad King <brad.king@kitware.com> | 2023-08-16 17:37:01 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-08-16 18:29:55 (GMT) |
commit | ef2bab7687a1027a4c8ccba9a1d42177b7b5a107 (patch) | |
tree | 5242a57350a048e77510cc9035fb3296661ddb49 | |
parent | a705eb963c7e31cd8e34f7b813f007f8be78f84d (diff) | |
download | CMake-ef2bab7687a1027a4c8ccba9a1d42177b7b5a107.zip CMake-ef2bab7687a1027a4c8ccba9a1d42177b7b5a107.tar.gz CMake-ef2bab7687a1027a4c8ccba9a1d42177b7b5a107.tar.bz2 |
Utilities/Release: Update docker specs for linux-x86_64 to centos 7
Update the centos base image from centos 6 to centos 7. The latter is
the minimum version supported by libuv 1.45. The resulting binaries
require GLIBC 2.17.
-rw-r--r-- | .gitlab-ci.yml | 46 | ||||
-rw-r--r-- | .gitlab/os-linux.yml | 14 | ||||
-rw-r--r-- | Help/release/dev/rel-linux-x86_64.rst | 5 | ||||
-rw-r--r-- | Utilities/Release/linux/x86_64/Dockerfile | 7 | ||||
-rw-r--r-- | Utilities/Release/linux/x86_64/base/Dockerfile | 11 | ||||
-rw-r--r-- | Utilities/Release/linux/x86_64/deps/Dockerfile | 26 | ||||
-rw-r--r-- | Utilities/Release/linux/x86_64/test/Dockerfile | 4 |
7 files changed, 56 insertions, 57 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fbf1947..7a66494 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -132,7 +132,7 @@ l:clang-analyzer-fedora38: # Linux builds -b:centos6-x86_64: +b:centos7-x86_64: extends: - .linux_release_x86_64 - .cmake_build_linux_release @@ -140,7 +140,7 @@ b:centos6-x86_64: - .linux_x86_64_tags - .run_manually variables: - CMAKE_CI_ARTIFACTS_NAME: "artifacts-centos6-x86_64" + CMAKE_CI_ARTIFACTS_NAME: "artifacts-centos7-x86_64" b:centos7-aarch64: extends: @@ -160,7 +160,7 @@ t:debian12-ninja: - .linux_x86_64_tags - .cmake_junit_artifacts - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY_NINJA: "true" @@ -181,7 +181,7 @@ t:debian12-ninja-clang: - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -191,7 +191,7 @@ t:debian12-makefiles-clang: - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -201,7 +201,7 @@ t:debian12-hip-radeon: - .cmake_test_linux_release - .linux_x86_64_tags_radeon - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_NO_MR: "true" @@ -211,7 +211,7 @@ t:fedora38-hip-radeon: - .cmake_test_linux_release - .linux_x86_64_tags_radeon - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_NO_MR: "true" @@ -221,7 +221,7 @@ t:fedora38-ninja-clang: - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -231,7 +231,7 @@ t:fedora38-ninja-multi-clang: - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -241,7 +241,7 @@ t:fedora38-makefiles-clang: - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -251,7 +251,7 @@ t:fedora38-makefiles: - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 t:fedora38-makefiles-nospace: extends: @@ -260,7 +260,7 @@ t:fedora38-makefiles-nospace: - .linux_x86_64_tags - .cmake_junit_artifacts - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" CMAKE_CI_BUILD_NAME: fedora38_makefiles_nospace @@ -272,7 +272,7 @@ t:nvhpc22.11-ninja: - .cmake_test_linux_release - .linux_x86_64_v3_tags_cuda - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -282,7 +282,7 @@ t:cuda9.2-nvidia: - .cmake_test_linux_release - .linux_x86_64_tags_cuda - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_NO_MR: "true" @@ -293,7 +293,7 @@ t:cuda10.2-nvidia: - .linux_x86_64_tags_cuda - .cmake_junit_artifacts - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 t:cuda10.2-clang: extends: @@ -301,7 +301,7 @@ t:cuda10.2-clang: - .cmake_test_linux_release - .linux_x86_64_tags_cuda - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_NO_MR: "true" @@ -312,7 +312,7 @@ t:cuda11.6-nvidia: - .linux_x86_64_tags_cuda - .cmake_junit_artifacts - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 t:cuda11.6-clang: extends: @@ -320,7 +320,7 @@ t:cuda11.6-clang: - .cmake_test_linux_release - .linux_x86_64_tags_cuda - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_NO_MR: "true" @@ -330,7 +330,7 @@ t:cuda11.8-minimal-ninja: - .cmake_test_linux_release - .linux_x86_64_tags_cuda - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_NO_MR: "true" @@ -340,7 +340,7 @@ t:hip5.5-radeon: - .cmake_test_linux_release - .linux_x86_64_tags_radeon - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_NO_MR: "true" @@ -350,7 +350,7 @@ t:linux-gcc-cxx-modules-ninja: - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -360,7 +360,7 @@ t:linux-gcc-cxx-modules-ninja-multi: - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -371,7 +371,7 @@ t:debian10-legacy: - .linux_x86_64_tags - .cmake_junit_artifacts - .run_dependent - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 46b9602..8398108 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -11,11 +11,11 @@ GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" .linux_release_x86_64: - image: "kitware/cmake:build-linux-x86_64-deps-2020-04-02@sha256:77e9ab183f34680990db9da5945473e288f0d6556bce79ecc1589670d656e157" + image: "kitware/cmake:build-linux-x86_64-deps-2023-08-16@sha256:aa0ebdbd90a51cc83d31f393c5c48ec4599a28f7ccdc288558522c6265b24fae" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" - LAUNCHER: "scl enable devtoolset-6 rh-python36 --" + LAUNCHER: "scl enable devtoolset-7 --" CMAKE_ARCH: x86_64 .linux_release_aarch64: @@ -30,11 +30,11 @@ variables: BOOTSTRAP_ARGS: '-- "-DCMake_DOC_ARTIFACT_PREFIX=$CI_PROJECT_DIR/build/install-doc"' -.needs_centos6_x86_64: +.needs_centos7_x86_64: dependencies: - - b:centos6-x86_64 + - b:centos7-x86_64 needs: - - b:centos6-x86_64 + - b:centos7-x86_64 .needs_centos7_aarch64: dependencies: @@ -618,7 +618,7 @@ - .cmake_test_linux_release - .linux_x86_64_tags - .run_manually - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -628,7 +628,7 @@ - .cmake_test_linux_release - .linux_x86_64_tags - .run_manually - - .needs_centos6_x86_64 + - .needs_centos7_x86_64 variables: CMAKE_CI_JOB_NIGHTLY: "true" diff --git a/Help/release/dev/rel-linux-x86_64.rst b/Help/release/dev/rel-linux-x86_64.rst new file mode 100644 index 0000000..8302a1c --- /dev/null +++ b/Help/release/dev/rel-linux-x86_64.rst @@ -0,0 +1,5 @@ +rel-linux-x86_64 +---------------- + +* The precompiled Linux ``x86_64`` binaries provided on + `cmake.org <https://cmake.org/download/>`_ now require GLIBC 2.17 or higher. diff --git a/Utilities/Release/linux/x86_64/Dockerfile b/Utilities/Release/linux/x86_64/Dockerfile index 736ee26..71c8776 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-2020-04-02 -ARG FROM_IMAGE_DIGEST=@sha256:77e9ab183f34680990db9da5945473e288f0d6556bce79ecc1589670d656e157 +ARG FROM_IMAGE_NAME=kitware/cmake:build-linux-x86_64-deps-2023-08-16 +ARG FROM_IMAGE_DIGEST=@sha256:aa0ebdbd90a51cc83d31f393c5c48ec4599a28f7ccdc288558522c6265b24fae ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST FROM $FROM_IMAGE @@ -19,8 +19,7 @@ RUN : \ && mkdir -p /opt/cmake/src/cmake-build \ && cd /opt/cmake/src/cmake-build \ && cp ../cmake/Utilities/Release/linux/x86_64/cache.txt CMakeCache.txt \ - && source /opt/rh/devtoolset-6/enable \ - && source /opt/rh/rh-python36/enable \ + && source /opt/rh/devtoolset-7/enable \ && set -x \ && ../cmake/bootstrap --parallel=$(nproc) --docdir=doc/cmake \ && nice make -j $(nproc) \ diff --git a/Utilities/Release/linux/x86_64/base/Dockerfile b/Utilities/Release/linux/x86_64/base/Dockerfile index dfc7df8..5df138e 100644 --- a/Utilities/Release/linux/x86_64/base/Dockerfile +++ b/Utilities/Release/linux/x86_64/base/Dockerfile @@ -4,8 +4,8 @@ # Produce a base image with a build environment for portable CMake binaries. # Build using the directory containing this file as its own build context. -ARG FROM_IMAGE_NAME=centos:6 -ARG FROM_IMAGE_DIGEST=@sha256:dec8f471302de43f4cfcf82f56d99a5227b5ea1aa6d02fa56344986e1f4610e7 +ARG FROM_IMAGE_NAME=centos:7 +ARG FROM_IMAGE_DIGEST=@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST FROM $FROM_IMAGE @@ -14,8 +14,8 @@ RUN : \ && yum install -y \ ca-certificates \ curl \ - devtoolset-6-gcc \ - devtoolset-6-gcc-c++ \ + devtoolset-7-gcc \ + devtoolset-7-gcc-c++ \ fontconfig-devel \ freetype-devel \ git \ @@ -24,7 +24,8 @@ RUN : \ make \ patch \ perl \ - rh-python36-python-pip \ + python3-pip \ xz \ + which \ && yum clean all \ && : diff --git a/Utilities/Release/linux/x86_64/deps/Dockerfile b/Utilities/Release/linux/x86_64/deps/Dockerfile index 7864aac..b8bd164 100644 --- a/Utilities/Release/linux/x86_64/deps/Dockerfile +++ b/Utilities/Release/linux/x86_64/deps/Dockerfile @@ -4,17 +4,11 @@ # 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-2019-08-09 -ARG FROM_IMAGE_DIGEST=@sha256:d2c13617f01181a3143a069e4496d6b78eafffa19d181c42be196d5dfd588151 +ARG FROM_IMAGE_NAME=kitware/cmake:build-linux-x86_64-base-2023-08-16 +ARG FROM_IMAGE_DIGEST=@sha256:95c4d937a635067096dc8fa21b20cce6108ced091d3c42d56cf0261f40406a10 ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST FROM $FROM_IMAGE -# Sphinx -RUN : \ - && source /opt/rh/rh-python36/enable \ - && pip install sphinx==2.1.2 \ - && : - # Qt # Version 5.12.0 was the last to bundle xkbcommon. COPY qt-install.patch /opt/qt/src/ @@ -25,7 +19,7 @@ RUN : \ && sha512sum qt-everywhere-src-5.12.0.tar.xz | grep -q 0dd03d2645fb6dac5b58c8caf92b4a0a6900131f1ccfb02443a0df4702b5da0458f4c45e758d1b929ec709b0f4b36900df2fd60a058af9cc8c1a0748b6d57aae \ && tar xJf qt-everywhere-src-5.12.0.tar.xz \ && cd qt-build \ - && source /opt/rh/devtoolset-6/enable \ + && source /opt/rh/devtoolset-7/enable \ && ../qt-everywhere-src-5.12.0/configure \ -prefix /opt/qt \ -static \ @@ -97,7 +91,7 @@ RUN : \ -skip qtxmlpatterns \ -nomake examples \ -nomake tests \ - && make install -j $(nproc) \ + && make install \ && cd /opt/qt \ && patch -p1 -i src/qt-install.patch \ && cd /opt \ @@ -112,7 +106,7 @@ RUN : \ && sha512sum ncurses-6.1.tar.gz | grep -q e308af43f8b7e01e98a55f4f6c4ee4d1c39ce09d95399fa555b3f0cdf5fd0db0f4c4d820b4af78a63f6cf6d8627587114a40af48cfc066134b600520808a77ee \ && tar xzf ncurses-6.1.tar.gz \ && cd ncurses-build \ - && source /opt/rh/devtoolset-6/enable \ + && source /opt/rh/devtoolset-7/enable \ && ../ncurses-6.1/configure \ --prefix=/opt/ncurses \ --with-terminfo-dirs=/etc/terminfo:/lib/terminfo:/usr/share/terminfo \ @@ -129,12 +123,12 @@ 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.1f.tar.gz \ - && sha512sum openssl-1.1.1f.tar.gz | grep -q b00bd9b5ad5298fbceeec6bb19c1ab0c106ca5cfb31178497c58bf7e0e0cf30fcc19c20f84e23af31cc126bf2447d3e4f8461db97bafa7bd78f69561932f000c \ - && tar xzf openssl-1.1.1f.tar.gz \ - && cd openssl-1.1.1f \ + && 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 \ && patch -p1 -i ../openssl-source.patch \ - && source /opt/rh/devtoolset-6/enable \ + && 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 \ && make install_dev -j $(nproc) \ && cd /opt \ diff --git a/Utilities/Release/linux/x86_64/test/Dockerfile b/Utilities/Release/linux/x86_64/test/Dockerfile index 6629156..e6c195e 100644 --- a/Utilities/Release/linux/x86_64/test/Dockerfile +++ b/Utilities/Release/linux/x86_64/test/Dockerfile @@ -4,8 +4,8 @@ # Produce a base image with a test environment for packaged CMake binaries. # Build using the directory containing this file as its own build context. -ARG FROM_IMAGE_NAME=debian:9 -ARG FROM_IMAGE_DIGEST=@sha256:397b2157a9ea8d7f16c613aded70284292106e8b813fb1ed5de8a8785310a26a +ARG FROM_IMAGE_NAME=debian:10 +ARG FROM_IMAGE_DIGEST=@sha256:b86bfc1dd2fb1820fea6c1e0b6e23d155198b518b3a506f6edad71bf6e9a8cef ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST FROM $FROM_IMAGE |