From b1e9d05fd45c668d0aa62659b8a0f34797d2ff25 Mon Sep 17 00:00:00 2001 From: xiongyu Date: Thu, 7 Mar 2024 07:46:52 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E9=95=9C=E5=83=8F=E4=B8=BA=20rockylinux:8=EF=BC=8C=E5=8D=87?= =?UTF-8?q?=E7=BA=A7python=20=E7=89=88=E6=9C=AC=E4=B8=BA3.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiongyu --- GreatSQL-Shell-Build/Dockerfile | 15 +++++---------- GreatSQL-Shell-Build/docker-entrypoint.sh | 7 ++----- GreatSQL-Shell-Build/greatsqlsh-automake.sh | 4 +++- GreatSQL-Shell-Build/greatsqlsh-setenv.sh | 3 ++- 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/GreatSQL-Shell-Build/Dockerfile b/GreatSQL-Shell-Build/Dockerfile index 217f932..7402bda 100644 --- a/GreatSQL-Shell-Build/Dockerfile +++ b/GreatSQL-Shell-Build/Dockerfile @@ -1,11 +1,13 @@ -FROM centos:8 -#FROM docker.io/arm64v8/centos +FROM rockylinux:8 +#FROM docker.io/arm64v8/rockylinux LABEL maintainer="greatsql.cn" \ email="greatsql@greatdb.com" \ forum="https://greatsql.cn/forum.php" \ gitee="https://gitee.com/GreatSQL/GreatSQL-Shell-Docker" +COPY *.sh /opt/ + ENV LANG en_US.utf8 ARG OPT_DIR=/opt \ MYSQL_UID=3306 \ @@ -13,7 +15,7 @@ MYSQL_USER=mysql \ DEPS="autoconf automake binutils bison cmake cyrus-sasl-devel cyrus-sasl-scram gcc-c++ \ gcc-toolset-11 gcc-toolset-11-annobin-plugin-gcc libcurl-devel libssh libssh-config libssh-devel \ libtirpc-devel libudev-devel libuuid libuuid-devel m4 make ncurses-devel openssl openssl-devel \ -patch python38 python38-devel python38-libs python38-pyyaml uuid wget zlib-devel" \ +patch python39 python39-devel python39-libs python39-pyyaml uuid wget zlib-devel tar xz" \ GREATSQLSH_BUILD_DOWNLOAD_URL="https://gitee.com/GreatSQL/GreatSQL-Docker/raw/greatsql-8.0.32-25/GreatSQL-Shell-Build" \ GREATSQLSH_ENV="greatsqlsh-setenv.sh" \ ENTRYPOINT="docker-entrypoint.sh" @@ -29,21 +31,14 @@ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*; \ -rm -f /etc/yum.repos.d/CentOS-Linux-* ; \ -curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo > /dev/null 2>&1 && \ -sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo > /dev/null 2>&1 && \ dnf clean all > /dev/null 2>&1 && \ dnf -y update > /dev/null 2>&1 ; \ -rm -f /etc/yum.repos.d/CentOS-Linux-* ; \ dnf clean all > /dev/null 2>&1 && \ -rm -f /etc/yum.repos.d/CentOS-Linux-* ; \ dnf install -y ${DEPS} > /dev/null 2>&1 ; \ echo 'source /opt/rh/gcc-toolset-11/enable' >> /root/.bash_profile; \ /usr/sbin/groupadd -g ${MYSQL_UID} ${MYSQL_USER} && \ /usr/sbin/useradd -u ${MYSQL_UID} -g ${MYSQL_UID} -s /sbin/nologin ${MYSQL_USER} && \ mkdir -p ${OPT_DIR} && \ -curl -o ${OPT_DIR}/${GREATSQLSH_ENV} ${GREATSQLSH_BUILD_DOWNLOAD_URL}/${GREATSQLSH_ENV} > /dev/null 2>&1 && \ -curl -o ${OPT_DIR}/${ENTRYPOINT} ${GREATSQLSH_BUILD_DOWNLOAD_URL}/${ENTRYPOINT} > /dev/null 2>&1 && \ chmod +x ${OPT_DIR}/*sh ENTRYPOINT ["/opt/docker-entrypoint.sh"] diff --git a/GreatSQL-Shell-Build/docker-entrypoint.sh b/GreatSQL-Shell-Build/docker-entrypoint.sh index 1afc8df..9af4fd2 100755 --- a/GreatSQL-Shell-Build/docker-entrypoint.sh +++ b/GreatSQL-Shell-Build/docker-entrypoint.sh @@ -9,8 +9,6 @@ echo && \ echo "1. downloading sourcecode tarballs and extract" cd ${OPT_DIR} && \ echo " 1.1 downloading sourcecode tarballs ..." && \ -wget -c -O ${GREATSQLSH_ENV} ${GREATSQLSH_BUILD_DOWNLOAD_URL}/${GREATSQLSH_ENV} >> ${MAKELOG} 2>&1 && \ -wget -c -O ${GREATSQLSH_MAKESH} ${GREATSQLSH_BUILD_DOWNLOAD_URL}/${GREATSQLSH_MAKESH} >> ${MAKELOG} 2>&1 && \ wget -c -O ${GREATSQLSH_PATCH} ${GREATSQLSH_BUILD_DOWNLOAD_URL}/${GREATSQLSH_PATCH} >> ${MAKELOG} 2>&1 && \ wget -c -O ${RPCGEN} ${GREATSQL_BUILD_DOWNLOAD_URL}/${RPCGEN} >> ${MAKELOG} 2>&1 && \ wget -c -O ${PATCHELF}.tar.gz ${GREATSQL_BUILD_DOWNLOAD_URL}/${PATCHELF}.tar.gz >> ${MAKELOG} 2>&1 && \ @@ -52,12 +50,11 @@ echo "5. compiling MySQL Shell for GreatSQL" su - ${MYSQL_USER} -s /bin/bash -c "cd ${OPT_DIR}; /bin/sh ${OPT_DIR}/${GREATSQLSH_MAKESH}" && \ echo && \ echo "6. MySQL Shell for GreatSQL 8.0.32-25 build completed!" -pip3.8 install --user certifi pyclamd >> ${MAKELOG} 2>&1 && \ +pip3.9 install --user certifi pyclamd >> ${MAKELOG} 2>&1 && \ echo " 6.1 MySQL Shell for GreatSQL 8.0.32-25 version:" && \ ${BASE_DIR}/bin/mysqlsh --version && \ cd ${OPT_DIR} && \ -tar cf ${GREATSQLSH}.tar ${GREATSQLSH} >> ${MAKELOG} 2>&1 && \ -xz -9 -f -T${MAKE_JOBS} ${GREATSQLSH}.tar >> ${MAKELOG} 2>&1 && \ +tar -Jcf ${GREATSQLSH}.tar.xz ${GREATSQLSH} >> ${MAKELOG} 2>&1 && \ echo " 6.2 TARBALL file:" && \ ls -la ${OPT_DIR}/${GREATSQLSH}.tar.xz && \ cd ${OPT_DIR} && \ diff --git a/GreatSQL-Shell-Build/greatsqlsh-automake.sh b/GreatSQL-Shell-Build/greatsqlsh-automake.sh index f818688..0fe6c5f 100755 --- a/GreatSQL-Shell-Build/greatsqlsh-automake.sh +++ b/GreatSQL-Shell-Build/greatsqlsh-automake.sh @@ -25,6 +25,8 @@ cmake .. \ -DWITH_PROTOBUF=bundled \ -DBUILD_SOURCE_PACKAGE=0 \ -DBUNDLED_ANTLR_DIR=/usr/local/antlr4/ \ --DPYTHON_LIBRARIES=/usr/lib64/python3.8 -DPYTHON_INCLUDE_DIRS=/usr/include/python3.8/ >> ${MAKELOG} 2>&1 \ +-DPYTHON_LIBRARIES=/usr/lib64/python3.9 -DPYTHON_INCLUDE_DIRS=/usr/include/python3.9/ >> ${MAKELOG} 2>&1 \ && make -j${MAKE_JOBS} >> ${MAKELOG} 2>&1 && make -j${MAKE_JOBS} install >> ${MAKELOG} 2>&1 && \ cp /usr/local/lib/libprotobuf.so.30 ${BASE_DIR}/lib/mysqlsh/ +cp /usr/lib64/libcrypto.so.1.1 ${BASE_DIR}/lib/mysqlsh/libcrypto.so.1.1 +cp /usr/lib64/libssl.so.1.1 ${BASE_DIR}/lib/mysqlsh/libssl.so.1.1 diff --git a/GreatSQL-Shell-Build/greatsqlsh-setenv.sh b/GreatSQL-Shell-Build/greatsqlsh-setenv.sh index 4d97527..0b10c79 100755 --- a/GreatSQL-Shell-Build/greatsqlsh-setenv.sh +++ b/GreatSQL-Shell-Build/greatsqlsh-setenv.sh @@ -14,7 +14,8 @@ MYSQL_VERSTION=8.0.32 RELEASE=25 GLIBC=`ldd --version | head -n 1 | awk '{print $NF}'` ARCH=`uname -p` -OS=`grep '^ID=' /etc/os-release | sed 's/.*"\(.*\)".*/\1/ig'` +#OS=`grep '^ID=' /etc/os-release | sed 's/.*"\(.*\)".*/\1/ig'` +OS=el8 MAKELOG=/tmp/greatsqlsh-automake.log MYSQL_USER=mysql GREATSQLSH=greatsql-shell-${MYSQL_VERSTION}-${RELEASE}-${OS}-glibc${GLIBC}-${ARCH} -- Gitee From d259425a0bdfe1e985da594f2e6ddda47fde4102 Mon Sep 17 00:00:00 2001 From: xiongyu Date: Tue, 12 Mar 2024 00:37:25 +0000 Subject: [PATCH 2/2] update GreatSQL-Shell-Build/CHANGELOG.md. Signed-off-by: xiongyu --- GreatSQL-Shell-Build/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/GreatSQL-Shell-Build/CHANGELOG.md b/GreatSQL-Shell-Build/CHANGELOG.md index ac10a01..7bb3e15 100644 --- a/GreatSQL-Shell-Build/CHANGELOG.md +++ b/GreatSQL-Shell-Build/CHANGELOG.md @@ -1,5 +1,9 @@ # 8.0.32-25 更新日志 +## 2024.3.11 +* 更新基础镜像为 el8(rockylinux:8)。 +* 升级 python 为 3.9,并复制 openssl1.1.1 的运行库,构建后的二进制包可运行于el8 及其衍生版、el9 及其衍生版、openEuler 2203。 + ## 2024.2.20 * 优化GreatSQL-Shell-Build,改用从服务器上下载,无需准备本地二进制文件包。 -- Gitee