From 3d555914364b0d960edb508005a35bf0ebbfe002 Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Sat, 15 Jan 2022 11:42:52 -0500 Subject: [PATCH] Update linux-before-install.sh --- .github/actions/linux-before-install.sh | 158 +++++++++++------------- 1 file changed, 71 insertions(+), 87 deletions(-) diff --git a/.github/actions/linux-before-install.sh b/.github/actions/linux-before-install.sh index 92174cca..0c08b7e2 100755 --- a/.github/actions/linux-before-install.sh +++ b/.github/actions/linux-before-install.sh @@ -1,40 +1,37 @@ -echo "RUNNING: apt update..." -sudo apt-get -qq --yes update > /dev/null -sudo apt-get -qq --yes install swig libpcsclite-dev -if [[ "$TRAVIS_JOB_NAME" == *"Testing" ]]; then - export python="python" - export pip="pip" - echo "Travis setup Python $TRAVIS_PYTHON_VERSION" - echo "running tests with this version" -else - export whereibelong=$(pwd) - echo "We are running on $ImageOS $ImageVersion" - export LD_LIBRARY_PATH=~/ssl/lib:~/python/lib - cpucount=$(nproc --all) - echo "This device has $cpucount CPUs for compiling..." - SSLVER=$(~/ssl/bin/openssl version) - SSLRESULT=$? - PYVER=$(~/python/bin/python3 -V) - PYRESULT=$? - if [ $SSLRESULT -ne 0 ] || [[ "$SSLVER" != "OpenSSL $BUILD_OPENSSL_VERSION "* ]] || [ $PYRESULT -ne 0 ] || [[ "$PYVER" != "Python $BUILD_PYTHON_VERSION"* ]]; then - echo "SSL Result: $SSLRESULT - SSL Ver: $SSLVER - Py Result: $PYRESULT - Py Ver: $PYVER" - if [ $SSLRESULT -ne 0 ]; then - echo "sslresult -ne 0" - fi - if [[ "$SSLVER" != "OpenSSL $BUILD_OPENSSL_VERSION "* ]]; then - echo "sslver not equal to..." - fi - if [ $PYRESULT -ne 0 ]; then - echo "pyresult -ne 0" - fi - if [[ "$PYVER" != "Python $BUILD_PYTHON_VERSION" ]]; then - echo "pyver not equal to..." - fi - cd ~ - rm -rf ssl - rm -rf python - mkdir ssl - mkdir python +if [[ "${GOAL}" == "build" ]]; then + echo "RUNNING: apt update..." + sudo apt-get -qq --yes update > /dev/null + sudo apt-get -qq --yes install swig libpcsclite-dev +fi +export whereibelong=$(pwd) +echo "We are running on $ImageOS $ImageVersion" +export LD_LIBRARY_PATH=~/ssl/lib:~/python/lib +export cpucount=$(nproc --all) +echo "This device has $cpucount CPUs for compiling..." +export SSLVER=$(~/ssl/bin/openssl version) +export SSLRESULT=$? +export PYVER=$(~/python/bin/python3 -V) +export PYRESULT=$? +if [ $SSLRESULT -ne 0 ] || [[ "$SSLVER" != "OpenSSL $BUILD_OPENSSL_VERSION "* ]] || [ $PYRESULT -ne 0 ] || [[ "$PYVER" != "Python $BUILD_PYTHON_VERSION"* ]]; then + echo "SSL Result: $SSLRESULT - SSL Ver: $SSLVER - Py Result: $PYRESULT - Py Ver: $PYVER" + if [ $SSLRESULT -ne 0 ]; then + echo "sslresult -ne 0" + fi + if [[ "$SSLVER" != "OpenSSL $BUILD_OPENSSL_VERSION "* ]]; then + echo "sslver not equal to..." + fi + if [ $PYRESULT -ne 0 ]; then + echo "pyresult -ne 0" + fi + if [[ "$PYVER" != "Python $BUILD_PYTHON_VERSION" ]]; then + echo "pyver not equal to..." + fi + cd ~ + rm -rf ssl + rm -rf python + mkdir ssl + mkdir python + if [[ "${GOAL}" == "build" ]]; then echo "RUNNING: apt upgrade..." sudo apt-mark hold openssh-server sudo apt-get --yes upgrade @@ -48,56 +45,43 @@ else sudo cp -v /tmp/sources.list /etc/apt sudo apt-get -qq --yes update > /dev/null sudo apt-get -qq --yes build-dep python3 > /dev/null - - # Compile latest OpenSSL - wget --quiet https://www.openssl.org/source/openssl-$BUILD_OPENSSL_VERSION.tar.gz - echo "Extracting OpenSSL..." - tar xf openssl-$BUILD_OPENSSL_VERSION.tar.gz - cd openssl-$BUILD_OPENSSL_VERSION - echo "Compiling OpenSSL $BUILD_OPENSSL_VERSION..." - ./Configure --libdir=lib --prefix=$HOME/ssl - echo "Running make for OpenSSL..." - make -j$cpucount -s - echo "Running make install for OpenSSL..." - make install > /dev/null - cd ~ - - # Compile latest Python - echo "Downloading Python $BUILD_PYTHON_VERSION..." - curl -O https://www.python.org/ftp/python/$BUILD_PYTHON_VERSION/Python-$BUILD_PYTHON_VERSION.tar.xz - echo "Extracting Python..." - tar xf Python-$BUILD_PYTHON_VERSION.tar.xz - cd Python-$BUILD_PYTHON_VERSION - echo "Compiling Python $BUILD_PYTHON_VERSION..." - safe_flags="--with-openssl=$HOME/ssl --enable-shared --prefix=$HOME/python --with-ensurepip=upgrade" - unsafe_flags="--enable-optimizations --with-lto --with-openssl=~/ssl --with-openssl-rpath=~~/ssl/lib" - if [ ! -e Makefile ]; then - echo "running configure with safe and unsafe" - ./configure $safe_flags $unsafe_flags > /dev/null - fi - #make -j$cpucount PROFILE_TASK="-m test.regrtest --pgo -j$(( $cpucount * 2 ))" -s - make -j$cpucount -s - RESULT=$? - echo "First make exited with $RESULT" - if [ $RESULT != 0 ]; then - echo "Trying Python compile again without unsafe flags..." - make clean - ./configure $safe_flags > /dev/null - make -j$cpucount -s - echo "Sticking with safe Python for now..." - fi - echo "Installing Python..." - make install > /dev/null - cd ~ fi + + # Compile latest OpenSSL + curl -O "https://www.openssl.org/source/openssl-${BUILD_OPENSSL_VERSION}.tar.gz" + echo "Extracting OpenSSL..." + tar xf openssl-$BUILD_OPENSSL_VERSION.tar.gz + cd openssl-$BUILD_OPENSSL_VERSION + echo "Compiling OpenSSL $BUILD_OPENSSL_VERSION..." + ./Configure --libdir=lib --prefix=$HOME/ssl + echo "Running make for OpenSSL..." + make -j$cpucount -s + echo "Running make install for OpenSSL..." + make install > /dev/null + cd ~ - python=~/python/bin/python3 - pip=~/python/bin/pip3 - - if ([ "${ImageOS}" == "ubuntu20" ]) && [ "${HOSTTYPE}" == "x86_64" ]; then - "${python}" -m pip install --upgrade patchelf-wrapper - "${python}" -m pip install --upgrade staticx - fi - - cd $whereibelong + # Compile latest Python + echo "Downloading Python $BUILD_PYTHON_VERSION..." + curl -O "https://www.python.org/ftp/python/${BUILD_PYTHON_VERSION}/Python-${BUILD_PYTHON_VERSION}.tar.xz" + echo "Extracting Python..." + tar xf "Python-${BUILD_PYTHON_VERSION}.tar.xz" + cd Python-$BUILD_PYTHON_VERSION + echo "Compiling Python $BUILD_PYTHON_VERSION..." + safe_flags="--with-openssl=$HOME/ssl --enable-shared --prefix=$HOME/python --with-ensurepip=upgrade" + unsafe_flags="--enable-optimizations --with-lto --with-openssl=~/ssl --with-openssl-rpath=~~/ssl/lib" + ./configure $safe_flags $unsafe_flags > /dev/null + make -j$cpucount -s + echo "Installing Python..." + make install > /dev/null + cd ~ fi + +python=~/python/bin/python3 +pip=~/python/bin/pip3 + +if ([ "${ImageOS}" == "ubuntu20" ]) && [ "${HOSTTYPE}" == "x86_64" ]; then + "${python}" -m pip install --upgrade patchelf-wrapper + "${python}" -m pip install --upgrade staticx +fi + +cd $whereibelong