diff options
author | Sebastien Douheret <sebastien.douheret@iot.bzh> | 2017-05-28 14:38:39 +0200 |
---|---|---|
committer | Sebastien Douheret <sebastien.douheret@iot.bzh> | 2017-05-28 15:10:52 +0200 |
commit | 472d4b34027f37b05f10d5558d28d6c6bca74ff2 (patch) | |
tree | ec72e0b0278b3bde5b2099eb7e00373c4520fb71 /scripts/xds-utils | |
parent | cd39a10faf25c07bd235824c5606bf7f08f63182 (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-x | scripts/xds-utils/get-syncthing.sh | 58 | ||||
-rwxr-xr-x | scripts/xds-utils/get-xds-agent.sh | 57 | ||||
-rwxr-xr-x | scripts/xds-utils/install-agl-sdks.sh | 101 |
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} |