Add script to get xds-agent tarballs.
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Sun, 28 May 2017 12:38:39 +0000 (14:38 +0200)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Sun, 28 May 2017 13:10:52 +0000 (15:10 +0200)
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
Makefile
README.md
scripts/xds-server-start.sh [moved from scripts/xds-start-server.sh with 68% similarity]
scripts/xds-server-stop.sh [moved from scripts/xds-stop-server.sh with 100% similarity]
scripts/xds-utils/get-syncthing.sh [moved from scripts/get-syncthing.sh with 100% similarity]
scripts/xds-utils/get-xds-agent.sh [new file with mode: 0755]
scripts/xds-utils/install-agl-sdks.sh [moved from scripts/agl/install-agl-sdks.sh with 100% similarity]

index bcaab92..8b2df13 100644 (file)
--- 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:
index 9b4e952..15ac8f6 100644 (file)
--- 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",
similarity index 68%
rename from scripts/xds-start-server.sh
rename to scripts/xds-server-start.sh
index 066029a..8814eb8 100755 (executable)
@@ -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-utils/get-xds-agent.sh b/scripts/xds-utils/get-xds-agent.sh
new file mode 100755 (executable)
index 0000000..0813875
--- /dev/null
@@ -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 <arch name>] [-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