dev/provisioning/modules/puppi/files/scripts/predeploy.sh
changeset 28 b0b56e0f8c7f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/provisioning/modules/puppi/files/scripts/predeploy.sh	Fri Jan 15 15:35:00 2016 +0100
@@ -0,0 +1,95 @@
+#!/bin/bash
+# predeploy.sh - Made for Puppi
+
+# Sources common header for Puppi scripts
+. $(dirname $0)/header || exit 10
+
+# Show help
+showhelp () {
+    echo "This script prepares the contents of the predeploy directory"
+    echo "It integrates and uses variables provided by other core Puppi scripts"
+    echo "It has the following options:"
+    echo "-v <variable_name> (optional) Name of the variable that identifies the file to untar/unzip"
+    echo "                              By default is used $downloadedfile"
+    echo "-t <file_type> (optional) The type of file that is retrieved: zip|tarball"
+    echo "                          By default is used $source_type "
+    echo "-m <magicfix> (optional) The prefix (directory) you may not want to put in the deploy"
+    echo "                       Use this if the zip or tar contain a base dir (as often) and you want to copy"
+    echo "                       to the deploy dir only its contents and not the whole directory"
+    echo 
+    echo "Examples:"
+    echo "predeploy.sh "
+    echo "predeploy.sh -t zip"
+    echo "predeploy.sh -t zip -v myz"
+}
+
+
+# Check Arguments
+while [ $# -gt 0 ]; do
+  case "$1" in
+    -v)
+      downloadedfile="$(eval "echo \${$(echo ${2})}")"
+      shift 2 ;;
+    -t)
+      source_type=$2
+      shift 2 ;;
+    -m)
+      predeploy_dirprefix=$2
+      shift 2 ;;
+  esac
+done
+
+
+
+predeploy () {
+    cd $predeploydir
+    case "$source_type" in
+      tarball)
+        case "$debug" in
+          yes|full)
+            tar -zxvf $downloadedfile
+            check_retcode
+          ;;
+          *)
+            tar -zxf $downloadedfile
+            check_retcode
+          ;;
+        esac
+        ;;
+      zip)
+        case "$debug" in
+          yes|full)
+            unzip $downloadedfile
+            check_retcode
+          ;;
+          *)
+            unzip -qq $downloadedfile
+            check_retcode
+          ;;
+        esac
+        ;;
+      gz)
+        case "$debug" in
+          yes|full)
+            gzip -d $downloadedfile
+            check_retcode
+          ;;
+          *)
+            gzip -d -q $downloadedfile
+            check_retcode
+          ;;
+        esac
+        ;;
+      war)
+        cp $downloadedfile .
+        check_retcode
+        ;;
+    esac
+}
+
+predeploy
+
+# Updates predeploydir if a directory prefix exists
+if [[ x$predeploy_dirprefix != "x" ]] ; then
+   save_runtime_config "predeploydir=$predeploydir/$predeploy_dirprefix"
+fi