fpmパッケージpython 3.7取付過程rpm

2601 ワード

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/