]> git.evergreen-ils.org Git - contrib/pines.git/blob - upgrade.sh
add local git tar script
[contrib/pines.git] / upgrade.sh
1 #!/bin/bash
2 #
3 # (C) Copyright 2016 Georgia Public Library Service
4 # Chris Sharp <csharp@georgialibraries.org>
5 #
6 # This script assumes that you have already installed and configured
7 # OpenSRF and Evergreen using the git repository.  It also assumes that
8 # the repositories exist in /home/opensrf and are named 'OpenSRF' and 
9 # 'Evergreen'.
10 #
11
12 STAMP_ID="evergreen-master"
13 HOME_DIR=${HOME}
14 OSRF_BRANCH="master"
15 EG_BRANCH="master"
16 OSRF_HOME_DIR="/home/opensrf"
17 OSRF_GIT="OpenSRF"
18 EG_GIT="Evergreen"
19
20 Usage() {
21 echo
22 echo "Usage: $0 [-o] [-e] [-c] [-t opensrf_git_branch] [-u evergreen_git_branch] [-h]"
23 echo
24 echo "Without any parameters, this script upgrades both Evergreen"
25 echo "and OpenSRF to their current master versions"
26 echo "-o = Upgrade OpenSRF Only"
27 echo "-e = Upgrade Evergreen Only"
28 echo "-c = Additionally Build a Windows Staff Client"
29 echo "-t = Use the named OpenSRF git branch rather than master"
30 echo "-u = Use the named Evergreen git branch rather than master"
31 echo "-h = Show this message"
32 echo
33 exit 1;
34 }
35
36 while getopts eocu:t:h OPTIONS
37 do case "$OPTIONS" in
38         o)  UPGRADE_OSRF=1;;
39         e)  UPGRADE_EG=1;;
40         c)  BUILD_CLIENT=1;;
41         t)  OSRF_BRANCH="$OPTARG";;
42         u)  EG_BRANCH="$OPTARG";;
43         h)  Usage; exit 1;;
44         esac
45 done
46
47 StopOpenSRF() {
48 sudo su - opensrf <<'EOF'
49 PATH=$PATH:/openils/bin osrf_control --localhost --stop-all
50 EOF
51 }
52
53 UpgradeOpenSRF() {
54 sudo su <<EOF
55 cd $OSRF_HOME_DIR/$OSRF_GIT
56 make clean
57 EOF
58
59 sudo su - opensrf <<EOF
60 cd $OSRF_HOME_DIR/$OSRF_GIT
61 git checkout $OSRF_BRANCH
62 git pull
63 ./configure --prefix=/openils --sysconfdir=/openils/conf
64 make
65 EOF
66
67 sudo su <<EOF
68 cd $OSRF_HOME_DIR/$OSRF_GIT
69 make install
70 EOF
71 }
72
73 UpgradeEvergreen() {
74 sudo su <<EOF
75 cd $OSRF_HOME_DIR/$EG_GIT
76 make clean
77 EOF
78
79 sudo su - opensrf <<EOF
80 cd $OSRF_HOME_DIR/$EG_GIT
81 git checkout $EG_BRANCH
82 git pull
83 ./configure --prefix=/openils --sysconfdir=/openils/conf
84 make
85 EOF
86
87 sudo su <<EOF
88 cd $OSRF_HOME_DIR/$EG_GIT
89 make STAFF_CLIENT_STAMP_ID=$STAMP_ID install
90 EOF
91 }
92
93 StartOpenSRF() {
94 sudo su - opensrf <<'EOF'
95 PATH=$PATH:/openils/bin osrf_control --localhost --start-all
96 PATH=$PATH:/openils/bin autogen.sh -u
97 EOF
98 }
99
100 InstallNSIS() {
101 if [ -z "$(dpkg -l | grep -w nsis | grep ii)" ]; then 
102 echo "NSIS not installed."
103 sudo apt-get -yq install nsis 
104 fi
105
106
107 BuildClient() {
108 sudo su - opensrf <<EOF
109 cd $OSRF_HOME_DIR/$EG_GIT/Open-ILS/xul/staff_client
110 make clean
111 make rigbeta
112 make win-client
113 EOF
114 }
115
116 CopyClient() {
117 sudo cp $OSRF_HOME_DIR/$EG_GIT/Open-ILS/xul/staff_client/evergreen_staff_client_setup.exe $HOME_DIR
118 echo "The Windows Staff Client installer is located at $HOME_DIR/evergreen_staff_client_setup.exe."
119 }
120
121 RestartApache() {
122 sudo su <<EOF
123 /etc/init.d/apache2 restart
124 EOF
125 }
126
127 if [ ! -z "$UPGRADE_OSRF" ]; then
128 StopOpenSRF
129 UpgradeOpenSRF
130 StartOpenSRF
131 elif [ ! -z "$UPGRADE_EG" ]; then
132 StopOpenSRF
133 UpgradeEvergreen
134 StartOpenSRF
135 RestartApache
136 else 
137 StopOpenSRF
138 UpgradeOpenSRF
139 UpgradeEvergreen
140 StartOpenSRF
141 RestartApache
142 fi
143
144 if [ ! -z "$BUILD_CLIENT" ]; then
145 InstallNSIS
146 BuildClient
147 CopyClient
148 fi
149
150