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]

Reply via email to