Update linux-before-install.sh

This commit is contained in:
Jay Lee
2022-01-15 11:42:52 -05:00
committed by GitHub
parent b5b9cfe2aa
commit 3d55591436

View File

@@ -1,40 +1,37 @@
echo "RUNNING: apt update..." if [[ "${GOAL}" == "build" ]]; then
sudo apt-get -qq --yes update > /dev/null echo "RUNNING: apt update..."
sudo apt-get -qq --yes install swig libpcsclite-dev sudo apt-get -qq --yes update > /dev/null
if [[ "$TRAVIS_JOB_NAME" == *"Testing" ]]; then sudo apt-get -qq --yes install swig libpcsclite-dev
export python="python" fi
export pip="pip" export whereibelong=$(pwd)
echo "Travis setup Python $TRAVIS_PYTHON_VERSION" echo "We are running on $ImageOS $ImageVersion"
echo "running tests with this version" export LD_LIBRARY_PATH=~/ssl/lib:~/python/lib
else export cpucount=$(nproc --all)
export whereibelong=$(pwd) echo "This device has $cpucount CPUs for compiling..."
echo "We are running on $ImageOS $ImageVersion" export SSLVER=$(~/ssl/bin/openssl version)
export LD_LIBRARY_PATH=~/ssl/lib:~/python/lib export SSLRESULT=$?
cpucount=$(nproc --all) export PYVER=$(~/python/bin/python3 -V)
echo "This device has $cpucount CPUs for compiling..." export PYRESULT=$?
SSLVER=$(~/ssl/bin/openssl version) if [ $SSLRESULT -ne 0 ] || [[ "$SSLVER" != "OpenSSL $BUILD_OPENSSL_VERSION "* ]] || [ $PYRESULT -ne 0 ] || [[ "$PYVER" != "Python $BUILD_PYTHON_VERSION"* ]]; then
SSLRESULT=$? echo "SSL Result: $SSLRESULT - SSL Ver: $SSLVER - Py Result: $PYRESULT - Py Ver: $PYVER"
PYVER=$(~/python/bin/python3 -V) if [ $SSLRESULT -ne 0 ]; then
PYRESULT=$? echo "sslresult -ne 0"
if [ $SSLRESULT -ne 0 ] || [[ "$SSLVER" != "OpenSSL $BUILD_OPENSSL_VERSION "* ]] || [ $PYRESULT -ne 0 ] || [[ "$PYVER" != "Python $BUILD_PYTHON_VERSION"* ]]; then fi
echo "SSL Result: $SSLRESULT - SSL Ver: $SSLVER - Py Result: $PYRESULT - Py Ver: $PYVER" if [[ "$SSLVER" != "OpenSSL $BUILD_OPENSSL_VERSION "* ]]; then
if [ $SSLRESULT -ne 0 ]; then echo "sslver not equal to..."
echo "sslresult -ne 0" fi
fi if [ $PYRESULT -ne 0 ]; then
if [[ "$SSLVER" != "OpenSSL $BUILD_OPENSSL_VERSION "* ]]; then echo "pyresult -ne 0"
echo "sslver not equal to..." fi
fi if [[ "$PYVER" != "Python $BUILD_PYTHON_VERSION" ]]; then
if [ $PYRESULT -ne 0 ]; then echo "pyver not equal to..."
echo "pyresult -ne 0" fi
fi cd ~
if [[ "$PYVER" != "Python $BUILD_PYTHON_VERSION" ]]; then rm -rf ssl
echo "pyver not equal to..." rm -rf python
fi mkdir ssl
cd ~ mkdir python
rm -rf ssl if [[ "${GOAL}" == "build" ]]; then
rm -rf python
mkdir ssl
mkdir python
echo "RUNNING: apt upgrade..." echo "RUNNING: apt upgrade..."
sudo apt-mark hold openssh-server sudo apt-mark hold openssh-server
sudo apt-get --yes upgrade sudo apt-get --yes upgrade
@@ -48,56 +45,43 @@ else
sudo cp -v /tmp/sources.list /etc/apt sudo cp -v /tmp/sources.list /etc/apt
sudo apt-get -qq --yes update > /dev/null sudo apt-get -qq --yes update > /dev/null
sudo apt-get -qq --yes build-dep python3 > /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 fi
python=~/python/bin/python3 # Compile latest OpenSSL
pip=~/python/bin/pip3 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 ~
if ([ "${ImageOS}" == "ubuntu20" ]) && [ "${HOSTTYPE}" == "x86_64" ]; then # Compile latest Python
"${python}" -m pip install --upgrade patchelf-wrapper echo "Downloading Python $BUILD_PYTHON_VERSION..."
"${python}" -m pip install --upgrade staticx curl -O "https://www.python.org/ftp/python/${BUILD_PYTHON_VERSION}/Python-${BUILD_PYTHON_VERSION}.tar.xz"
fi echo "Extracting Python..."
tar xf "Python-${BUILD_PYTHON_VERSION}.tar.xz"
cd $whereibelong 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 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