LP#1667221: use library currency as SIP patron currency instead of always using USD
[working/Evergreen.git] / build / tools / update.sh
index e735dac..5c72850 100755 (executable)
@@ -5,19 +5,14 @@
 # 
 # Based on initial version by Bill Erickson.
 
-function svn_or_git {
+function fetch_changes {
     echo -en "###########\nUpdating source directory:" `pwd` "\n";
     if [ -d "./.git" ]; then
-        if [ -d "./.git/svn/trunk" ]; then
-            git svn fetch;
-            # git svn rebase origin || die_msg "git svn rebase origin failed";
-        else
-            git fetch;
-            # git rebase origin || die_msg "git rebase origin failed";
-        fi
+        git fetch;
+        # git rebase origin || die_msg "git rebase origin failed";
     else
-        echo "Remember to run svn update as needed";
-        # svn update || die_msg "svn update failed";
+        echo "You don't appear to be using Git yet, please fix that"
+        exit 1;
     fi
 }
 
@@ -58,10 +53,11 @@ The purpose of this script is to consolidate a lot of the annoying
 and error-prone tasks associated with an upgrade for a developer.
 
 Considerations:
- * Run as opensrf.  
+ * Run as opensrf user
  * opensrf needs sudo 
- * Assumes opensrf has a configured (as in ./configure) both ILS and 
-   OpenSRF as svn or git-svn checkouts
+ * Assumes opensrf has OpenILS and OpenSRF repositories as Git
+   checkouts and both have been configured (as in ./configure) 
+  
 END_OF_USAGE
 }
 
@@ -98,6 +94,7 @@ BASE=~      # default to $HOME (~ doesn't like :- syntax for whatever reason)
 OSRF=${OPT_OSRFDIR:-$BASE/OpenSRF/trunk};
 ILS=${OPT_EGDIR:-$(pwd)};
 XUL="$INSTALL/var/web/xul";
+JSDIR="$INSTALL/lib/javascript";    # only used for FULL install
 
 # ----------------------------------
 # TEST and SANITY CHECK
@@ -108,7 +105,7 @@ XUL="$INSTALL/var/web/xul";
 [ ! -d "$OSRF"    ]   && die_msg "OpenSRF Source Directory '$OSRF' does not exist!";
 which sudo >/dev/null || die_msg "sudo not installed (or in PATH)";
 
-[ -d "${ILS}/.svn" ] || [ -d "${ILS}/.git" ] || die_msg "Evergreen Source Directory '$ILS' is not a SVN or git repo";
+[ -d "${ILS}/.git" ] || [ -d ${ILS}/.bzr ] || die_msg "Evergreen Source Directory '$ILS' is not a SVN, bzr or git repo";
 
 if [ ! -z "$OPT_TEST" ] ; then
     feedback;
@@ -133,13 +130,13 @@ else
 fi
 
 sudo /etc/init.d/apache2 stop;
-$INSTALL/bin/osrf_ctl.sh -l -a stop_all;
+$INSTALL/bin/osrf_control --localhost --stop-all;
 
 # OpenSRF perl directory is not shared.  update the drone
 # ssh 10.5.0.202 "./update_osrf_perl.sh";
 
-cd $OSRF; svn_or_git;
-cd $ILS;  svn_or_git;
+cd $OSRF; fetch_changes;
+cd $ILS;  fetch_changes;
 
 if [ -n "$OPT_CLEAN" ]; then
     cd $OSRF && make clean;
@@ -150,14 +147,21 @@ if [ -n "$OPT_FULL"  ]; then
     cd $OSRF && make;
     cd $ILS  && make;
     cd $OSRF && sudo make install;
+    if [ -d "$JSDIR" ]; then
+        echo "Copying OpenSRF javascript files into $JSDIR";
+        cp ./src/javascript/* $JSDIR;
+    fi
 fi
 sudo chown -R opensrf:opensrf $INSTALL
 
-BID=$(date +"%Y-%m-%dT%H:%M:%S");   # or "current"
-cd $ILS && sudo make install STAFF_CLIENT_BUILD_ID=$BID;
+BIDDATE=$(date +"%Y-%m-%dT%H:%M:%S");
+BID=${STAFF_CLIENT_BUILD_ID:-$BIDDATE};   # or "current"
+
+rm -f "$XUL/current" || rm -rf "$XUL/current";      # removing the old link/build
+cd $ILS && sudo make install STAFF_CLIENT_STAMP_ID=$BID STAFF_CLIENT_BUILD_ID=$BID;
 sudo chown -R opensrf:opensrf $INSTALL
 
-[ -d "$XUL/$BID" ] || die_msg "New build directory $XUL/$BID was not created.  sudo make install failed?"
+[ -d "$XUL/$BID" ] || die_msg "New build directory $XUL/$BID was not created.  sudo make install failed?";
 
 if [ -z "$OPT_VERBOSE" ] ; then
     exec 1>&3   # Restore STDOUT
@@ -168,18 +172,32 @@ pwd;
 rm -f $XUL/current-client-build.zip;
 cp -r "$ILS/Open-ILS/xul/staff_client/build" ./
 zip -rq current-client-build.zip build;
-cat ./build/BUILD_ID
+echo -n "BUILD_ID: ";
+cat ./build/BUILD_ID;
+echo -n "STAMP_ID: ";
+cat ./build/STAMP_ID;
+echo -n " VERSION: ";
+cat ./build/VERSION;
 rm -rf ./build;
 
+echo "build ID is '$BID'";
+
+if [ "$BID" != "$BIDDDATE" ] ; then
+    mv $BID $BIDDATE;    # Move the non-timestamp directory to timestamp-based spot
+    ln -s $BIDDATE $BID; # link back to it
+fi
 
 rm -f current;      # removing the link to the old build
-ln -s $BID current; # linking "current" to the new build
+ln -s $BIDDATE current; # linking "current" to the new build
+
+rm -f server;
 ln -s current/server server;
     
 
 sudo chown -R opensrf:opensrf $OSRF $ILS
-$INSTALL/bin/osrf_ctl.sh -l -a start_all
+$INSTALL/bin/osrf_control --localhost --start-all
 sleep 2;
 cd $INSTALL/bin; ./autogen.sh ../conf/opensrf_core.xml;
 sudo /etc/init.d/apache2 start;
 
+echo $'done\a'  # \a = Bell character for beep