- Timestamp:
- 2008-04-14T16:20:45+12:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
greenstone3/branches/customizingGreenstone3/gs3-setup.sh
r13824 r15191 2 2 # this should work under ash, bash, zsh, ksh, sh style shells. 3 3 4 # make sure we are sourced, and not run 4 #the purpose of this file is to check/set up the environment for greenstone3 5 #sorts out 6 # - gsdl3home 7 # - java 5 8 6 if test "$0" != "`echo $0 | sed s/gs3-setup\.sh//`" ; then 7 # if $0 contains "gs3-setup.sh" we've been run... $0 is shellname if sourced. 8 # One exception is zsh has an option to set it temporarily to the script name 9 if test -z "$ZSH_NAME" ; then 10 # we aren't using zsh 11 gsdl_not_sourced=true 12 fi 13 fi 14 15 if test -n "$gsdl_not_sourced" ; then 16 echo " Error: Make sure you source this script, not execute it. Eg:" 17 echo " $ source gs3-setup.sh" 18 echo " or" 19 echo " $ . ./gs3-setup.sh" 20 echo " not" 21 echo " $ ./gs3-setup.sh" 22 unset gsdl_not_sourced 23 exit 1 24 fi 25 26 if test ! -f gs3-setup.sh ; then 27 echo "You must source the script from within the Greenstone home directory" 28 exit 1 29 fi 30 31 GSDL3SRCHOME=`pwd` 32 GSDL3HOME=$GSDL3SRCHOME/web 33 export GSDL3HOME 34 export GSDL3SRCHOME 35 GSDLOS=`uname -s | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 36 # check for running bash under cygwin 37 if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ; then 38 GSDLOS=windows 39 fi 40 export GSDLOS 41 42 #change this if external tomcat 43 TOMCAT_HOME=$GSDL3SRCHOME/packages/tomcat 44 45 PATH=$GSDL3SRCHOME/bin/script:$GSDL3SRCHOME/bin:$PATH 46 export PATH 47 MANPATH=$MANPATH:$GSDL3SRCHOME/doc/man 48 export MANPATH 49 50 CLASSPATH=$GSDL3HOME/WEB-INF/classes:$GSDL3SRCHOME/resources/java:$CLASSPATH 51 for JARFILE in $GSDL3SRCHOME/*.jar; do 52 CLASSPATH=$CLASSPATH:$JARFILE 53 done 54 for JARFILE in $GSDL3SRCHOME/lib/jni/*.jar; do 55 CLASSPATH=$CLASSPATH:$JARFILE 56 done 57 for JARFILE in $GSDL3HOME/WEB-INF/lib/*.jar; do 58 CLASSPATH=$CLASSPATH:$JARFILE 59 done 60 for JARFILE in $TOMCAT_HOME/common/endorsed/*.jar; do 61 CLASSPATH=$CLASSPATH:$JARFILE 62 done 63 for JARFILE in $GSDL3SRCHOME/build/*.jar; do 64 CLASSPATH=$CLASSPATH:$JARFILE 65 done 66 67 export CLASSPATH 68 69 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni 70 export LD_LIBRARY_PATH 71 ## for mac 72 DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni 73 export DYLD_LIBRARY_PATH 9 java_min_version=1.5.0_00 74 10 75 11 76 # see if we can find java 77 java="java" 78 jfound=1 79 jok=1 80 # if JAVAHOME or JAVA_HOME is set we'll use it to determine where java lives, otherwise 81 # we just hope it's on the search path 82 if [ "$JAVA_HOME" != "" ] ; then 83 java="$JAVA_HOME/bin/java" 84 elif [ "$JAVAHOME" != "" ] ; then 85 java="$JAVAHOME/bin/java" 86 export JAVA_HOME=$JAVAHOME 87 else 88 java=`which java 2> /dev/null` 89 if [ ! -x "$java" ]; then 90 echo "Failed to locate Java. You must install a java runtime environment" 91 echo "(version 1.4 or greater) before installing Greenstone 3." 92 jfound=0 93 jok=0 94 else 95 export JAVA_HOME=`echo $java | sed -n 's/[\\\/]bin[\\\/]java$//p'` 96 fi 97 fi 98 if [ $jfound -eq 1 ]; then 99 javaversion=`$java -version 2>&1 | sed -n 's/^java version \"\(.*\)\"/\1/p'` 100 jvmajor=`echo $javaversion | sed -n 's/^\([0-9]*\).*$/\1/p'` 101 jvminor=`echo $javaversion | sed -n 's/^[0-9]*\.\([0-9]*\).*$/\1/p'` 102 103 if [ $jvmajor -lt 1 ] ; then 104 jok=0 105 fi 106 if [ $jvmajor -eq 1 ] && [ $jvminor -lt 4 ] ; then 107 jok=0 108 fi 109 fi 12 function testSource(){ 110 13 111 if [ $jfound -eq 1 ] && [ $jok -eq 0 ] ; then 112 echo "The version of the java runtime environment you have installed is too" 113 echo "old to run Greenstone 3. Please install a new version of the JRE (version" 114 echo "1.4 or newer) and rerun this installation." 115 else 116 echo "Your environment has successfully been set up to run Greenstone3" 117 fi 14 if test "$0" != "`echo $0 | sed s/gs3-setup\.sh//`" ; then 15 # if $0 contains "gs3-setup.sh" we've been run... $0 is shellname if sourced. 16 # One exception is zsh has an option to set it temporarily to the script name 17 if test -z "$ZSH_NAME" ; then 18 # we aren't using zsh 19 gsdl_not_sourced=true 20 fi 21 fi 118 22 119 #do we need to check for perl??? 120 # make sure perl is ok 121 #perl=`which perl 2> /dev/null` 122 # echo "perl: $perl" 123 #if [ ! -x "$perl" ] ; then 124 # echo "Greenstone 3 requires perl in order to operate but this installation" 125 # echo "could not detect perl on your system. Please ensure that perl is installed" 126 # echo "and is on your search path then rerun this installation script." 127 # exit 1 128 #fi 23 if test -n "$gsdl_not_sourced" ; then 24 echo " Error: Make sure you source this script, not execute it. Eg:" 25 echo " $ source gs3-setup.sh" 26 echo " or" 27 echo " $ . gs3-setup.sh" 28 echo " not" 29 echo " $ ./gs3-setup.sh" 30 unset gsdl_not_sourced 31 exit 1 32 fi 33 34 if test ! -f gs3-setup.sh ; then 35 echo "You must source the script from within the Greenstone home directory" 36 exit 1 37 fi 38 39 } 40 41 function setGS3ENV() { 42 43 echo "Setting up your environment for Greenstone3" 44 ## main greenstone environment variables ## 45 GSDL3SRCHOME=`pwd` 46 GSDL3HOME=$GSDL3SRCHOME/web 47 export GSDL3HOME 48 export GSDL3SRCHOME 49 50 GSDLOS=`uname -s | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 51 # check for running bash under cygwin 52 if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ; then 53 GSDLOS=windows 54 fi 55 export GSDLOS 56 echo " - Exported GSDL3HOME, GSDL3SRCHOME and GSDLOS" 57 58 #change this if external tomcat 59 TOMCAT_HOME=$GSDL3SRCHOME/packages/tomcat 129 60 130 61 62 ## adjustments to users (existing) environment ## 131 63 64 #PATH 65 if [ `isinpath "$PATH" "$GSDL3SRCHOME/bin"` == "false" ]; then 66 PATH=$GSDL3SRCHOME/bin/script:$GSDL3SRCHOME/bin:$PATH 67 export PATH 68 MANPATH=$MANPATH:$GSDL3SRCHOME/doc/man 69 export MANPATH 70 echo " - Adjusted PATH" 71 else 72 echo " - PATH already correct" 73 fi 132 74 75 #CLASSPATH 76 if [ `isinpath "$CLASSPATH" "$GSDL3HOME/WEB-INF/classes"` == "false" ]; then 77 CLASSPATH=$GSDL3HOME/WEB-INF/classes:$GSDL3SRCHOME/resources/java:$CLASSPATH 78 for JARFILE in $GSDL3SRCHOME/*.jar; do 79 CLASSPATH=$CLASSPATH:$JARFILE 80 done 81 for JARFILE in $GSDL3SRCHOME/lib/jni/*.jar; do 82 CLASSPATH=$CLASSPATH:$JARFILE 83 done 84 for JARFILE in $GSDL3HOME/WEB-INF/lib/*.jar; do 85 CLASSPATH=$CLASSPATH:$JARFILE 86 done 87 for JARFILE in $TOMCAT_HOME/common/endorsed/*.jar; do 88 CLASSPATH=$CLASSPATH:$JARFILE 89 done 90 for JARFILE in $GSDL3SRCHOME/build/*.jar; do 91 CLASSPATH=$CLASSPATH:$JARFILE 92 done 93 export CLASSPATH 94 echo " - Adjusted CLASSPATH" 95 else 96 echo " - CLASSPATH already correct" 97 fi 98 99 #LD_LIBRARY_PATH 100 if [ `isinpath "$LD_LIBRARY_PATH" "$GSDL3SRCHOME/lib/jni"` == "false" ]; then 101 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni 102 export LD_LIBRARY_PATH 103 DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni 104 export DYLD_LIBRARY_PATH 105 echo " - Adjusted LD_LIBRARY_PATH" 106 else 107 echo " - LD_LIBRARY_PATH already correct" 108 fi 109 110 #ant 111 which ant &> /dev/null 112 if [ "$?" != "0" ]; then 113 ANT_HOME=$GSDL3SRCHOME/packages/ant 114 PATH=$ANT_HOME/bin:$PATH 115 echo " - Setup ant" 116 else 117 echo " - Ant already setup" 118 fi 119 120 echo 121 } 122 123 function checkJava() { 124 echo "Checking Java" 125 126 bin/search4j -m $java_min_version &> /dev/null 127 if [ "$?" != "0" ]; then 128 129 #java is not set up already 130 bin/search4j -m $java_min_version -h packages/jre &> /dev/null 131 if [ "$?" == "0" ]; then 132 #bundled java exists, set up 133 export JAVA_HOME=`pwd`/packages/jre 134 echo " - Exported JAVA_HOME to point to bundled java" 135 else 136 #no java exists 137 echo " - Failed to locate java ($java_min_version or greater)" 138 bin/search4j &> /dev/null; if [ "$?" == "0" ]; then echo " (It looks like you hava java but it's too old)"; fi 139 echo " - Please set JAVA_HOME or JRE_HOME to point to an appropriate java" 140 echo " And add JAVA_HOME/bin or JRE_HOME/bin to your PATH" 141 fi 142 143 else 144 145 #java is already set up 146 echo " - Found java at: `bin/search4j -m $java_min_version`" 147 148 fi 149 echo 150 } 151 152 function pauseAndExit(){ 153 echo -n "Please press any key to continue... " 154 read 155 } 156 157 function isinpath() { 158 for file in `echo $1 | sed 's/:/ /g'`; do 159 if [ "$file" == "$2" ]; then 160 echo true 161 return 162 fi 163 done 164 echo false 165 } 166 167 echo 168 testSource 169 setGS3ENV 170 checkJava
Note:
See TracChangeset
for help on using the changeset viewer.