46 lines
1014 B
Bash
46 lines
1014 B
Bash
|
#!/bin/sh
|
||
|
#
|
||
|
# Builds the gotop executable on machines where Go isn't installed,
|
||
|
# or is the wrong version, and you don't have root access to upgrade or
|
||
|
# install Go.
|
||
|
#
|
||
|
# You can run this without cloning the entire gotop repository (the script
|
||
|
# will do this for you.)
|
||
|
|
||
|
set -x
|
||
|
|
||
|
VERSION='1.14.2' # Go version needed to build
|
||
|
OS='linux'
|
||
|
ARCH='amd64'
|
||
|
BUILDDIR=/tmp/gotop-build
|
||
|
INSTALLDIR=${HOME}/bin
|
||
|
|
||
|
GO_NAME=go${VERSION}.${OS}-${ARCH}
|
||
|
|
||
|
mkdir -p $BUILDDIR
|
||
|
cd $BUILDDIR
|
||
|
|
||
|
curl https://dl.google.com/go/${GO_NAME}.tar.gz --output ./${GO_NAME}.tar.gz
|
||
|
|
||
|
tar -vxzf ${GO_NAME}.tar.gz
|
||
|
rm ${GO_NAME}.tar.gz
|
||
|
|
||
|
PATH=$BUILDDIR/go/bin:$PATH
|
||
|
|
||
|
go env -w GOPATH=$BUILDDIR # otherwise go would create a directory in $HOME
|
||
|
|
||
|
rm -rf ./gotop
|
||
|
git clone https://github.com/xxxserxxx/gotop.git
|
||
|
cd ./gotop
|
||
|
go build -o gotop ./cmd/gotop
|
||
|
|
||
|
go clean -modcache # otherwise $BUILDDIR/pkg would need sudo permissions to remove
|
||
|
|
||
|
mkdir -p $INSTALLDIR
|
||
|
mv gotop ${INSTALLDIR}/gotop
|
||
|
|
||
|
rm -rf $BUILDDIR
|
||
|
|
||
|
printf "gotop installed in ${INSTALLDIR}/gotop\n"
|
||
|
|