File size: 1,824 Bytes
a757bd3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #!/bin/bash
pyversion=${1}
need_openssl111check=${2}
extended_args=${3}
py_path=/www/server/pyporject_evn/versions
py_cache=/www/server/pyporject_evn/versions/cached
cpuCore=$(cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l)
mkdir -p ${py_path}
download_Url='https://download.bt.cn'
install_python() {
\cp ${py_cache}/Python-${pyversion}.tar.xz /tmp/Python-${pyversion}.tar.xz
cd /tmp/ && xz -d /tmp/Python-${pyversion}.tar.xz && tar -xvf /tmp/Python-${pyversion}.tar
cd /tmp/Python-${pyversion} || exit
if [ ${pyversion:0:1} -ge 2 ]; then
openssl111check=$(openssl version | grep 1.1.1)
if [ -z "${openssl111check}" ]; then
Install_Openssl111
WITH_SSL="--with-openssl=/usr/local/openssl111"
else
WITH_SSL=""
fi
if [[ "$need_openssl111check"=="not_check_openssl" ]]; then
WITH_SSL=""
fi
cd /tmp/Python-${pyversion} || exit
./configure --prefix=${py_path}/${pyversion} ${WITH_SSL} -with-openssl-rpath=auto ${extended_args}
make -j${cpuCore}
make install
rm -rf /tmp/Python-*
else
./configure --prefix=${py_path}/${pyversion}
make -j${cpuCore}
make install
rm -rf /tmp/Python-*
fi
}
Install_Openssl111() {
opensslCheck=$(/usr/local/openssl111/bin/openssl version | grep 1.1.1)
if [ -z "${opensslCheck}" ]; then
opensslVersion="1.1.1o"
cd /tmp/
wget ${download_Url}/src/openssl-${opensslVersion}.tar.gz
tar -zxf openssl-${opensslVersion}.tar.gz
rm -f openssl-${opensslVersion}.tar.gz
cd openssl-${opensslVersion} || exit
./config --prefix=/usr/local/openssl111 zlib-dynamic
make -j${cpuCore}
make install
echo "/usr/local/openssl111/lib" >>/etc/ld.so.conf.d/openssl111.conf
ldconfig
ldconfig /lib64
cd ..
rm -rf openssl-${opensslVersion}
fi
}
install_python
|