adding script to automatically upgrade to stock OpenSRF and Evergreen master
authorChris Sharp <csharp@georgialibraries.org>
Wed, 17 Feb 2016 14:55:22 +0000 (09:55 -0500)
committerChris Sharp <csharp@georgialibraries.org>
Wed, 17 Feb 2016 14:55:22 +0000 (09:55 -0500)
upgrade.sh [new file with mode: 0755]

diff --git a/upgrade.sh b/upgrade.sh
new file mode 100755 (executable)
index 0000000..cc40461
--- /dev/null
@@ -0,0 +1,150 @@
+#!/bin/bash
+#
+# (C) Copyright 2016 Georgia Public Library Service
+# Chris Sharp <csharp@georgialibraries.org>
+#
+# This script assumes that you have already installed and configured
+# OpenSRF and Evergreen using the git repository.  It also assumes that
+# the repositories exist in /home/opensrf and are named 'OpenSRF' and 
+# 'Evergreen'.
+#
+
+STAMP_ID="evergreen-master"
+HOME_DIR=${HOME}
+OSRF_BRANCH="master"
+EG_BRANCH="master"
+OSRF_HOME_DIR="/home/opensrf"
+OSRF_GIT="OpenSRF"
+EG_GIT="Evergreen"
+
+Usage() {
+echo
+echo "Usage: $0 [-o] [-e] [-c] [-t opensrf_git_branch] [-u evergreen_git_branch] [-h]"
+echo
+echo "Without any parameters, this script upgrades both Evergreen"
+echo "and OpenSRF to their current master versions"
+echo "-o = Upgrade OpenSRF Only"
+echo "-e = Upgrade Evergreen Only"
+echo "-c = Additionally Build a Windows Staff Client"
+echo "-t = Use the named OpenSRF git branch rather than master"
+echo "-u = Use the named Evergreen git branch rather than master"
+echo "-h = Show this message"
+echo
+exit 1;
+}
+
+while getopts eocu:t:h OPTIONS
+do case "$OPTIONS" in
+        o)  UPGRADE_OSRF=1;;
+       e)  UPGRADE_EG=1;;
+       c)  BUILD_CLIENT=1;;
+       t)  OSRF_BRANCH="$OPTARG";;
+       u)  EG_BRANCH="$OPTARG";;
+        h)  Usage; exit 1;;
+        esac
+done
+
+StopOpenSRF() {
+sudo su - opensrf <<'EOF'
+PATH=$PATH:/openils/bin osrf_control --localhost --stop-all
+EOF
+}
+
+UpgradeOpenSRF() {
+sudo su <<EOF
+cd $OSRF_HOME_DIR/$OSRF_GIT
+make clean
+EOF
+
+sudo su - opensrf <<EOF
+cd $OSRF_HOME_DIR/$OSRF_GIT
+git checkout $OSRF_BRANCH
+git pull
+./configure --prefix=/openils --sysconfdir=/openils/conf
+make
+EOF
+
+sudo su <<EOF
+cd $OSRF_HOME_DIR/$OSRF_GIT
+make install
+EOF
+}
+
+UpgradeEvergreen() {
+sudo su <<EOF
+cd $OSRF_HOME_DIR/$EG_GIT
+make clean
+EOF
+
+sudo su - opensrf <<EOF
+cd $OSRF_HOME_DIR/$EG_GIT
+git checkout $EG_BRANCH
+git pull
+./configure --prefix=/openils --sysconfdir=/openils/conf
+make
+EOF
+
+sudo su <<EOF
+cd $OSRF_HOME_DIR/$EG_GIT
+make STAFF_CLIENT_STAMP_ID=$STAMP_ID install
+EOF
+}
+
+StartOpenSRF() {
+sudo su - opensrf <<'EOF'
+PATH=$PATH:/openils/bin osrf_control --localhost --start-all
+PATH=$PATH:/openils/bin autogen.sh -u
+EOF
+}
+
+InstallNSIS() {
+if [ -z "$(dpkg -l | grep -w nsis | grep ii)" ]; then 
+echo "NSIS not installed."
+sudo apt-get -yq install nsis 
+fi
+} 
+
+BuildClient() {
+sudo su - opensrf <<EOF
+cd $OSRF_HOME_DIR/$EG_GIT/Open-ILS/xul/staff_client
+make clean
+make rigbeta
+make win-client
+EOF
+}
+
+CopyClient() {
+sudo cp $OSRF_HOME_DIR/$EG_GIT/Open-ILS/xul/staff_client/evergreen_staff_client_setup.exe $HOME_DIR
+echo "The Windows Staff Client installer is located at $HOME_DIR/evergreen_staff_client_setup.exe."
+}
+
+RestartApache() {
+sudo su <<EOF
+/etc/init.d/apache2 restart
+EOF
+}
+
+if [ ! -z "$UPGRADE_OSRF" ]; then
+StopOpenSRF
+UpgradeOpenSRF
+StartOpenSRF
+elif [ ! -z "$UPGRADE_EG" ]; then
+StopOpenSRF
+UpgradeEvergreen
+StartOpenSRF
+RestartApache
+else 
+StopOpenSRF
+UpgradeOpenSRF
+UpgradeEvergreen
+StartOpenSRF
+RestartApache
+fi
+
+if [ ! -z "$BUILD_CLIENT" ]; then
+InstallNSIS
+BuildClient
+CopyClient
+fi
+
+