diff options
-rw-r--r-- | INSTALL/tasks.d/80_xds | 63 |
1 files changed, 41 insertions, 22 deletions
diff --git a/INSTALL/tasks.d/80_xds b/INSTALL/tasks.d/80_xds index 1a62d8b..8534e70 100644 --- a/INSTALL/tasks.d/80_xds +++ b/INSTALL/tasks.d/80_xds @@ -1,23 +1,41 @@ #!/bin/bash +# only for debug +#DEBUG=1 + +PREFIX="" +[ "$DEBUG" = "1" ] && PREFIX=/tmp/debug-80_xds + # install required tools for XDS -XDS_BINDIR=/usr/local/bin -XDS_WWWDIR=/var/www/xds-server -XDS_CONFDIR=${DEVUSER_HOME}/.xds +XDS_BINDIR=${PREFIX}/usr/local/bin +XDS_WWWDIR=${PREFIX}/var/www/xds-server +XDS_CONFDIR=${PREFIX}/${DEVUSER_HOME}/.xds +SDK_INSTALL_DIR=${PREFIX}/xdt/sdk curdir=`pwd` -## Install Go to build xds -apt-get install -y golang-1.6 -export GOPATH=/tmp/go -export PATH=${PATH}:/usr/lib/go-1.6/bin:${GOPATH}/bin -mkdir -p ${GOPATH}/{src,bin,pkg} +## Install Go 1.8 to build xds +GOSRC=${PREFIX}/tmp/xds/src +export GOINSTALLDIR=${PREFIX}/tmp/xds/go/install/go1.8.3 +if [ ! -x ${GOINSTALLDIR}/go/bin/go ]; then + mkdir -p ${GOINSTALLDIR} + mkdir -p ${PREFIX}/tmp + GO_TARBALL=${PREFIX}/tmp/go1.8.3.linux-amd64.tar.gz + wget -O ${GO_TARBALL} https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz + (cd ${GOINSTALLDIR} && tar zxf ${GO_TARBALL}) +fi + +export GOROOT=${GOINSTALLDIR}/go +export GOPATH=${PREFIX}/tmp/xds +export PATH=${GOROOT}/bin:${GOPATH}/bin:${PATH} + +mkdir -p ${GOPATH}/{src,bin,pkg} ## Build and install XDS server and XDS tools (eg. Syncthing) url="https://github.com/iotbzh/xds-server" \ - && mkdir -p /tmp/src/github.com/iotbzh && cd /tmp/src/github.com/iotbzh \ + && mkdir -p ${GOSRC}/github.com/iotbzh && cd ${GOSRC}/github.com/iotbzh \ && git clone "${url}" \ && cd xds-server \ && INSTALL_DIR="${XDS_BINDIR}" INSTALL_WEBAPP_DIR="${XDS_WWWDIR}" make all install \ @@ -39,9 +57,12 @@ chown -R ${DEVUSER}:${DEVUSER_UID} ${XDS_CONFDIR} # Change owner of webapp assets files (allow dynamic download of xds-agent tarballs) chown -R ${DEVUSER}:${DEVUSER_UID} ${XDS_WWWDIR}/assets -# generate service file for startup -SERVFILE=/lib/systemd/system/xds-server.service -cat <<EOF >$SERVFILE + +if [ "$DEBUG" != "1" ]; then + + # generate service file for startup + SERVFILE=/lib/systemd/system/xds-server.service + cat <<EOF >$SERVFILE [Unit] Description=XDS Server @@ -55,20 +76,18 @@ ExecStart=/usr/local/bin/xds-server-start.sh WantedBy=multi-user.target EOF -# config file -cat <<EOF >/etc/default/xds-server + # config file + cat <<EOF >/etc/default/xds-server # defaults file for XDS Server # this file is used for service environment in $SERVFILE # no variable defined yet EOF -# install service -ln -s $SERVFILE /etc/systemd/system/multi-user.target.wants/ - -# cleanup (remove build tools) -cd $curdir -rm -rf /tmp/* + # install service + ln -s $SERVFILE /etc/systemd/system/multi-user.target.wants/ -apt-get remove -y golang-1.6 -npm cache clean + # cleanup (remove build tools) + cd $curdir + rm -rf ${PREFIX}/tmp/xds ${PREFIX}/tmp/go* +fi |