3 changed files with 134 additions and 2 deletions
@ -0,0 +1,132 @@
|
||||
#!/bin/bash |
||||
set -e |
||||
clear |
||||
|
||||
#Adapted from https://github.com/tailsjoin/tailsjoin/blob/master/tailsjoin-fullnode.sh |
||||
|
||||
# Check for root. |
||||
if [[ $(id -u) = "0" ]]; then |
||||
echo " |
||||
YOU SHOULD NOT RUN THIS SCRIPT AS ROOT! |
||||
YOU WILL BE PROMPTED FOR THE ADMIN PASS WHEN NEEDED. |
||||
" |
||||
read -p "PRESS ENTER TO EXIT SCRIPT, AND RUN AGAIN AS NON-ROOT USER. " |
||||
exit 0 |
||||
fi |
||||
|
||||
|
||||
# Make sure user has chosen the correct script. |
||||
echo " |
||||
THIS SCRIPT WILL INSTALL JOINMARKET-CS AND DEPENDENCIES. |
||||
ADMIN PASS WILL BE REQUIRED MULTIPLE TIMES. |
||||
" |
||||
read -p "PRESS ENTER TO CONTINUE. " |
||||
clear |
||||
|
||||
# Update apt-get sources. |
||||
echo " |
||||
ENTER PASSWORD TO UPDATE SOURCES. |
||||
" |
||||
sudo apt-get update |
||||
clear |
||||
|
||||
|
||||
# Install dependencies for building libsodium. |
||||
echo " |
||||
ENTER PASSWORD TO INSTALL: python-virtualenv curl python-dev python-pip git build-essential automake pkg-config libtool libffi-dev libssl-dev |
||||
" |
||||
sudo apt-get install -y python-virtualenv curl python-dev python-pip git build-essential automake pkg-config libtool libffi-dev libssl-dev |
||||
clear |
||||
|
||||
# Get libsodium, sig, and import key. |
||||
echo " |
||||
DOWNLOADING LIBSODIUM SOURCE AND SIGNING KEY... |
||||
" |
||||
gpg --keyserver pgp.mit.edu --recv-keys 54A2B8892CC3D6A597B92B6C210627AABA709FE1 |
||||
echo "54A2B8892CC3D6A597B92B6C210627AABA709FE1:6" | gpg --import-ownertrust - |
||||
curl -L -O http://download.libsodium.org/libsodium/releases/libsodium-1.0.12.tar.gz -O http://download.libsodium.org/libsodium/releases/libsodium-1.0.12.tar.gz.sig |
||||
clear |
||||
|
||||
|
||||
# Verify download. |
||||
echo " |
||||
VERIFYING THE DOWNLOAD... |
||||
" |
||||
gpg --verify libsodium-1.0.12.tar.gz.sig libsodium-1.0.12.tar.gz |
||||
echo " |
||||
PLEASE REVIEW THE TEXT ABOVE. |
||||
IT WILL EITHER SAY GOOD SIG OR BAD SIG. |
||||
" |
||||
read -p "IS IT A GOOD SIG? (y/n) " x |
||||
if [[ "$x" = "n" || "$x" = "N" ]]; then |
||||
echo " |
||||
YOU REJECTED THE LIBSODIUM SIGNATURE, GIVING UP... |
||||
" |
||||
srm -drv libsodium* |
||||
exit 0 |
||||
fi |
||||
clear |
||||
|
||||
|
||||
# Build and install libsodium. |
||||
tar xf libsodium*.tar.gz |
||||
rm -rf libsodium*.tar.gz* |
||||
|
||||
echo " |
||||
BUILDING LIBSODIUM... |
||||
" |
||||
cd libsodium-1.0.12/ && ./configure && make |
||||
echo " |
||||
LIBSODIUM SUCCESSFULLY BUILT. ENTER PASSWORD TO INSTALL. |
||||
" |
||||
sudo make install |
||||
cd .. |
||||
rm -rf libsodium* |
||||
clear |
||||
|
||||
# Verify the signature on joinmarket-clientserver |
||||
# Currently commented out - doesn't apply if you've already downloaded the repo |
||||
# either as zip or clone; can check valid signature on github (OK?) |
||||
#gpg --keyserver pgp.mit.edu --recv-keys 46689728A9F64B391FA871B7B3AE09F1E9A3197A |
||||
#echo "46689728A9F64B391FA871B7B3AE09F1E9A3197A:6" | gpg --import-ownertrust - |
||||
#Todo: handle signing by another key and check the release tag, not commit. |
||||
#git verify-commit HEAD || { |
||||
# echo 'Latest code commit does not have a valid signature; quitting' |
||||
# exit 0 |
||||
#} |
||||
|
||||
#Run the python installation of joinmarket-clientserver; |
||||
#note that this is a 'full' installation, which is the default |
||||
#for an ordinary user; this should be enhanced to allow custom |
||||
#installation styles. |
||||
#Installs into a virtualenv, so instructions to run must be included. |
||||
if ! mkdir venv; then |
||||
echo "virtualenv directory already exists; assuming valid." |
||||
fi |
||||
virtualenv venv |
||||
source venv/bin/activate |
||||
#required for older pips, e.g. on Ubuntu 14.04 |
||||
pip install --upgrade setuptools |
||||
#Doing manually instead of as in setupall.py |
||||
cd jmbase |
||||
pip install . |
||||
cd .. |
||||
cd jmdaemon |
||||
pip install . |
||||
cd .. |
||||
cd jmbitcoin |
||||
pip install . |
||||
cd .. |
||||
cd jmclient |
||||
pip install . |
||||
cd .. |
||||
|
||||
# Final notes. |
||||
echo " |
||||
JOINMARKET SUCCESSFULLY INSTALLED. |
||||
BEFORE RUNNING SCRIPTS, TYPE: |
||||
source venv/bin/activate |
||||
FROM THIS DIRECTORY, TO ACTIVATE THE VIRTUALENV. |
||||
" |
||||
read -p "PRESS ENTER TO EXIT SCRIPT. " |
||||
exit 0; |
||||
Loading…
Reference in new issue