Create new install-gui.sh and auto install Ubuntu OS deps
This commit is contained in:
parent
f4cd269e1e
commit
da3a0af24d
|
@ -0,0 +1,69 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "This requires the chia python virtual environment."
|
||||||
|
echo "Execute '. ./activate' if you have not already, before running."
|
||||||
|
|
||||||
|
UBUNTU=false
|
||||||
|
# Manage npm and other install requirements on an OS specific basis
|
||||||
|
if [ "$(uname)" = "Linux" ]; then
|
||||||
|
#LINUX=1
|
||||||
|
if type apt-get; then
|
||||||
|
# Debian/Ubuntu
|
||||||
|
UBUNTU=true
|
||||||
|
sudo apt-get install -y npm nodejs
|
||||||
|
elif type yum && [ ! -f "/etc/redhat-release" ] && [ ! -f "/etc/centos-release" ]; then
|
||||||
|
# AMZN 2
|
||||||
|
echo "Installing on Amazon Linux 2"
|
||||||
|
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
|
||||||
|
sudo yum install -y nodejs
|
||||||
|
elif type yum && [ -f /etc/redhat-release ] || [ -f /etc/centos-release ]; then
|
||||||
|
# CentOS or Redhat
|
||||||
|
echo "Installing on CentOS/Redhat"
|
||||||
|
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
|
||||||
|
sudo yum install -y nodejs
|
||||||
|
fi
|
||||||
|
elif [ "$(uname)" = "Darwin" ] && type brew && ! npm version>/dev/null 2>&1; then
|
||||||
|
# Install npm if not installed
|
||||||
|
brew install npm
|
||||||
|
elif [ "$(uname)" = "OpenBSD" ]; then
|
||||||
|
pkg_add node
|
||||||
|
elif [ "$(uname)" = "FreeBSD" ]; then
|
||||||
|
pkg install node
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ubuntu before 20.04LTS has an ancient node.js
|
||||||
|
echo ""
|
||||||
|
UBUNTU_PRE_2004=false
|
||||||
|
if $UBUNTU; then
|
||||||
|
UBUNTU_PRE_2004=$(python -c 'import subprocess; process = subprocess.run(["lsb_release", "-rs"], stdout=subprocess.PIPE); print(float(process.stdout) < float(20.04))')
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$UBUNTU_PRE_2004" = "True" ]; then
|
||||||
|
echo "Installing on Ubuntu older than 20.04 LTS: Ugrading node.js to stable"
|
||||||
|
UBUNTU_PRE_2004=true # Unfortunately Python returns True when shell expects true
|
||||||
|
sudo npm install -g n
|
||||||
|
sudo n stable
|
||||||
|
export PATH="$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$UBUNTU" = "true" ] && [ "$UBUNTU_PRE_2004" = "False" ]; then
|
||||||
|
echo "Installing on Ubuntu 20.04 LTS or newer: Using installed node.js version"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We will set up node.js on GitHub Actions and Azure Pipelines directly
|
||||||
|
# for Mac and Windows so skip unless completing a source/developer install
|
||||||
|
# Ubuntu special cases above
|
||||||
|
if [ ! "$CI" ]; then
|
||||||
|
cd ./electron-react
|
||||||
|
npm install
|
||||||
|
npm audit fix
|
||||||
|
npm run build
|
||||||
|
else
|
||||||
|
echo "Skipping node.js in install.sh on MacOS ci"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Chia blockchain install-gui.sh complete."
|
||||||
|
echo ""
|
||||||
|
echo "Type 'cd electron-react' and then 'npm run electron &' to start the GUI"
|
108
install.sh
108
install.sh
|
@ -1,5 +1,48 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
UBUNTU=false
|
||||||
|
if [ "$(uname)" = "Linux" ]; then
|
||||||
|
#LINUX=1
|
||||||
|
if type apt-get; then
|
||||||
|
UBUNTU=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
UBUNTU_PRE_2004=false
|
||||||
|
if $UBUNTU; then
|
||||||
|
LSB_RELEASE=$(lsb_release -rs)
|
||||||
|
UBUNTU_PRE_2004=$(echo "$LSB_RELEASE<20.04" | bc)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Manage npm and other install requirements on an OS specific basis
|
||||||
|
if [ "$(uname)" = "Linux" ]; then
|
||||||
|
#LINUX=1
|
||||||
|
if [ "$UBUNTU" = "true" ] && [ "$UBUNTU_PRE_2004" = "1" ]; then
|
||||||
|
# Debian/Ubuntu
|
||||||
|
echo "Installing on Ubuntu/Debian pre 20.04 LTS"
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y python3.7-venv python3.7-distutils
|
||||||
|
elif [ "$UBUNTU" = "true" ] && [ "$UBUNTU_PRE_2004" = "0" ]; then
|
||||||
|
echo "Installing on Ubuntu/Debian 20.04 LTS or newer"
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y python3.8-venv python3.8-distutils
|
||||||
|
elif type yum && [ ! -f "/etc/redhat-release" ] && [ ! -f "/etc/centos-release" ]; then
|
||||||
|
# AMZN 2
|
||||||
|
echo "Installing on Amazon Linux 2"
|
||||||
|
sudo yum install -y python3 git
|
||||||
|
elif type yum && [ -f /etc/redhat-release ] || [ -f /etc/centos-release ]; then
|
||||||
|
# CentOS or Redhat
|
||||||
|
echo "Installing on CentOS/Redhat"
|
||||||
|
fi
|
||||||
|
elif [ "$(uname)" = "Darwin" ] && ! type brew >/dev/null 2>&1; then
|
||||||
|
echo "Installation currently requires brew on MacOS - https://brew.sh/"
|
||||||
|
elif [ "$(uname)" = "OpenBSD" ]; then
|
||||||
|
export MAKE=${MAKE:-gmake}
|
||||||
|
export BUILD_VDF_CLIENT=${BUILD_VDF_CLIENT:-N}
|
||||||
|
elif [ "$(uname)" = "FreeBSD" ]; then
|
||||||
|
export MAKE=${MAKE:-gmake}
|
||||||
|
export BUILD_VDF_CLIENT=${BUILD_VDF_CLIENT:-N}
|
||||||
|
fi
|
||||||
|
|
||||||
find_python() {
|
find_python() {
|
||||||
set +e
|
set +e
|
||||||
|
@ -23,39 +66,6 @@ then
|
||||||
INSTALL_PYTHON_VERSION=$(find_python)
|
INSTALL_PYTHON_VERSION=$(find_python)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
UBUNTU=false
|
|
||||||
# Manage npm and other install requirements on an OS specific basis
|
|
||||||
if [ "$(uname)" = "Linux" ]; then
|
|
||||||
#LINUX=1
|
|
||||||
if type apt-get; then
|
|
||||||
# Debian/Ubuntu
|
|
||||||
UBUNTU=true
|
|
||||||
sudo apt-get install -y npm nodejs
|
|
||||||
elif type yum && [ ! -f "/etc/redhat-release" ] && [ ! -f "/etc/centos-release" ]; then
|
|
||||||
# AMZN 2
|
|
||||||
echo "Installing on Amazon Linux 2"
|
|
||||||
sudo yum install -y python3 git
|
|
||||||
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
|
|
||||||
sudo yum install -y nodejs
|
|
||||||
elif type yum && [ -f /etc/redhat-release ] || [ -f /etc/centos-release ]; then
|
|
||||||
# CentOS or Redhat
|
|
||||||
echo "Installing on CentOS/Redhat"
|
|
||||||
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
|
|
||||||
sudo yum install -y nodejs
|
|
||||||
fi
|
|
||||||
elif [ "$(uname)" = "Darwin" ] && type brew && ! npm version>/dev/null 2>&1; then
|
|
||||||
# Install npm if not installed
|
|
||||||
brew install npm
|
|
||||||
elif [ "$(uname)" = "Darwin" ] && ! type brew >/dev/null 2>&1; then
|
|
||||||
echo "Installation currently requires brew on MacOS - https://brew.sh/"
|
|
||||||
elif [ "$(uname)" = "OpenBSD" ]; then
|
|
||||||
export MAKE=${MAKE:-gmake}
|
|
||||||
export BUILD_VDF_CLIENT=${BUILD_VDF_CLIENT:-N}
|
|
||||||
elif [ "$(uname)" = "FreeBSD" ]; then
|
|
||||||
export MAKE=${MAKE:-gmake}
|
|
||||||
export BUILD_VDF_CLIENT=${BUILD_VDF_CLIENT:-N}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# this fancy syntax sets INSTALL_PYTHON_PATH to "python3.7" unless INSTALL_PYTHON_VERSION is defined
|
# this fancy syntax sets INSTALL_PYTHON_PATH to "python3.7" unless INSTALL_PYTHON_VERSION is defined
|
||||||
# if INSTALL_PYTHON_VERSION=3.8, then INSTALL_PYTHON_PATH becomes python3.8
|
# if INSTALL_PYTHON_VERSION=3.8, then INSTALL_PYTHON_PATH becomes python3.8
|
||||||
|
|
||||||
|
@ -77,36 +87,6 @@ pip install wheel
|
||||||
pip install --extra-index-url https://download.chia.net/simple/ miniupnpc==2.1 setproctitle==1.1.10 cbor2==5.1.2
|
pip install --extra-index-url https://download.chia.net/simple/ miniupnpc==2.1 setproctitle==1.1.10 cbor2==5.1.2
|
||||||
pip install -e .
|
pip install -e .
|
||||||
|
|
||||||
# Ubuntu before 20.04LTS has an ancient node.js
|
|
||||||
echo ""
|
|
||||||
UBUNTU_PRE_2004=false
|
|
||||||
if $UBUNTU; then
|
|
||||||
UBUNTU_PRE_2004=$(python -c 'import subprocess; process = subprocess.run(["lsb_release", "-rs"], stdout=subprocess.PIPE); print(float(process.stdout) < float(20.04))')
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$UBUNTU_PRE_2004" = "True" ]; then
|
|
||||||
echo "Installing on Ubuntu older than 20.04 LTS: Ugrading node.js to stable"
|
|
||||||
UBUNTU_PRE_2004=true # Unfortunately Python returns True when shell expects true
|
|
||||||
sudo npm install -g n
|
|
||||||
sudo n stable
|
|
||||||
export PATH="$PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$UBUNTU" = "true" ] && [ "$UBUNTU_PRE_2004" = "False" ]; then
|
|
||||||
echo "Installing on Ubuntu 20.04 LTS or newer: Using installed node.js version"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We will set up node.js on GitHub Actions and Azure Pipelines directly
|
|
||||||
# for Mac and Windows so skip unless completing a source/developer install
|
|
||||||
# Ubuntu special cases above
|
|
||||||
if [ ! "$CI" ]; then
|
|
||||||
cd ./electron-react
|
|
||||||
npm install
|
|
||||||
npm audit fix
|
|
||||||
else
|
|
||||||
echo "Skipping node.js in install.sh on MacOS ci"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Chia blockchain install.sh complete."
|
echo "Chia blockchain install.sh complete."
|
||||||
echo "For assistance join us on Keybase in the #testnet chat channel"
|
echo "For assistance join us on Keybase in the #testnet chat channel"
|
||||||
|
@ -115,4 +95,6 @@ echo ""
|
||||||
echo "Try the Quick Start Guide to running chia-blockchain"
|
echo "Try the Quick Start Guide to running chia-blockchain"
|
||||||
echo "https://github.com/Chia-Network/chia-blockchain/wiki/Quick-Start-Guide"
|
echo "https://github.com/Chia-Network/chia-blockchain/wiki/Quick-Start-Guide"
|
||||||
echo ""
|
echo ""
|
||||||
|
echo "To install the GUI type 'sh install-gui.sh' after '. ./activate'"
|
||||||
|
echo ""
|
||||||
echo "Type '. ./activate' and then 'chia init' to begin"
|
echo "Type '. ./activate' and then 'chia init' to begin"
|
||||||
|
|
Loading…
Reference in New Issue