Add AGL specfic scripts
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Tue, 16 May 2017 10:07:51 +0000 (12:07 +0200)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Wed, 17 May 2017 12:43:52 +0000 (14:43 +0200)
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
Makefile
scripts/agl/install-agl-sdks.sh [new file with mode: 0755]
scripts/get-syncthing.sh
scripts/xds-start-server.sh

index e3cc99b..b077bc7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -86,7 +86,7 @@ webapp/install:
 
 .PHONY: scripts
 scripts:
-       @mkdir -p $(LOCAL_BINDIR) && cp -f scripts/xds-start-server.sh $(LOCAL_BINDIR)
+       @mkdir -p $(LOCAL_BINDIR) && cp -rf scripts/xds-start-server.sh scripts/agl $(LOCAL_BINDIR)
 
 .PHONY: install
 install: all scripts tools/syncthing
diff --git a/scripts/agl/install-agl-sdks.sh b/scripts/agl/install-agl-sdks.sh
new file mode 100755 (executable)
index 0000000..b65a08b
--- /dev/null
@@ -0,0 +1,82 @@
+#!/bin/bash
+
+. /etc/xdtrc
+
+[ -z "$SDK_BASEURL" ] && SDK_BASEURL="http://iot.bzh/download/public/2017/XDS/sdk/"
+[ -z "$XDT_SDK" ] && XDT_SDK=/xdt/sdk
+
+# Support only poky_agl profile for now
+PROFILE="poky-agl"
+
+usage() {
+    echo "Usage: $(basename $0) [-h|--help] [-noclean] -a|--arch <arch name>"
+       echo "Sdk arch name is: aarch64 or arm32 or x86-64"
+       exit 1
+}
+
+do_cleanup=true
+FILE=""
+ARCH=""
+while [ $# -ne 0 ]; do
+    case $1 in
+        -h|--help|"")
+            usage
+            ;;
+        -a|--arch)
+            shift
+            ARCH=$1
+            case $1 in
+                aarch64)    FILE="poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-aarch64-toolchain-3.90.0+snapshot.sh";;
+                arm32)      FILE="poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-armv7vehf-neon-vfpv4-toolchain-3.90.0+snapshot.sh";;
+                x86-64)     FILE="poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-toolchain-3.90.0+snapshot.sh";;
+            esac
+            ;;
+        -noclean)
+            do_cleanup=false
+            ;;
+        *)
+            echo "Invalid argument: $1"
+            usage
+            ;;
+    esac
+    shift
+done
+
+if [ "$FILE" = "" ]; then
+    echo "Option -a|--arch must be set"
+    usage
+fi
+if [ "$ARCH" = "" ]; then
+    echo "Unsupport architecture name !"
+    usage
+fi
+
+cd ${XDT_SDK} || exit 1
+
+# Cleanup
+trap "cleanExit" 0 1 2 15
+cleanExit ()
+{
+    if ($do_cleanup); then
+        rm -f ${XDT_SDK}/${FILE}
+    fi
+}
+
+# Get SDK installer
+if [ ! -f $FILE ]; then
+    wget "$SDK_BASEURL/$FILE" -O ${XDT_SDK}/${FILE} || exit 1
+fi
+
+# Retreive default install dir to extract version
+offset=$(grep -na -m1 "^MARKER:$" $FILE | cut -d':' -f1)
+eval $(head -n $offset $FILE | grep ^DEFAULT_INSTALL_DIR= )
+VERSION=$(basename $DEFAULT_INSTALL_DIR)
+
+DESTDIR=${XDT_SDK}/${PROFILE}/${VERSION}/${ARCH}
+
+# Cleanup previous install
+rm -rf ${DESTDIR} && mkdir -p ${DESTDIR} || exit 1
+
+# Install sdk
+chmod +x ${XDT_SDK}/${FILE}
+${XDT_SDK}/${FILE}  -y -d ${DESTDIR}
index 8bc5346..6eb9c5b 100755 (executable)
@@ -31,7 +31,7 @@ tarball="syncthing-linux-amd64-v${SYNCTHING_VERSION}.tar.gz" \
        && grep -E " ${tarball}\$" sha1sum.txt.asc | sha1sum -c - \
        && rm sha1sum.txt.asc \
        && tar -xvf "$tarball" --strip-components=1 "$(basename "$tarball" .tar.gz)"/syncthing \
-       && mv syncthing ${DESTDIR}/syncthing
+       && mv syncthing ${DESTDIR}/syncthing || exit 1
 
 
 echo "Get Syncthing-inotify..."
index 6888473..66da261 100755 (executable)
@@ -2,55 +2,46 @@
 
 # Configurable variables
 [ -z "$BINDIR" ] && BINDIR=/usr/local/bin
-[ -z "$ST_CONFDIR" ] && ST_CONFDIR=$HOME/.xds/syncthing-config
 [ -z "$XDS_CONFFILE" ] && XDS_CONFFILE=$HOME/.xds/config.json
+[ -z "$XDS_SHAREDIR" ] && XDS_SHAREDIR=$HOME/.xds/share
+[ -z "$ST_CONFDIR" ] && ST_CONFDIR=$HOME/.xds/syncthing-config
 [ -z "$LOGLEVEL" ] && LOGLEVEL=warn
-[ -z "$LOGDIR" ] && LOGDIR=/tmp/xds-logs
+[ -z "$LOGDIR" ] && LOGDIR=/tmp/xds-server/logs
 [ -z "$PORT_GUI" ] && PORT_GUI=8384
 [ -z "$API_KEY" ] && API_KEY="1234abcezam"
 
 
-mkdir -p ${LOGDIR}
-LOG_XDS=${LOGDIR}/xds-server.log
-LOG_SYNC=${LOGDIR}/syncthing.log
-LOG_SYNCI=${LOGDIR}/syncthing-inotify.log
-
-echo "### Info"
-echo "XDS server config: $XDS_CONFFILE"
-echo "Syncthing GUI on port: $PORT_GUI"
-echo "Syncthing Config: $ST_CONFDIR"
-echo "XDS server output redirected in: $LOG_XDS"
-echo "Syncthing-inotify output redirected in: $LOG_SYNCI"
-echo "Syncthing output redirected in: $LOG_SYNC"
-echo ""
-
-pwd
-[[ -f $BINDIR/xds-server ]] || { BINDIR=$(cd `dirname $0` && pwd); }
-pwd
 [[ -f $BINDIR/xds-server ]] || { echo "Cannot find xds-server in BINDIR !"; exit 1; }
 
-echo "### Start syncthing-inotify:"
-$BINDIR/syncthing-inotify --home=$ST_CONFDIR -target=http://localhost:$PORT_GUI -verbosity=4 > $LOG_SYNCI  2>&1 &
-pid_synci=$(jobs -p)
-echo "pid=${pid_synci}"
+# Create config.json file when needed
+[[ -f ${XDS_CONFFILE} ]] || { mv ${XDS_CONFFILE} ${XDS_CONFFILE}.old; }
+
+cat <<EOF > ${XDS_CONFFILE}
+{
+    "webAppDir": "webapp/dist",
+    "shareRootDir": "${XDS_SHAREDIR}",
+    "logsDir": "${LOGDIR}",
+    "sdkRootDir": "/xdt/sdk",
+    "syncthing": {
+        "binDir": "${BINDIR}",
+        "home": "${ST_CONFDIR}",
+        "gui-address": "http://localhost:${PORT_GUI}",
+        "gui-apikey": "${API_KEY}"
+    }
+}
+EOF
+
+echo "### Configuration in config.json: "
+cat ${XDS_CONFFILE}
 echo ""
 
-echo "### Start Syncthing:"
-STNODEFAULTFOLDER=1 $BINDIR/syncthing --home=$ST_CONFDIR -no-browser -verbose --gui-address=0.0.0.0:$PORT_GUI -gui-apikey=${API_KEY} > $LOG_SYNC 2>&1 &
-pid_sync=$(jobs -p)
-echo "pid=${pid_sync}"
-echo ""
+mkdir -p ${LOGDIR}
+LOG_XDS=${LOGDIR}/xds-server.log
 
-if [ "$1" == "-noserver" ]; then
-    echo "## XDS server NOT STARTED"
-    echo "  Command to start it:"
-    echo "  $BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1"
-else
-    # Wait a bit so make connection to Syncthing possible
-    sleep 1
-    echo "### Start XDS server"
+echo "### Start XDS server"
+echo " $BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1"
+if [ "$1" != "-dryrun" ]; then
     $BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1 &
     pid_xds=$(jobs -p)
     echo "pid=${pid_xds}"
 fi
-echo ""