From 25aec976cbb023eb588e5924814809a500cf3105 Mon Sep 17 00:00:00 2001 From: Marco Vermeulen Date: Sun, 28 Oct 2012 14:10:23 +0000 Subject: [PATCH] Implement new selfupdate using module script. --- srv/scripts/gvm | 14 -------------- srv/scripts/gvm-selfupdate | 8 ++++++++ srv/scripts/selfupdate.sh | 13 +++++++++++++ srv/server.groovy | 6 ++++++ 4 files changed, 27 insertions(+), 14 deletions(-) create mode 100755 srv/scripts/gvm-selfupdate create mode 100755 srv/scripts/selfupdate.sh diff --git a/srv/scripts/gvm b/srv/scripts/gvm index 943f3c99..7d04b5cd 100755 --- a/srv/scripts/gvm +++ b/srv/scripts/gvm @@ -258,20 +258,6 @@ function gvm-version { echo "Groovy enVironment Manager $GVM_VERSION" } -function gvm-selfupdate { - mkdir -p "$GVM_DIR/bin" - - curl -s "$GVM_SERVICE/res/init?platform=$PLATFORM" > "$GVM_DIR/bin/gvm-init.sh" - curl -s "$GVM_SERVICE/res/gvm" > "$GVM_DIR/bin/gvm" - - chmod +x "$GVM_DIR/bin/gvm-init.sh" - chmod +x "$GVM_DIR/bin/gvm" - - echo "" - echo "Successfully upgraded GVM." - echo "" -} - function gvm-broadcast { if [ "$BROADCAST_HIST" ]; then echo "$BROADCAST_HIST" diff --git a/srv/scripts/gvm-selfupdate b/srv/scripts/gvm-selfupdate new file mode 100755 index 00000000..ade46754 --- /dev/null +++ b/srv/scripts/gvm-selfupdate @@ -0,0 +1,8 @@ +#!/bin/bash + +curl -s "$GVM_SERVICE/selfupdate" | bash + +echo "" +echo "Successfully upgraded GVM." +echo "" + diff --git a/srv/scripts/selfupdate.sh b/srv/scripts/selfupdate.sh new file mode 100755 index 00000000..e827345b --- /dev/null +++ b/srv/scripts/selfupdate.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "" +echo "Updating gvm scripts..." +TMP_ZIP="/tmp/res.zip" +BIN_FOLDER="$HOME/.gvm/bin" + +mkdir -p "$BIN_FOLDER" +curl -s "$GVM_SERVICE/res?platform=$PLATFORM" > "$TMP_ZIP" +unzip -qo "$TMP_ZIP" -d "$BIN_FOLDER" +rm "$TMP_ZIP" + +chmod +x "$BIN_FOLDER"/* diff --git a/srv/server.groovy b/srv/server.groovy index 9b641c08..5c8f87e8 100644 --- a/srv/server.groovy +++ b/srv/server.groovy @@ -21,6 +21,11 @@ rm.get("/") { req -> req.response.sendFile('srv/scripts/install.sh') } +rm.get("/selfupdate") { req -> + addPlainTextHeader req + req.response.sendFile('srv/scripts/selfupdate.sh') +} + rm.get("/alive") { req -> addPlainTextHeader req req.response.end "OK" @@ -43,6 +48,7 @@ rm.get("/res") { req -> def files = [] files << new File('srv/scripts/gvm') files << new File('srv/scripts/gvm-init.sh') + files << new File('srv/scripts/gvm-selfupdate') def zipFile = buildZip(files) req.response.putHeader("Content-Type", "application/zip")