From: Sebastien Douheret Date: Sun, 28 May 2017 12:38:39 +0000 (+0200) Subject: Add script to get xds-agent tarballs. X-Git-Tag: v0.0.1-alpha~4 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fxds%2Fxds-server.git;a=commitdiff_plain;h=472d4b34027f37b05f10d5558d28d6c6bca74ff2 Add script to get xds-agent tarballs. Signed-off-by: Sebastien Douheret --- diff --git a/Makefile b/Makefile index bcaab92..8b2df13 100644 --- a/Makefile +++ b/Makefile @@ -87,12 +87,12 @@ webapp/install: .PHONY: scripts scripts: - @mkdir -p $(LOCAL_BINDIR) && cp -rf scripts/xds-start-server.sh scripts/agl $(LOCAL_BINDIR) + @mkdir -p $(LOCAL_BINDIR) && cp -rf scripts/xds-server-st*.sh scripts/xds-utils $(LOCAL_BINDIR) .PHONY: install install: @test -e $(LOCAL_BINDIR)/xds-server -a -d webapp/dist || { echo "Please execute first: make all\n"; exit 1; } - @test -e $(LOCAL_BINDIR)/xds-start-server.sh -a -d $(LOCAL_BINDIR)/agl || { echo "Please execute first: make all\n"; exit 1; } + @test -e $(LOCAL_BINDIR)/xds-server-start.sh -a -d $(LOCAL_BINDIR)/xds-utils || { echo "Please execute first: make all\n"; exit 1; } @test -e $(LOCAL_BINDIR)/syncthing -a -e $(LOCAL_BINDIR)/syncthing-inotify || { echo "Please execute first: make all\n"; exit 1; } mkdir -p $(INSTALL_DIR) \ && cp -a $(LOCAL_BINDIR)/* $(INSTALL_DIR) @@ -114,7 +114,7 @@ tools/syncthing: DESTDIR=$(LOCAL_TOOLSDIR) \ SYNCTHING_VERSION=$(SYNCTHING_VERSION) \ SYNCTHING_INOTIFY_VERSION=$(SYNCTHING_INOTIFY_VERSION) \ - ./scripts/get-syncthing.sh; } + ./scripts/xds-utils/get-syncthing.sh; } .PHONY: tools/syncthing/copytobin: diff --git a/README.md b/README.md index 9b4e952..15ac8f6 100644 --- a/README.md +++ b/README.md @@ -79,14 +79,14 @@ Supported fields in configuration file are: ## Start-up -Use `xds-start-server.sh` script to start all requested tools +Use `xds-server-start.sh` script to start all requested tools ```bash -/usr/local/bin/xds-start-server.sh +/usr/local/bin/xds-server-start.sh ``` >**NOTE** you can define some environment variables to setup for example config file `XDS_CONFFILE` or change logs directory `LOGDIR`. -See head section of `xds-start-server.sh` file to see all configurable variables. +See head section of `xds-server-start.sh` file to see all configurable variables. ## Install XDS-server in AGL SDK docker container @@ -133,7 +133,7 @@ This container exposes following ports: Now start xds-server inside this container: ```bash > ssh -p 2222 devel@localhost -[15:59:58] devel@agl-worker-seb-laptop-0-seb:~$ /usr/local/bin/xds-start-server.sh +[15:59:58] devel@agl-worker-seb-laptop-0-seb:~$ /usr/local/bin/xds-server-start.sh ### Configuration in config.json: { "webAppDir": "/usr/local/bin/www-xds-server", diff --git a/scripts/xds-start-server.sh b/scripts/xds-server-start.sh similarity index 68% rename from scripts/xds-start-server.sh rename to scripts/xds-server-start.sh index 066029a..8814eb8 100755 --- a/scripts/xds-start-server.sh +++ b/scripts/xds-server-start.sh @@ -42,6 +42,25 @@ echo "" mkdir -p ${LOGDIR} LOG_XDS=${LOGDIR}/xds-server.log +# Download xds-agent tarball +SCRIPT_GET_XDS_TARBALL=$BINDIR/xds-utils/get-xds-agent.sh +if [ ! -f ${SCRIPT_GET_XDS_TARBALL} ]; then + SCRIPT_GET_XDS_TARBALL=$(dirname $0)/xds-utils/get-xds-agent.sh +fi +if [ -f ${SCRIPT_GET_XDS_TARBALL} ]; then + TARBALLDIR=${XDS_WWWDIR}/assets/xds-agent-tarballs + [ ! -d "$TARBALLDIR" ] && TARBALLDIR=$BINDIR/www-xds-server/assets/xds-agent-tarballs + [ ! -d "$TARBALLDIR" ] && TARBALLDIR=$(grep webAppDir ~/.xds/config.json|cut -d '"' -f 4)/assets/xds-agent-tarballs + if [ -d "$TARBALLDIR" ]; then + DEST_DIR=$TARBALLDIR $SCRIPT_GET_XDS_TARBALL + else + echo "WARNING: cannot download / update xds-agent tarballs (DESTDIR error)" + fi +else + echo "WARNING: cannot download / update xds-agent tarballs" +fi + + echo "### Start XDS server" echo "nohup $BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1" if [ "$1" != "-dryrun" ]; then diff --git a/scripts/xds-stop-server.sh b/scripts/xds-server-stop.sh similarity index 100% rename from scripts/xds-stop-server.sh rename to scripts/xds-server-stop.sh diff --git a/scripts/get-syncthing.sh b/scripts/xds-utils/get-syncthing.sh similarity index 100% rename from scripts/get-syncthing.sh rename to scripts/xds-utils/get-syncthing.sh diff --git a/scripts/xds-utils/get-xds-agent.sh b/scripts/xds-utils/get-xds-agent.sh new file mode 100755 index 0000000..0813875 --- /dev/null +++ b/scripts/xds-utils/get-xds-agent.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +. /etc/xdtrc + +[ -z "$XDS_AGENT_BASEURL" ] && XDS_AGENT_BASEURL="http://iot.bzh/download/public/2017/XDS/xds-agent/" +[ -z "$DEST_DIR" ] && DEST_DIR=./webapp/dist/assets/xds-agent-tarballs + +TARBALLS=$(curl -s ${XDS_AGENT_BASEURL} | grep -oP 'href="[^"]*.zip"' | cut -d '"' -f 2) + +usage() { + echo "Usage: $(basename $0) [-h|--help] [-noclean] [-a|--arch ] [-l|--list]" + exit 1 +} + +do_cleanup=true +while [ $# -ne 0 ]; do + case $1 in + -h|--help|"") + usage + ;; + -l|--list) + echo "Available xds-agent tarballs:" + for t in $TARBALLS; do echo " $t"; done + exit 0 + ;; + -noclean) + do_cleanup=false + ;; + *) + echo "Invalid argument: $1" + usage + ;; + esac + shift +done + +if [ ! -d ${DEST_DIR} ]; then + echo "Invalid destination directory: ${DEST_DIR}" + exit 1 +fi + +# Get not existing tarballs +exitCode=0 +for file in $TARBALLS; do + DESTFILE=${DEST_DIR}/${file} + if [ ! -f $DESTFILE ]; then + echo -n " Downloading ${file}... " + wget -q "${XDS_AGENT_BASEURL}/${file}" -O ${DESTFILE} + if [ "$?" != 0 ]; then + echo "ERROR" + exitCode=1 + fi + echo "OK" + fi +done + +exit $exitCode diff --git a/scripts/agl/install-agl-sdks.sh b/scripts/xds-utils/install-agl-sdks.sh similarity index 100% rename from scripts/agl/install-agl-sdks.sh rename to scripts/xds-utils/install-agl-sdks.sh