fpm打包python3.7安裝過程爲rpm

python3.7安裝包

需要的安裝包

  • Python3.7
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz
  • openssl安裝包
wget https://www.openssl.org/source/openssl-1.0.2t.tar.gz

after-install 腳本

install_py37.sh

#!/bin/sh
date_str=`date +%F_%T`
function install_openssl(){
        if [ -d /usr/local/openssl ];then
                mv /usr/local/openssl /usr/local/openssl-$date_str
        fi
        echo -e "\033[33m====> 安裝openssl\033[0m"
        cd /usr/local
        tar -xzvf openssl-1.0.2t.tar.gz
        cd openssl-1.0.2t/
        ./config --prefix=/usr/local/openssl shared zlib
        make && make install
        # 加入系統環境變量
        echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib" >> /etc/profile
        source /etc/profile
}

function install_py37(){
        if [ -d /usr/local/python37 ];then
                mv /usr/local/python37 /usr/local/python37-$date_str
        fi
        echo -e "\033[33m====> 安裝python3.7\033[0m"
        cd /usr/local
        tar -xJvf Python-3.7.5.tar.xz
        cd Python-3.7.5/
        ./configure --prefix=/usr/local/python37 --with-openssl=/usr/local/openssl
        make && make install
        if [ -e /usr/local/bin/python3.7 ];then
                /bin/rm /usr/bin/python3.7
        fi
        if [ -e /usr/bin/pip3.7 ];then
                /bin/rm /usr/bin/pip3.7
        fi
        ln -s /usr/local/python37/bin/python3.7 /usr/bin/python3.7
        ln -s /usr/local/python37/bin/pip3.7 /usr/bin/pip3.7
}
function clean(){
        echo -e "\033[33m====> 清除文件\033[0m"
        /bin/rm -rf /usr/local/{openssl-1.0.2t.tar.gz,Python-3.7.5.tar.xz}
        /bin/rm -rf /usr/local/openssl-1.0.2t
        /bin/rm -rf /usr/local/Python-3.7.5
}
echo -e "\033[33m====> 安裝依賴\033[0m"
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
install_openssl
if [ $? == 0 ];then
        install_py37
        if [ $? == 0 ];then
                echo -e "\033[32m安裝python3.7成功!\033[0m"
                clean
                exit 0
        else
                echo -e "\033[31m安裝python3.7失敗\033[0m"
                exit 1
        fi
else
        echo -e "\033[31m安裝openssl失敗!\033[0m"
        exit 1
fi

打包

fpm -t rpm -s dir -f -m test -n python3.7 -v 0.1 --after-install install_py37.sh openssl-1.0.2t.tar.gz=/usr/local/ Python-3.7.5.tar.xz=/usr/local/
發佈了133 篇原創文章 · 獲贊 125 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章