From b1a48e212f27d12e1d4083bdcf549cd85cb2e27a Mon Sep 17 00:00:00 2001 From: Dely Date: Wed, 5 Aug 2026 19:48:23 +0800 Subject: [PATCH 1/6] refactor: use dph5199278/centos instead of centos --- docker/Dockerfile.centos | 4 +++- docker/Dockerfile.centos5 | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile.centos b/docker/Dockerfile.centos index 10f964a..69d1bc2 100644 --- a/docker/Dockerfile.centos +++ b/docker/Dockerfile.centos @@ -1,5 +1,5 @@ ARG VERSION_NUM="7" -FROM centos:$VERSION_NUM +FROM dph5199278/centos:$VERSION_NUM ARG VERSION_NUM ARG MIRROR=0 LABEL Author="Rex Zhou " @@ -9,6 +9,8 @@ WORKDIR /data # Copy all files COPY ./docker/ /data/docker/ +SHELL ["/entrypoint.sh"] + RUN export MIRROR="$MIRROR" && \ bash ./docker/modify_yum_source.sh && \ if [ "$VERSION_NUM" = "8" ]; then \ diff --git a/docker/Dockerfile.centos5 b/docker/Dockerfile.centos5 index 3f22706..247ed19 100644 --- a/docker/Dockerfile.centos5 +++ b/docker/Dockerfile.centos5 @@ -1,10 +1,12 @@ -FROM centos:5 AS builder +FROM dph5199278/centos:5 AS builder ARG MIRROR=1 WORKDIR /data COPY ./docker/*.sh /data/docker/ COPY ./downloads/perl* /data/ +SHELL ["/entrypoint.sh"] + RUN export MIRROR="$MIRROR" && \ bash ./docker/modify_yum_source.sh && \ yum install -y gcc44 make @@ -15,13 +17,15 @@ RUN mkdir -p perl && tar xfz perl-*.tar.gz --strip-components=1 -C perl && pushd RUN rm -rf perl-*.tar.gz perl -FROM centos:5 +FROM dph5199278/centos:5 ARG MIRROR=1 ENV PATH=/usr/local/perl/bin:$PATH WORKDIR /data COPY --from=builder /usr/local/perl /usr/local/perl COPY ./docker/*.sh /data/docker/ +SHELL ["/entrypoint.sh"] + RUN export MIRROR="$MIRROR" && \ bash ./docker/modify_yum_source.sh && \ yum install -y gcc44 autoconf automake make rpm-build setarch pam-devel krb5-devel zlib-devel && \ From 4bb5d616cfdd71ee46bc32661401428abd4f7aa1 Mon Sep 17 00:00:00 2001 From: Dely Date: Wed, 5 Aug 2026 19:49:34 +0800 Subject: [PATCH 2/6] refactor: change el5-el8 yum mirror --- docker/modify_yum_source.sh | 98 +++++++++---------------------------- 1 file changed, 24 insertions(+), 74 deletions(-) diff --git a/docker/modify_yum_source.sh b/docker/modify_yum_source.sh index e1ef81e..56f933d 100644 --- a/docker/modify_yum_source.sh +++ b/docker/modify_yum_source.sh @@ -8,95 +8,45 @@ RELEASE_VER=$(rpm --eval '%{?dist}') [ -z "$RELEASE_VER" ] && RELEASE_VER=".el5" -# Cent OS 5 is NOT support modern SSL protocol, so use plain HTTP protocol. -if [ "$RELEASE_VER" != ".el5" ]; then +function modify_el() { + if [ "$MIRROR" != "0" ]; then + # Using 163 mirror, which is much useful for Chinese users. + MIRROR_URL="mirrors.163.com/centos-vault"; + else + # Default mirror, the nsc mirror link. + MIRROR_URL="mirror.nsc.liu.se/centos-store"; + fi + + sed -e "s|mirror.nsc.liu.se/centos-store|${MIRROR_URL}|g" \ + /etc/yum.repos.d/CentOS-*.repo && \ + rm -rf /var/cache/yum/ && \ + yum makecache +} + +function modify_amzn() { if [ "$MIRROR" != "0" ]; then # Using USTC mirror, which is much useful for Chinese users. - MIRROR_URL="https://mirrors.ustc.edu.cn/centos-vault"; AWS_DOMAIN="amazonaws.com.cn" AWS_REGION="cn-northwest-1" else # Default mirror, the official mirror link. - MIRROR_URL="https://vault.centos.org/"; AWS_DOMAIN="amazonaws.com" AWS_REGION="us-east-2" fi - else - MIRROR_URL="http://mirrors.huaweicloud.com" -fi - -# For ARM platform, the mirror url needs a suffix `altarch` -if [ "$(uname -m)" = "aarch64" ]; then - OS_KEY="altarch" - if [ "$RELEASE_VER" != ".el8" ]; then - MIRROR_URL="$MIRROR_URL/$OS_KEY"; - fi -else - OS_KEY="centos" -fi -function modify_el8() { - sed -e "s|^mirrorlist=|#mirrorlist=|g" \ - -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=${MIRROR_URL}/8.5.2111|g" \ - -i.bak /etc/yum.repos.d/CentOS-*.repo && \ - rm -rf /var/cache/yum/ && \ - yum makecache timer -} - -function modify_el7() { - sed -e 's|^mirrorlist=|#mirrorlist=|g' \ - -e "s@^#baseurl=http://mirror.centos.org/$OS_KEY/\$releasever@baseurl=${MIRROR_URL}/7.9.2009@g" \ - -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=${MIRROR_URL}/7.9.2009|g" \ - -i.bak /etc/yum.repos.d/CentOS-*.repo && \ - rm -rf /var/cache/yum/ && \ - yum makecache fast -} - -function modify_el6() { - sed -e "s|^mirrorlist=|#mirrorlist=|g" \ - -e "s|^#baseurl=http://mirror.centos.org/$OS_KEY/\$releasever|baseurl=${MIRROR_URL}/6.10|g" \ - -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=${MIRROR_URL}/6.10|g" \ - -i.bak /etc/yum.repos.d/CentOS-*.repo && \ - rm -rf /var/cache/yum/ && \ - yum makecache fast -} - -function modify_el5() { - sed -e "s|^mirrorlist=|#mirrorlist=|g" \ - -e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=${MIRROR_URL}/centos-vault/5.11|g" \ - -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=${MIRROR_URL}/centos-vault/5.11|g" \ - -i.bak /etc/yum.repos.d/*.repo && \ - rm -rf /var/cache/yum/ && \ - yum makecache fast + [ -d /etc/yum/vars ] && echo "$AWS_DOMAIN" > /etc/yum/vars/awsdomain && echo "$AWS_REGION" > /etc/yum/vars/awsregion + [ -d /etc/dnf/vars ] && echo "$AWS_DOMAIN" > /etc/dnf/vars/awsdomain && echo "$AWS_REGION" > /etc/dnf/vars/awsregion } case $RELEASE_VER in - .el8) - modify_el8 - ;; - .el7) - modify_el7 - ;; - .el6) - modify_el6 - ;; - .el5) - modify_el5 - ;; - .amzn1) - echo "$AWS_DOMAIN" > /etc/yum/vars/awsdomain - echo "$AWS_REGION" > /etc/yum/vars/awsregion - ;; - .amzn2) - echo "$AWS_DOMAIN" > /etc/yum/vars/awsdomain - echo "$AWS_REGION" > /etc/yum/vars/awsregion + .el*) + modify_el ;; - .amzn2023) - echo "$AWS_DOMAIN" > /etc/dnf/vars/awsdomain - echo "$AWS_REGION" > /etc/dnf/vars/awsregion + .amzn*) + modify_amzn ;; *) - echo "rpm dist undefined, please specify: el5 el6 el7" + echo "rpm dist undefined, please specify: el5 el6 el7 el8" exit 1 ;; -esac +esac \ No newline at end of file From 94a0d9cee0fd1db39faca2a3637f0f93c710bd73 Mon Sep 17 00:00:00 2001 From: Dely Date: Wed, 5 Aug 2026 19:51:54 +0800 Subject: [PATCH 3/6] refactor: el8 use Dockerfile.centos --- .github/workflows/build-images.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-images.yml b/.github/workflows/build-images.yml index 957a6b5..a373a30 100755 --- a/.github/workflows/build-images.yml +++ b/.github/workflows/build-images.yml @@ -92,7 +92,7 @@ jobs: VERSION_NUM=7 MIRROR=0 - tag_suffix: aarch64_el8 - dockerfile: ./docker/Dockerfile.centos-stream + dockerfile: ./docker/Dockerfile.centos build_args: | VERSION_NUM=8 MIRROR=0 From 2e50b700f7c53ea21e40854460dd514c1b260eaf Mon Sep 17 00:00:00 2001 From: Dely Date: Wed, 5 Aug 2026 20:08:06 +0800 Subject: [PATCH 4/6] fix: el5: fail to download perl --- pullsrc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pullsrc.sh b/pullsrc.sh index e623c51..351f86b 100755 --- a/pullsrc.sh +++ b/pullsrc.sh @@ -69,7 +69,7 @@ if [[ ! -f $ASKPASSSRC && ${DOCKERBUILD:-0} == 0 ]]; then echo "!!! Please download $ASKPASSSRC in $PWD by yourself." fi -if [[ $($__dir/compile.sh GETEL) == "el5" && ${DOCKERBUILD:-0} == 1 && ! -f $PERLSRC ]]; then +if [[ ${DOCKERBUILD:-0} == 1 && ! -f $PERLSRC ]]; then echo Get: $PERLMIR/$PERLSRC wget --no-check-certificate $PERLMIR/$PERLSRC || \ echo "!!! Please download $PERLSRC in $PWD by yourself." From 4a112b53423c14bacfba22145de82f1259d91af0 Mon Sep 17 00:00:00 2001 From: Dely Date: Wed, 5 Aug 2026 20:12:07 +0800 Subject: [PATCH 5/6] fix: el8: repo powertools default enable --- docker/Dockerfile.centos | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker/Dockerfile.centos b/docker/Dockerfile.centos index 69d1bc2..2480a01 100644 --- a/docker/Dockerfile.centos +++ b/docker/Dockerfile.centos @@ -15,8 +15,7 @@ RUN export MIRROR="$MIRROR" && \ bash ./docker/modify_yum_source.sh && \ if [ "$VERSION_NUM" = "8" ]; then \ yum install -y perl perl-IPC-Cmd perl-Time-Piece systemd-devel openssl-devel && \ - yum install -y 'dnf-command(config-manager)' && \ - yum config-manager --set-enabled powertools; \ + yum install -y 'dnf-command(config-manager)'; \ elif [ "$VERSION_NUM" = "7" ]; then \ yum install -y systemd-devel perl perl-IPC-Cmd perl-Time-Piece ;\ elif [ "$VERSION_NUM" = "6" ]; then \ From 0a0658742f619b1188518da23ea469b6b941f489 Mon Sep 17 00:00:00 2001 From: Dely Date: Thu, 6 Aug 2026 12:25:38 +0800 Subject: [PATCH 6/6] fix: el5: install i386 package --- docker/Dockerfile.centos5 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docker/Dockerfile.centos5 b/docker/Dockerfile.centos5 index 247ed19..b2769a4 100644 --- a/docker/Dockerfile.centos5 +++ b/docker/Dockerfile.centos5 @@ -28,9 +28,7 @@ SHELL ["/entrypoint.sh"] RUN export MIRROR="$MIRROR" && \ bash ./docker/modify_yum_source.sh && \ - yum install -y gcc44 autoconf automake make rpm-build setarch pam-devel krb5-devel zlib-devel && \ - sed 's|]$|-i386]|;s|\$basearch|i386|g' /etc/yum.repos.d/CentOS-Base.repo > /etc/yum.repos.d/CentOS-Base-i386.repo && \ - yum makecache && \ + yum install -y gcc44 autoconf automake make rpm-build pam-devel krb5-devel zlib-devel && \ yum install -y glibc-devel.i386 libgcc.i386 pam-devel.i386 krb5-devel.i386 zlib-devel.i386 e2fsprogs-devel.i386 && \ yum clean all