|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
if [ "$1" == "" ]; then
|
|
|
|
echo "Usage $0 executable branch"
|
|
|
|
echo "executable ethereum | mist"
|
|
|
|
echo "branch develop | master"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
exe=$1
|
|
|
|
path=$exe
|
|
|
|
branch=$2
|
|
|
|
|
|
|
|
if [ "$branch" == "develop" ]; then
|
|
|
|
path="cmd/$exe"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Test if go is installed
|
|
|
|
command -v go >/dev/null 2>&1 || { echo >&2 "Unable to find 'go'. This script requires go."; exit 1; }
|
|
|
|
|
|
|
|
# Test if $GOPATH is set
|
|
|
|
if [ "$GOPATH" == "" ]; then
|
|
|
|
echo "\$GOPATH not set"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "changing branch to $branch"
|
|
|
|
cd $GOPATH/src/github.com/ethereum/go-ethereum
|
|
|
|
git checkout $branch
|
|
|
|
|
|
|
|
# installing package dependencies doesn't work for develop
|
|
|
|
# branch as go get always pulls from master head
|
|
|
|
# so build will continue to fail, but this installs locally
|
|
|
|
# for people who git clone since go install will manage deps
|
|
|
|
|
|
|
|
#echo "go get -u -d github.com/ethereum/go-ethereum/$path"
|
|
|
|
#go get -v -u -d github.com/ethereum/go-ethereum/$path
|
|
|
|
#if [ $? != 0 ]; then
|
|
|
|
# echo "go get failed"
|
|
|
|
# exit
|
|
|
|
#fi
|
|
|
|
|
|
|
|
cd $GOPATH/src/github.com/ethereum/go-ethereum/$path
|
|
|
|
|
|
|
|
if [ "$exe" == "mist" ]; then
|
|
|
|
echo "Building Mist GUI. Assuming Qt is installed. If this step"
|
|
|
|
echo "fails; please refer to: https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum(Go)"
|
|
|
|
else
|
|
|
|
echo "Building ethereum CLI."
|
|
|
|
fi
|
|
|
|
|
|
|
|
go install
|
|
|
|
echo "done. Please run $exe :-)"
|