source: gsdl/trunk/setup.bash@ 20923

Last change on this file since 20923 was 20923, checked in by oranfry, 13 years ago

If there's a local perl installation inside greenstone on Linux, setup.bash will now set up environment variables for this. (A local perl installation is necessary on linux machines whose own system perl installations conflict with Greenstone.)

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.6 KB
Line 
1#!/bin/bash
2# if this file is executed, /bin/sh is used, as we don't start with #!
3# this should work under ash, bash, zsh, ksh, sh style shells.
4gsdllang=""
5# encoding inputs and outputs
6gsdltoenc=""
7gsdlfromenc=""
8
9# see if the shell has any language environment variables set
10# see locale(7) manpage for this ordering.
11if test ! -z "$LC_ALL" ; then
12 gsdllang="$LC_ALL"
13elif test ! -z "$LANG"; then
14 gsdllang="$LANG"
15fi
16
17
18# note... all our output strings have the charset hard-coded, but
19# people may be using a different encoding in their terminal. LANG
20# strings look like "en_NZ.UTF-8".
21
22# Determine the requested output encoding
23case $gsdllang in
24 *.*)
25 gsdltoenc=`echo $gsdllang | sed 's/.*\.//'`
26 ;;
27esac
28
29# Our french and spanish strings are currently in iso-8859-1 encoding.
30case $gsdllang in
31 fr*|FR*)
32 gsdllang=fr
33 gsdlfromenc="iso-8859-1"
34 ;;
35 es*|ES*)
36 gsdllang=es
37 gsdlfromenc="iso-8859-1"
38 ;;
39 ru*|RU*)
40 gsdllang=ru
41 gsdlfromenc="koi8r"
42 ;;
43 *) # default
44 gsdllang=en
45 gsdlfromenc="iso-8859-1"
46 ;;
47esac
48
49# "iconv" is the program for converting text between encodings.
50gsdliconv=`which iconv 2>/dev/null`
51if test $? -ne 0 || test ! -x "$gsdliconv" || test -z "$gsdlfromenc" || test -z "$gsdltoenc"; then
52# we can't convert encodings from some reason
53 gsdliconv="cat"
54else
55# add the encodings
56 gsdliconv="$gsdliconv -f $gsdlfromenc -t $gsdltoenc"
57fi
58
59# make sure we are sourced, and not run
60
61if test "$0" != "`echo $0 | sed s/setup\.bash//`" ; then
62# if $0 contains "setup.bash" we've been run... $0 is shellname if sourced.
63# One exception is zsh has an option to set it temporarily to the script name
64 if test -z "$ZSH_NAME" ; then
65 # we aren't using zsh
66 gsdl_not_sourced=true
67 fi
68fi
69
70if test -n "$gsdl_not_sourced" ; then
71 case "$gsdllang" in
72 "es")
73eval $gsdliconv <<EOF
74 Error: Asegúrese de compilar este guión, no de ejecutarlo. P. ej.:
75 $ source setup.bash
76 o
77 $ . ./setup.bash
78 no
79 $ ./setup.bash
80EOF
81 ;;
82 "fr")
83eval $gsdliconv <<EOF
84 Erreur: Assurez-vous de "sourcer" le script, plutôt que de l'exécuter. Ex:
85 $ source setup.bash
86 ou
87 $ . ./setup.bash
88 pas
89 $ ./setup.bash
90EOF
91 ;;
92 "ru")
93eval $gsdliconv <<EOF
94 ïÛÉÂËÁ: õÄÏÓÔÏ×ÅÒØÔÅÓØ × ÉÓÔÏÞÎÉËÅ ÜÔÏÇÏ ÓËÒÉÐÔÁ. îÅ ÉÓÐÏÌÎÑÊÔÅ ÅÇÏ.
95 îÁÐÒÉÍÅÒ:
96 $ source setup.bash
97 ÉÌÉ
98 $ . ./setup.bash
99 ÎÅÔ
100 $ ./setup.bash
101EOF
102 ;;
103 *)
104eval $gsdliconv <<EOF
105 Error: Make sure you source this script, not execute it. Eg:
106 $ source setup.bash
107 or
108 $ . ./setup.bash
109 not
110 $ ./setup.bash
111EOF
112 ;;
113 esac
114elif test -n "$GSDLHOME" ; then
115 case "$gsdllang" in
116 "es")
117 echo '¡Su ambiente ya está listo para Greenstone!' | eval $gsdliconv
118 ;;
119 "fr")
120 echo 'Votre environnement est déjà préparé pour Greenstone!' | eval $gsdliconv
121 ;;
122 "ru")
123 echo '÷ÁÛÅ ÏËÒÕÖÅÎÉÅ ÕÖÅ ÎÁÓÔÒÏÅÎÏ ÄÌÑ Greenstone!' | eval $gsdliconv
124 ;;
125 *)
126 echo 'Your environment is already set up for Greenstone!'
127 ;;
128 esac
129elif test ! -f setup.bash ; then
130 case "$gsdllang" in
131 "es")
132eval $gsdliconv <<EOF
133Usted debe compilar el guión desde el interior del directorio de inicio
134de Greenstone.
135EOF
136 ;;
137 "fr")
138echo 'Vous devez trouver la source du script dans le répertoire de base de Greenstone' | eval $gsdliconv
139 ;;
140 "ru")
141eval $gsdliconv <<EOF
142÷ÁÍ ÎÅÏÂÈÏÄÉÍ ÉÓÔÏÞÎÉË ÓËÒÉÐÔÁ ÉÚ ÂÁÚÏ×ÏÊ ÄÉÒÅËÔÏÒÉÉ Greenstone
143EOF
144 ;;
145 *)
146 echo 'You must source the script from within the Greenstone home directory'
147 ;;
148 esac
149else
150 GSDLHOME=`pwd`
151 export GSDLHOME
152 GSDLOS=`uname -s | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
153 # check for running bash under cygwin
154 if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ;
155 then
156 GSDLOS=windows
157 fi
158 export GSDLOS
159
160 PATH=$GSDLHOME/bin/$GSDLOS/wv/bin:$GSDLHOME/bin/script:$GSDLHOME/bin/$GSDLOS:$PATH
161 export PATH
162
163 # Allow wvWare binary to find the required libraries.
164 if test "$GSDLOS" = "linux" ; then
165 LD_LIBRARY_PATH="$GSDLHOME/bin/$GSDLOS/wv/lib:$LD_LIBRARY_PATH"
166 export LD_LIBRARY_PATH
167
168 elif test "$GSDLOS" = "darwin" ; then
169 DYLD_LIBRARY_PATH="$GSDLHOME/bin/$GSDLOS/wv/lib:$DYLD_LIBRARY_PATH"
170 export DYLD_LIBRARY_PATH
171 fi
172
173
174
175 # Override Imagemagick and Ghostscript paths to the bundled applications shipped with greenstone if they exists otherwise use default environment variables.
176
177if test -d "$GSDLHOME/bin/$GSDLOS/imagemagick" ; then
178 PATH="$GSDLHOME/bin/$GSDLOS/imagemagick/bin:$PATH"
179 export PATH
180
181 MAGICK_HOME="$GSDLHOME/bin/$GSDLOS/imagemagick"
182 export MAGICK_HOME
183
184 if test "$GSDLOS" = "linux" ; then
185 LD_LIBRARY_PATH="$GSDLHOME/bin/$GSDLOS/imagemagick/lib:$LD_LIBRARY_PATH"
186 export LD_LIBRARY_PATH
187
188 elif test "$GSDLOS" = "darwin" ; then
189 DYLD_LIBRARY_PATH="$GSDLHOME/bin/$GSDLOS/imagemagick/lib:$DYLD_LIBRARY_PATH"
190 export DYLD_LIBRARY_PATH
191 fi
192fi
193
194
195 # Note: Ghostscript is only bundled with Greenstone on Mac and Windows, not on Linux. The code below should be used only for the Darwin platform
196 # for Windows please see setup.bat
197if test -d "$GSDLHOME/bin/$GSDLOS/ghostscript" ; then
198 PATH="$GSDLHOME/bin/$GSDLOS/ghostscript/bin":"$PATH"
199 export PATH
200
201 GS_LIB="$GSDLHOME/bin/$GSDLOS/ghostscript/share/ghostscript/8.63/lib"
202 export GS_LIB
203
204 GS_FONTPATH="$GSDLHOME/bin/$GSDLOS/ghostscript/share/ghostscript/8.63/Resource/Font"
205 export GS_FONTPATH
206fi
207
208
209
210 MANPATH=$MANPATH:$GSDLHOME/packages/mg/man
211 export MANPATH
212 case "$gsdllang" in
213 "es")
214 echo 'Su ambiente ha sido configurado para correr los programas Greenstone.' | eval $gsdliconv
215 ;;
216 "fr")
217 echo 'Votre environnement a été configuére avec succès pour exécuter Greenstone' | eval $gsdliconv
218 ;;
219 "ru")
220eval $gsdliconv <<EOF
221÷ÁÛÅ ÏËÒÕÖÅÎÉÅ ÂÙÌÏ ÕÓÐÅÛÎÏ ÎÁÓÔÒÏÅÎÏ, ÞÔÏÂÙ ÕÓÔÁÎÏ×ÉÔØ Greenstone
222EOF
223 ;;
224 *)
225 echo 'Your environment has successfully been set up to run Greenstone'
226 ;;
227 esac
228fi
229unset gsdl_not_sourced
230unset gsdliconv
231unset gsdlfromenc
232unset gsdltoenc
233
234if test -e ext ; then
235 for gsdl_ext in ext/* ; do
236 cd $gsdl_ext > /dev/null
237 if test -e setup.bash ; then
238 source ./setup.bash
239 fi
240 cd ../..
241 done
242fi
243
244if test -e apache-httpd ; then
245 echo "Adding in executable path for apache-httpd"
246 PATH=$GSDLHOME/apache-httpd/$GSDLOS/bin:$PATH
247 export PATH
248
249 if test "$GSDLOS" = "linux" ; then
250 LD_LIBRARY_PATH="$GSDLHOME/apache-httpd/$GSDLOS/lib:$LD_LIBRARY_PATH"
251 export LD_LIBRARY_PATH
252
253 elif test "$GSDLOS" = "darwin" ; then
254 DYLD_LIBRARY_PATH="$GSDLHOME/apache-httpd/$GSDLOS/lib:$DYLD_LIBRARY_PATH"
255 export DYLD_LIBRARY_PATH
256 fi
257fi
258
259
260if test -e local ; then
261 if test -e local/setup.bash ; then
262 echo "Sourcing local/setup.bash"
263 cd local ; source setup.bash ; cd ..
264 fi
265
266 PATH=$GSDLHOME/local/bin:$PATH
267 export PATH
268 LD_LIBRARY_PATH=$GSDLHOME/local/lib:$LD_LIBRARY_PATH
269 export LD_LIBRARY_PATH
270fi
271
272
273# if the Perl-for-greenstone tarfile has been installed in the bin/linux
274# folder, then we set things up to use that, instead of a system perl
275if [ -d "$GSDLHOME/bin/$GSDLOS/perl" ] ; then
276 PATH=$GSDLHOME/bin/$GSDLOS/perl/bin:$PATH
277 export PATH
278 LD_LIBRARY_PATH=$GSDLHOME/bin/$GSDLOS/perl/lib/5.8.9/i686-linux-thread-multi/CORE:$LD_LIBRARY_PATH
279 export LD_LIBRARY_PATH
280 if [ "x$PERL5LIB" = "x" ] ; then
281 PERL5LIB=$GSDLHOME/bin/$GSDLOS/perl/lib
282 else
283 PERL5LIB=$GSDLHOME/bin/$GSDLOS/perl/lib:$PERL5LIB
284 fi
285 export PERL5LIB
286 echo ""
287 echo "***** Perl installation detected inside Greenstone."
288 echo "Command-line scripts need to be run with \"perl -S ...\""
289 echo " e.g. perl -S import.pl -removeold demo"
290 echo ""
291# else we may in future need to update PERL5LIB with some other (further) locations
292fi
Note: See TracBrowser for help on using the repository browser.