summaryrefslogtreecommitdiffstats
path: root/scripts/xds-utils
diff options
context:
space:
mode:
authorSebastien Douheret <sebastien.douheret@iot.bzh>2017-05-28 14:38:39 +0200
committerSebastien Douheret <sebastien.douheret@iot.bzh>2017-05-28 15:10:52 +0200
commit472d4b34027f37b05f10d5558d28d6c6bca74ff2 (patch)
treeec72e0b0278b3bde5b2099eb7e00373c4520fb71 /scripts/xds-utils
parentcd39a10faf25c07bd235824c5606bf7f08f63182 (diff)
Add script to get xds-agent tarballs.
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
Diffstat (limited to 'scripts/xds-utils')
-rwxr-xr-xscripts/xds-utils/get-syncthing.sh58
-rwxr-xr-xscripts/xds-utils/get-xds-agent.sh57
-rwxr-xr-xscripts/xds-utils/install-agl-sdks.sh101
3 files changed, 216 insertions, 0 deletions
diff --git a/scripts/xds-utils/get-syncthing.sh b/scripts/xds-utils/get-syncthing.sh
new file mode 100755
index 0000000..54ca7e1
--- /dev/null
+++ b/scripts/xds-utils/get-syncthing.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+# Configurable variables
+[ -z "$SYNCTHING_VERSION" ] && SYNCTHING_VERSION=0.14.28
+
+# FIXME: temporary HACK while waiting merge of #165
+#[ -z "$SYNCTHING_INOTIFY_VERSION" ] && SYNCTHING_INOTIFY_VERSION=0.8.5
+[ -z "$SYNCTHING_INOTIFY_VERSION" ] && { SYNCTHING_INOTIFY_VERSION=master; SYNCTHING_INOTIFY_CMID=af6fbf9d63f95a0; }
+[ -z "$DESTDIR" ] && DESTDIR=/usr/local/bin
+[ -z "$TMPDIR" ] && TMPDIR=/tmp
+
+
+TEMPDIR=$TMPDIR/.get-st.$$
+mkdir -p ${TEMPDIR} && cd ${TEMPDIR} || exit 1
+trap "cleanExit" 0 1 2 15
+cleanExit ()
+{
+ rm -rf ${TEMPDIR}
+}
+
+echo "Get Syncthing..."
+
+## Install Syncthing + Syncthing-inotify
+## gpg: key 00654A3E: public key "Syncthing Release Management <release@syncthing.net>" imported
+gpg -q --keyserver pool.sks-keyservers.net --recv-keys 37C84554E7E0A261E4F76E1ED26E6ED000654A3E || exit 1
+
+tarball="syncthing-linux-amd64-v${SYNCTHING_VERSION}.tar.gz" \
+ && curl -sfSL "https://github.com/syncthing/syncthing/releases/download/v${SYNCTHING_VERSION}/${tarball}" -O \
+ && curl -sfSL "https://github.com/syncthing/syncthing/releases/download/v${SYNCTHING_VERSION}/sha1sum.txt.asc" -O \
+ && gpg -q --verify sha1sum.txt.asc \
+ && 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 || exit 1
+
+echo "Get Syncthing-inotify..."
+if [ "$SYNCTHING_INOTIFY_VERSION" = "master" ]; then
+ mkdir -p ${TEMPDIR}/syncthing-inotify-build/src/github.com/syncthing || exit 1
+ cd ${TEMPDIR}/syncthing-inotify-build/src/github.com/syncthing
+ git clone https://github.com/syncthing/syncthing || exit 1
+ git clone https://github.com/syncthing/syncthing-inotify || exit 1
+ cd syncthing-inotify
+ if [ "$SYNCTHING_INOTIFY_CMID" != "" ]; then
+ git checkout -q $SYNCTHING_INOTIFY_CMID || exit 1
+ fi
+ git status
+ export GOPATH=$(realpath `pwd`/../../../..)
+ version=$(git describe --tags --always | sed 's/^v//')__patch_165
+ go build -v -i -ldflags "-w -X main.Version=$version" -o ${DESTDIR}/syncthing-inotify || exit 1
+else
+
+tarball="syncthing-inotify-linux-amd64-v${SYNCTHING_INOTIFY_VERSION}.tar.gz" \
+ && curl -sfSL "https://github.com/syncthing/syncthing-inotify/releases/download/v${SYNCTHING_INOTIFY_VERSION}/${tarball}" -O \
+ && tar -xvf "${tarball}" syncthing-inotify \
+ && mv syncthing-inotify ${DESTDIR}/syncthing-inotify
+fi
+
+echo "DONE: syncthing and syncthing-inotify successfuly installed in ${DESTDIR}" \ No newline at end of file
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 <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
diff --git a/scripts/xds-utils/install-agl-sdks.sh b/scripts/xds-utils/install-agl-sdks.sh
new file mode 100755
index 0000000..8edac2d
--- /dev/null
+++ b/scripts/xds-utils/install-agl-sdks.sh
@@ -0,0 +1,101 @@
+#!/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"
+
+SDKS=$(curl -s ${SDK_BASEURL} | grep -oP 'href="[^"]*.sh"' | cut -d '"' -f 2)
+
+usage() {
+ echo "Usage: $(basename $0) [-h|--help] [-noclean] [-a|--arch <arch name>] [-l|--list]"
+ echo "For example, arch name is: aarch64, armv7vehf or x86-64"
+ exit 1
+}
+
+getFile() {
+ arch=$1
+ for sdk in ${SDKS}; do
+ echo $sdk | grep "${PROFILE}.*${arch}.*.sh" > /dev/null 2>&1
+ if [ "$?" = "0" ]; then
+ echo $sdk
+ return 0
+ fi
+ done
+ echo "No SDK tarball found for arch $arch"
+ return 1
+}
+
+do_cleanup=true
+FILE=""
+ARCH=""
+while [ $# -ne 0 ]; do
+ case $1 in
+ -h|--help|"")
+ usage
+ ;;
+ -a|--arch)
+ shift
+ ARCH=$1
+ FILE=$(getFile $ARCH)
+ if [ "$?" != 0 ]; then
+ exit 1
+ fi
+ ;;
+ -l|--list)
+ echo "Available SDKs tarballs:"
+ for sdk in $SDKS; do echo " $sdk"; done
+ exit 0
+ ;;
+ -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
+ [[ -f ${XDT_SDK}/${FILE} ]] && 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}