source: main/tags/stable/greenstone2/setup.bash@ 25452

Last change on this file since 25452 was 24610, checked in by ak19, 13 years ago

Part of commit 24600: setup.bash no longer sets imagemagick env vars. These are set in the new bin\script\gs-magick.pl script.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 8.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 # check for running bash under mingw
161 if test "`echo $GSDLOS | sed 's/mingw//'`" != "$GSDLOS" ;
162 then
163 GSDLOS=windows
164 fi
165 export GSDLOS
166
167 # Establish cpu architecture
168 # 32-bit or 64-bit?
169 UNAME_HW_MACH=`uname -m`
170
171# Original test
172# if test "`echo x$UNAME_HW_MACH | sed 's/^x.*_64$/x/'`" == "x" ;
173# then
174# GSDLARCH=64
175# else
176# GSDLARCH=32
177# fi
178
179 # Following test came from VirtualBox's Guest Additions autostart.sh
180 # (adapted for use in Greenstone)
181 case "$UNAME_HW_MACH" in
182 i[3456789]86|x86|i86pc)
183 GSDLARCH='32'
184 ;;
185 x86_64|amd64|AMD64)
186 GSDLARCH='64'
187 ;;
188 *)
189 echo "Unknown architecture: $UNAME_HW_MACH"
190 ;;
191 esac
192
193 # Only want non-trival GSDLARCH value set if there is evidence of
194 # the installed bin (lib, ...) directories using linux32, linux64
195 # (otherwise probably looking at an SVN compiled up version for single OS)
196 if test ! -d "$GSDLHOME/bin/$GSDLOS$GSDLARCH" ;
197 then
198 GSDLARCH=""
199 fi
200
201 export GSDLARCH
202
203 PATH=$GSDLHOME/bin/script:$GSDLHOME/bin/$GSDLOS$GSDLARCH:$PATH
204 export PATH
205
206 if test "$GSDLOS" = "linux" ; then
207 LD_LIBRARY_PATH="$GSDLHOME/lib/$GSDLOS$GSDLARCH:$LD_LIBRARY_PATH"
208 export LD_LIBRARY_PATH
209 elif test "$GSDLOS" = "darwin" ; then
210 DYLD_LIBRARY_PATH="$GSDLHOME/lib/$GSDLOS$GSDLARCH:$DYLD_LIBRARY_PATH"
211 export DYLD_LIBRARY_PATH
212 fi
213
214 # Override Imagemagick and Ghostscript paths to the bundled applications shipped with greenstone if they exists otherwise use default environment variables.
215
216# Imagemagick env vars are set in bin\script\gs-magick.pl
217
218
219 # 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
220 # for Windows please see setup.bat
221if test -d "$GSDLHOME/bin/$GSDLOS$GSDLARCH/ghostscript" ; then
222 PATH="$GSDLHOME/bin/$GSDLOS$GSDLARCH/ghostscript/bin":"$PATH"
223 export PATH
224
225 GS_LIB="$GSDLHOME/bin/$GSDLOS$GSDLARCH/ghostscript/share/ghostscript/8.63/lib"
226 export GS_LIB
227
228 GS_FONTPATH="$GSDLHOME/bin/$GSDLOS$GSDLARCH/ghostscript/share/ghostscript/8.63/Resource/Font"
229 export GS_FONTPATH
230fi
231
232
233
234 MANPATH=$MANPATH:$GSDLHOME/packages/mg/man
235 export MANPATH
236 case "$gsdllang" in
237 "es")
238 echo 'Su ambiente ha sido configurado para correr los programas Greenstone.' | eval $gsdliconv
239 ;;
240 "fr")
241 echo 'Votre environnement a été configuére avec succès pour exécuter Greenstone' | eval $gsdliconv
242 ;;
243 "ru")
244eval $gsdliconv <<EOF
245÷ÁÛÅ ÏËÒÕÖÅÎÉÅ ÂÙÌÏ ÕÓÐÅÛÎÏ ÎÁÓÔÒÏÅÎÏ, ÞÔÏÂÙ ÕÓÔÁÎÏ×ÉÔØ Greenstone
246EOF
247 ;;
248 *)
249 echo 'Your environment has successfully been set up to run Greenstone'
250 ;;
251 esac
252fi
253unset gsdl_not_sourced
254unset gsdliconv
255unset gsdlfromenc
256unset gsdltoenc
257
258if test "x$gsopt_noexts" != "x1" ; then
259 if test -e ext; then
260 for gsdl_ext in ext/*; do
261 if test -d $gsdl_ext; then
262 cd $gsdl_ext > /dev/null
263 if test -e setup.bash ; then
264 source ./setup.bash
265 fi
266 cd ../..
267 fi
268 done
269 fi
270fi
271
272if test -e apache-httpd ; then
273 echo "+Adding in executable path for apache-httpd"
274 PATH=$GSDLHOME/apache-httpd/$GSDLOS$GSDLARCH/bin:$PATH
275 export PATH
276
277 if test "$GSDLOS" = "linux" ; then
278 LD_LIBRARY_PATH="$GSDLHOME/apache-httpd/$GSDLOS$GSDLARCH/lib:$LD_LIBRARY_PATH"
279 export LD_LIBRARY_PATH
280
281 elif test "$GSDLOS" = "darwin" ; then
282 DYLD_LIBRARY_PATH="$GSDLHOME/apache-httpd/$GSDLOS$GSDLARCH/lib:$DYLD_LIBRARY_PATH"
283 export DYLD_LIBRARY_PATH
284 fi
285fi
286
287if test -e local ; then
288 if test -e local/setup.bash ; then
289 echo "Sourcing local/setup.bash"
290 cd local ; source setup.bash ; cd ..
291 fi
292
293 PATH=$GSDLHOME/local/bin:$PATH
294 export PATH
295 LD_LIBRARY_PATH=$GSDLHOME/local/lib:$LD_LIBRARY_PATH
296 export LD_LIBRARY_PATH
297fi
298
299
300# if the Perl-for-greenstone tarfile has been installed in the bin/linux
301# folder, then we set things up to use that, instead of a system perl
302if [ -d "$GSDLHOME/bin/$GSDLOS$GSDLARCH/perl" ] ; then
303
304 if [ -d "$GSDLHOME/bin/$GSDLOS$GSDLARCH/perl/bin" ] ; then
305 PERLPATH=$GSDLHOME/bin/$GSDLOS$GSDLARCH/perl/bin
306 export PERLPATH
307 PATH=$PERLPATH:$PATH
308 export PATH
309 fi
310
311 if test "$GSDLOS" = "linux" ; then
312 LD_LIBRARY_PATH=$GSDLHOME/bin/$GSDLOS$GSDLARCH/perl/lib/5.8.9/i686-linux-thread-multi/CORE:$LD_LIBRARY_PATH
313 export LD_LIBRARY_PATH
314 elif test "$GSDLOS" = "darwin" ; then
315 DYLD_LIBRARY_PATH=$GSDLHOME/bin/$GSDLOS$GSDLARCH/perl/lib/5.8.9/darwin-thread-multi-2level/CORE:$DYLD_LIBRARY_PATH
316 export DYLD_LIBRARY_PATH
317 fi
318
319 if [ "x$PERL5LIB" = "x" ] ; then
320 PERL5LIB=$GSDLHOME/bin/$GSDLOS$GSDLARCH/perl/lib
321 else
322 PERL5LIB=$GSDLHOME/bin/$GSDLOS$GSDLARCH/perl/lib:$PERL5LIB
323 fi
324 export PERL5LIB
325
326 echo ""
327 echo "***** Perl installation detected inside Greenstone."
328 echo "Command-line scripts need to be run with \"perl -S ...\""
329 echo " e.g. perl -S import.pl -removeold demo"
330 echo ""
331# else we may in future need to update PERL5LIB with some other (further) locations
332fi
Note: See TracBrowser for help on using the repository browser.