This is an automated email from the ASF dual-hosted git repository. slfan1989 pushed a commit to branch branch-3.4 in repository https://gitbox.apache.org/repos/asf/hadoop.git
commit ffdb112acfe4131e8dad60107285e99cf2521e91 Author: slfan1989 <[email protected]> AuthorDate: Tue Aug 26 10:28:19 2025 +0800 HADOOP-19636. [JDK17] Remove CentOS 7 Support and Clean Up Dockerfile. (#7822) * HADOOP-19636. [JDK17] Remove CentOS 7 Support and Clean Up Dockerfile. Co-authored-by: Cheng Pan <[email protected]> Co-authored-by: Istvan Toth <[email protected]> Reviewed-by: Xiaoqiao He <[email protected]> Reviewed-by: Steve Loughran <[email protected]> Reviewed-by: Chris Nauroth <[email protected]> Reviewed-by: Cheng Pan <[email protected]> Reviewed-by: Istvan Toth <[email protected]> Signed-off-by: Shilun Fan <[email protected]> --- dev-support/Jenkinsfile | 52 ------------ dev-support/docker/Dockerfile_centos_7 | 108 ------------------------- dev-support/docker/pkg-resolver/packages.json | 58 +------------ dev-support/docker/pkg-resolver/platforms.json | 1 - 4 files changed, 3 insertions(+), 216 deletions(-) diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile index 51225268b65..06095cc8a4f 100644 --- a/dev-support/Jenkinsfile +++ b/dev-support/Jenkinsfile @@ -83,12 +83,6 @@ pipeline { // optional stages after the first one. stage ('setup sources') { steps { - dir("${WORKSPACE}/centos-7") { - sh '''#!/usr/bin/env bash - - cp -Rp ${WORKSPACE}/src ${WORKSPACE}/centos-7 - ''' - } dir("${WORKSPACE}/centos-8") { sh '''#!/usr/bin/env bash @@ -113,52 +107,6 @@ pipeline { } } - // This is an optional stage which runs only when there's a change in - // C++/C++ build/platform. - // This stage serves as a means of cross platform validation, which is - // really needed to ensure that any C++ related/platform change doesn't - // break the Hadoop build on Centos 7. - stage ('precommit-run Centos 7') { - environment { - SOURCEDIR = "${WORKSPACE}/centos-7/src" - PATCHDIR = "${WORKSPACE}/centos-7/out" - DOCKERFILE = "${SOURCEDIR}/dev-support/docker/Dockerfile_centos_7" - IS_OPTIONAL = 1 - } - - steps { - withCredentials(getGithubCreds()) { - sh '''#!/usr/bin/env bash - - chmod u+x "${SOURCEDIR}/dev-support/jenkins.sh" - "${SOURCEDIR}/dev-support/jenkins.sh" run_ci - ''' - } - } - - post { - // Since this is an optional platform, we want to copy the artifacts - // and archive it only if the build fails, to help with debugging. - failure { - sh '''#!/usr/bin/env bash - - cp -Rp "${WORKSPACE}/centos-7/out" "${WORKSPACE}" - ''' - archiveArtifacts "out/**" - } - - cleanup() { - script { - sh '''#!/usr/bin/env bash - - chmod u+x "${SOURCEDIR}/dev-support/jenkins.sh" - "${SOURCEDIR}/dev-support/jenkins.sh" cleanup_ci_proc - ''' - } - } - } - } - // This is an optional stage which runs only when there's a change in // C++/C++ build/platform. // This stage serves as a means of cross platform validation, which is diff --git a/dev-support/docker/Dockerfile_centos_7 b/dev-support/docker/Dockerfile_centos_7 deleted file mode 100644 index b97e59969a7..00000000000 --- a/dev-support/docker/Dockerfile_centos_7 +++ /dev/null @@ -1,108 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Dockerfile for installing the necessary dependencies for building Hadoop. -# See BUILDING.txt. - -FROM centos:7 - -WORKDIR /root - -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -###### -# Platform package dependency resolver -###### -COPY pkg-resolver pkg-resolver -RUN chmod a+x pkg-resolver/*.sh pkg-resolver/*.py \ - && chmod a+r pkg-resolver/*.json - -###### -# Centos 7 has reached its EOL and the packages -# are no longer available on mirror.centos.org site. -# Please see https://www.centos.org/centos-linux-eol/ -###### -RUN pkg-resolver/set-vault-as-baseurl-centos.sh centos:7 - -###### -# Install packages from yum -###### -# hadolint ignore=DL3008,SC2046 -RUN yum update -y \ - && yum groupinstall -y "Development Tools" \ - && yum install -y \ - centos-release-scl \ - python3 - -# Apply the script again because centos-release-scl creates new YUM repo files -RUN pkg-resolver/set-vault-as-baseurl-centos.sh centos:7 - -# hadolint ignore=DL3008,SC2046 -RUN yum install -y $(pkg-resolver/resolve.py centos:7) - -# Set GCC 9 as the default C/C++ compiler -RUN echo "source /opt/rh/devtoolset-9/enable" >> /etc/bashrc -SHELL ["/bin/bash", "--login", "-c"] - -###### -# Set the environment variables needed for CMake -# to find and use GCC 9 for compilation -###### -ENV GCC_HOME "/opt/rh/devtoolset-9" -ENV CC "${GCC_HOME}/root/usr/bin/gcc" -ENV CXX "${GCC_HOME}/root/usr/bin/g++" -ENV SHLVL 1 -ENV LD_LIBRARY_PATH "${GCC_HOME}/root/usr/lib64:${GCC_HOME}/root/usr/lib:${GCC_HOME}/root/usr/lib64/dyninst:${GCC_HOME}/root/usr/lib/dyninst:${GCC_HOME}/root/usr/lib64:${GCC_HOME}/root/usr/lib:/usr/lib:/usr/lib64" -ENV PCP_DIR "${GCC_HOME}/root" -ENV MANPATH "${GCC_HOME}/root/usr/share/man:" -ENV PATH "${GCC_HOME}/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" -ENV PKG_CONFIG_PATH "${GCC_HOME}/root/usr/lib64/pkgconfig" -ENV INFOPATH "${GCC_HOME}/root/usr/share/info" - -# TODO: Set locale - -###### -# Set env vars required to build Hadoop -###### -ENV MAVEN_HOME /opt/maven -ENV PATH "${PATH}:${MAVEN_HOME}/bin" -# JAVA_HOME must be set in Maven >= 3.5.0 (MNG-6003) -ENV JAVA_HOME /usr/lib/jvm/java-1.8.0 - -####### -# Set env vars for SpotBugs -####### -ENV SPOTBUGS_HOME /opt/spotbugs - -####### -# Set env vars for Google Protobuf 3.21.12 -####### -ENV PROTOBUF_HOME /opt/protobuf -ENV PATH "${PATH}:/opt/protobuf/bin" - -###### -# Install packages -###### -RUN pkg-resolver/install-maven.sh centos:7 -RUN pkg-resolver/install-cmake.sh centos:7 -RUN pkg-resolver/install-zstandard.sh centos:7 -RUN pkg-resolver/install-yasm.sh centos:7 -RUN pkg-resolver/install-protobuf.sh centos:7 -RUN pkg-resolver/install-boost.sh centos:7 -RUN pkg-resolver/install-spotbugs.sh centos:7 -RUN pkg-resolver/install-nodejs.sh centos:7 -RUN pkg-resolver/install-git.sh centos:7 -RUN pkg-resolver/install-common-pkgs.sh diff --git a/dev-support/docker/pkg-resolver/packages.json b/dev-support/docker/pkg-resolver/packages.json index 4b37ea62b42..efa6b1726ce 100644 --- a/dev-support/docker/pkg-resolver/packages.json +++ b/dev-support/docker/pkg-resolver/packages.json @@ -4,7 +4,6 @@ "ubuntu:focal": "ant", "ubuntu:focal::arch64": "ant", "ubuntu:noble": "ant", - "centos:7": "ant", "centos:8": "ant" }, "apt-utils": { @@ -18,12 +17,8 @@ "ubuntu:focal": "automake", "ubuntu:noble": "automake", "ubuntu:focal::arch64": "automake", - "centos:7": "automake", "centos:8": "automake" }, - "autoconf": { - "centos:7": "autoconf" - }, "bats": { "debian:10": "bats", "ubuntu:focal": "bats", @@ -34,8 +29,7 @@ "debian:10": "build-essential", "ubuntu:focal": "build-essential", "ubuntu:noble": "build-essential", - "ubuntu:focal::arch64": "build-essential", - "centos:7": "build-essential" + "ubuntu:focal::arch64": "build-essential" }, "bzip2": { "debian:10": [ @@ -54,10 +48,6 @@ "bzip2", "libbz2-dev" ], - "centos:7": [ - "bzip2", - "bzip2-devel" - ], "centos:8": [ "bzip2", "bzip2-devel" @@ -68,7 +58,6 @@ "ubuntu:focal": "clang", "ubuntu:noble": "clang", "ubuntu:focal::arch64": "clang", - "centos:7": "clang", "centos:8": "clang" }, "cmake": { @@ -93,10 +82,6 @@ "curl", "libcurl4-openssl-dev" ], - "centos:7": [ - "curl", - "libcurl-devel" - ], "centos:8": [ "curl", "libcurl-devel" @@ -106,8 +91,7 @@ "debian:10": "doxygen", "ubuntu:focal": "doxygen", "ubuntu:noble": "doxygen", - "ubuntu:focal::arch64": "doxygen", - "centos:7": "doxygen" + "ubuntu:focal::arch64": "doxygen" }, "dnf": { "centos:8": "dnf" @@ -129,11 +113,6 @@ "fuse", "libfuse-dev" ], - "centos:7": [ - "fuse", - "fuse-libs", - "fuse-devel" - ], "centos:8": [ "fuse", "fuse-libs", @@ -158,15 +137,8 @@ "ubuntu:focal::arch64": [ "gcc", "g++" - ], - "centos:7": [ - "centos-release-scl", - "devtoolset-9" ] }, - "gettext": { - "centos:7": "gettext-devel" - }, "git": { "debian:10": "git", "ubuntu:focal": "git", @@ -197,7 +169,6 @@ "ubuntu:focal": "libtool", "ubuntu:noble": "libtool", "ubuntu:focal::arch64": "libtool", - "centos:7": "libtool", "centos:8": "libtool" }, "openssl": { @@ -205,7 +176,6 @@ "ubuntu:focal": "libssl-dev", "ubuntu:noble": "libssl-dev", "ubuntu:focal::arch64": "libssl-dev", - "centos:7": "openssl-devel", "centos:8": "openssl-devel" }, "perl": { @@ -237,15 +207,13 @@ "ubuntu:focal": "libsasl2-dev", "ubuntu:noble": "libsasl2-dev", "ubuntu:focal::arch64": "libsasl2-dev", - "centos:7": "cyrus-sasl-devel", "centos:8": "cyrus-sasl-devel" }, "snappy": { "debian:10": "libsnappy-dev", "ubuntu:focal": "libsnappy-dev", "ubuntu:noble": "libsnappy-dev", - "ubuntu:focal::arch64": "libsnappy-dev", - "centos:7": "snappy-devel" + "ubuntu:focal::arch64": "libsnappy-dev" }, "zlib": { "debian:10": [ @@ -264,10 +232,6 @@ "libzstd-dev", "zlib1g-dev" ], - "centos:7": [ - "zlib-devel", - "lz4-devel" - ], "centos:8": [ "zlib-devel", "lz4-devel" @@ -280,19 +244,14 @@ "ubuntu:focal::arch64": "locales" }, "libtirpc-devel": { - "centos:7": "libtirpc-devel", "centos:8": "libtirpc-devel", "ubuntu:noble": "libtirpc-dev" }, - "libpmem": { - "centos:7": "libpmem-devel" - }, "make": { "debian:10": "make", "ubuntu:focal": "make", "ubuntu:noble": "make", "ubuntu:focal::arch64": "make", - "centos:7": "make", "centos:8": "make" }, "maven": { @@ -326,7 +285,6 @@ "ubuntu:focal": "pinentry-curses", "ubuntu:noble": "pinentry-curses", "ubuntu:focal::arch64": "pinentry-curses", - "centos:7": "pinentry-curses", "centos:8": "pinentry-curses" }, "pkg-config": { @@ -366,12 +324,6 @@ "python3-setuptools", "python3-wheel" ], - "centos:7": [ - "python3", - "python3-pip", - "python3-setuptools", - "python3-wheel" - ], "centos:8": [ "python3", "python3-pip", @@ -384,7 +336,6 @@ "ubuntu:focal": "rsync", "ubuntu:noble": "rsync", "ubuntu:focal::arch64": "rsync", - "centos:7": "rsync", "centos:8": "rsync" }, "shellcheck": { @@ -394,7 +345,6 @@ "ubuntu:focal::arch64": "shellcheck" }, "shasum": { - "centos:7": "perl-Digest-SHA", "centos:8": "perl-Digest-SHA" }, "software-properties-common": { @@ -408,7 +358,6 @@ "ubuntu:focal": "sudo", "ubuntu:noble": "sudo", "ubuntu:focal::arch64": "sudo", - "centos:7": "sudo", "centos:8": "sudo" }, "valgrind": { @@ -416,7 +365,6 @@ "ubuntu:focal": "valgrind", "ubuntu:noble": "valgrind", "ubuntu:focal::arch64": "valgrind", - "centos:7": "valgrind", "centos:8": "valgrind" }, "yasm": { diff --git a/dev-support/docker/pkg-resolver/platforms.json b/dev-support/docker/pkg-resolver/platforms.json index 2ff65b52823..47842cac9b4 100644 --- a/dev-support/docker/pkg-resolver/platforms.json +++ b/dev-support/docker/pkg-resolver/platforms.json @@ -2,7 +2,6 @@ "ubuntu:focal", "ubuntu:focal::arch64", "ubuntu:noble", - "centos:7", "centos:8", "debian:10" ] \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
