source: greenstone3/trunk/gs3-setup.sh@ 16503

Last change on this file since 16503 was 16213, checked in by oranfry, 16 years ago

the minimum java for greenstone3 is still 1.4, changing this file to reflect that

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 4.3 KB
Line 
1# if this file is executed, /bin/sh is used, as we don't start with #!
2# this should work under ash, bash, zsh, ksh, sh style shells.
3
4#the purpose of this file is to check/set up the environment for greenstone3
5#sorts out:
6# - gsdl3home
7# - java
8
9# java_min_version gets passed to search4j as the minimum java version
10java_min_version=1.4.0_00
11
12
13function testSource(){
14
15 if test "$0" != "`echo $0 | sed s/gs3-setup\.sh//`" ; then
16 # if $0 contains "gs3-setup.sh" we've been run... $0 is shellname if sourced.
17 # One exception is zsh has an option to set it temporarily to the script name
18 if test -z "$ZSH_NAME" ; then
19 # we aren't using zsh
20 gsdl_not_sourced=true
21 fi
22 fi
23
24 if test -n "$gsdl_not_sourced" ; then
25 echo " Error: Make sure you source this script, not execute it. Eg:"
26 echo " $ source gs3-setup.sh"
27 echo " or"
28 echo " $ . gs3-setup.sh"
29 echo " not"
30 echo " $ ./gs3-setup.sh"
31 unset gsdl_not_sourced
32 exit 1
33 fi
34
35 if test ! -f gs3-setup.sh ; then
36 echo "You must source the script from within the Greenstone home directory"
37 exit 1
38 fi
39
40}
41
42function setGS3ENV() {
43
44 echo "Setting up your environment for Greenstone3"
45 ## main greenstone environment variables ##
46 GSDL3SRCHOME=`pwd`
47 GSDL3HOME=$GSDL3SRCHOME/web
48 export GSDL3HOME
49 export GSDL3SRCHOME
50
51 GSDLOS=`uname -s | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
52 # check for running bash under cygwin
53 if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ; then
54 GSDLOS=windows
55 fi
56 export GSDLOS
57 echo " - Exported GSDL3HOME, GSDL3SRCHOME and GSDLOS"
58
59 #change this if external tomcat
60 TOMCAT_HOME=$GSDL3SRCHOME/packages/tomcat
61
62
63 ## adjustments to users (existing) environment ##
64
65 #PATH
66 if [ `isinpath "$PATH" "$GSDL3SRCHOME/bin"` == "false" ]; then
67 PATH=$GSDL3SRCHOME/bin/script:$GSDL3SRCHOME/bin:$PATH
68 export PATH
69 MANPATH=$MANPATH:$GSDL3SRCHOME/doc/man
70 export MANPATH
71 echo " - Adjusted PATH"
72 else
73 echo " - PATH already correct"
74 fi
75
76 #CLASSPATH
77 if [ `isinpath "$CLASSPATH" "$GSDL3HOME/WEB-INF/classes"` == "false" ]; then
78 CLASSPATH=$GSDL3HOME/WEB-INF/classes:$GSDL3SRCHOME/resources/java:$CLASSPATH
79 for JARFILE in $GSDL3SRCHOME/*.jar; do
80 CLASSPATH=$CLASSPATH:$JARFILE
81 done
82 for JARFILE in $GSDL3SRCHOME/lib/jni/*.jar; do
83 CLASSPATH=$CLASSPATH:$JARFILE
84 done
85 for JARFILE in $GSDL3HOME/WEB-INF/lib/*.jar; do
86 CLASSPATH=$CLASSPATH:$JARFILE
87 done
88 for JARFILE in $TOMCAT_HOME/common/endorsed/*.jar; do
89 CLASSPATH=$CLASSPATH:$JARFILE
90 done
91 for JARFILE in $GSDL3SRCHOME/build/*.jar; do
92 CLASSPATH=$CLASSPATH:$JARFILE
93 done
94 export CLASSPATH
95 echo " - Adjusted CLASSPATH"
96 else
97 echo " - CLASSPATH already correct"
98 fi
99
100 #LD_LIBRARY_PATH
101 if [ `isinpath "$LD_LIBRARY_PATH" "$GSDL3SRCHOME/lib/jni"` == "false" ]; then
102 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni
103 export LD_LIBRARY_PATH
104 DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni
105 export DYLD_LIBRARY_PATH
106 echo " - Adjusted LD_LIBRARY_PATH"
107 else
108 echo " - LD_LIBRARY_PATH already correct"
109 fi
110
111 #ant
112 which ant &> /dev/null
113 if [ "$?" != "0" ]; then
114 ANT_HOME=$GSDL3SRCHOME/packages/ant
115 PATH=$ANT_HOME/bin:$PATH
116 echo " - Setup ant"
117 else
118 echo " - Ant already setup"
119 fi
120
121 echo
122}
123
124function checkJava() {
125 echo "Checking Java"
126
127 bin/search4j -m $java_min_version &> /dev/null
128 if [ "$?" != "0" ]; then
129
130 #java is not set up already
131 bin/search4j -m $java_min_version -h packages/jre &> /dev/null
132 if [ "$?" == "0" ]; then
133 #bundled java exists, set up
134 export JAVA_HOME=`pwd`/packages/jre
135 echo " - Exported JAVA_HOME to point to bundled java"
136 else
137 #no java exists
138 echo " - Failed to locate java ($java_min_version or greater)"
139 bin/search4j &> /dev/null; if [ "$?" == "0" ]; then echo " (It looks like you hava java but it's too old)"; fi
140 echo " - Please set JAVA_HOME or JRE_HOME to point to an appropriate java"
141 echo " And add JAVA_HOME/bin or JRE_HOME/bin to your PATH"
142 fi
143
144 else
145
146 #java is already set up
147 echo " - Found java at: `bin/search4j -m $java_min_version`"
148
149 fi
150 echo
151}
152
153function pauseAndExit(){
154 echo -n "Please press any key to continue... "
155 read
156}
157
158function isinpath() {
159 for file in `echo $1 | sed 's/:/ /g'`; do
160 if [ "$file" == "$2" ]; then
161 echo true
162 return
163 fi
164 done
165 echo false
166}
167
168echo
169testSource
170setGS3ENV
171checkJava
Note: See TracBrowser for help on using the repository browser.