source: main/trunk/greenstone2/setup.bash@ 23620

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

Implemented Dr Bainbridge and Sam's solution to the libiconv/wvware/gnome/apache problem: apache's lib folder (containing its own libiconv) is no longer set in the DYLD_LIBRARY_PATH exported from GS2's setup.bash, but is now set specifically for the web-server in gs2-server.sh

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.3 KB
RevLine 
[19156]1#!/bin/bash
[2719]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.
[6774]4gsdllang=""
[6892]5# encoding inputs and outputs
6gsdltoenc=""
7gsdlfromenc=""
[2719]8
[6774]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
[6892]12 gsdllang="$LC_ALL"
[6774]13elif test ! -z "$LANG"; then
[6892]14 gsdllang="$LANG"
[6774]15fi
16
[6892]17
[6774]18# note... all our output strings have the charset hard-coded, but
19# people may be using a different encoding in their terminal. LANG
[6892]20# strings look like "en_NZ.UTF-8".
[6774]21
[6892]22# Determine the requested output encoding
23case $gsdllang in
24 *.*)
25 gsdltoenc=`echo $gsdllang | sed 's/.*\.//'`
26 ;;
27esac
28
[6774]29# Our french and spanish strings are currently in iso-8859-1 encoding.
30case $gsdllang in
31 fr*|FR*)
32 gsdllang=fr
[6892]33 gsdlfromenc="iso-8859-1"
[6774]34 ;;
35 es*|ES*)
36 gsdllang=es
[6892]37 gsdlfromenc="iso-8859-1"
[6774]38 ;;
39 ru*|RU*)
40 gsdllang=ru
[6892]41 gsdlfromenc="koi8r"
[6774]42 ;;
43 *) # default
44 gsdllang=en
[6892]45 gsdlfromenc="iso-8859-1"
[6774]46 ;;
47esac
48
[6892]49# "iconv" is the program for converting text between encodings.
50gsdliconv=`which iconv 2>/dev/null`
[8734]51if test $? -ne 0 || test ! -x "$gsdliconv" || test -z "$gsdlfromenc" || test -z "$gsdltoenc"; then
[6892]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
[2719]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
[2709]68fi
[2719]69
70if test -n "$gsdl_not_sourced" ; then
[6774]71 case "$gsdllang" in
72 "es")
[6892]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
[6774]81 ;;
82 "fr")
[6892]83eval $gsdliconv <<EOF
[7029]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
[6892]90EOF
[6774]91 ;;
92 "ru")
[6892]93eval $gsdliconv <<EOF
94 ïÛÉÂËÁ: õÄÏÓÔÏ×ÅÒØÔÅÓØ × ÉÓÔÏÞÎÉËÅ ÜÔÏÇÏ ÓËÒÉÐÔÁ. îÅ ÉÓÐÏÌÎÑÊÔÅ ÅÇÏ.
95 îÁÐÒÉÍÅÒ:
96 $ source setup.bash
97 ÉÌÉ
98 $ . ./setup.bash
99 ÎÅÔ
100 $ ./setup.bash
101EOF
[6774]102 ;;
103 *)
[6892]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
[6774]112 ;;
113 esac
[2719]114elif test -n "$GSDLHOME" ; then
[6774]115 case "$gsdllang" in
116 "es")
[6892]117 echo '¡Su ambiente ya está listo para Greenstone!' | eval $gsdliconv
[6774]118 ;;
119 "fr")
[6892]120 echo 'Votre environnement est déjà préparé pour Greenstone!' | eval $gsdliconv
[6774]121 ;;
122 "ru")
[6892]123 echo '÷ÁÛÅ ÏËÒÕÖÅÎÉÅ ÕÖÅ ÎÁÓÔÒÏÅÎÏ ÄÌÑ Greenstone!' | eval $gsdliconv
[6774]124 ;;
125 *)
[6820]126 echo 'Your environment is already set up for Greenstone!'
[6774]127 ;;
128 esac
[2719]129elif test ! -f setup.bash ; then
[6774]130 case "$gsdllang" in
131 "es")
[6892]132eval $gsdliconv <<EOF
133Usted debe compilar el guión desde el interior del directorio de inicio
134de Greenstone.
135EOF
[6774]136 ;;
137 "fr")
[6892]138echo 'Vous devez trouver la source du script dans le répertoire de base de Greenstone' | eval $gsdliconv
[6774]139 ;;
140 "ru")
[6892]141eval $gsdliconv <<EOF
142÷ÁÍ ÎÅÏÂÈÏÄÉÍ ÉÓÔÏÞÎÉË ÓËÒÉÐÔÁ ÉÚ ÂÁÚÏ×ÏÊ ÄÉÒÅËÔÏÒÉÉ Greenstone
143EOF
[6774]144 ;;
145 *)
[6820]146 echo 'You must source the script from within the Greenstone home directory'
[6774]147 ;;
148 esac
[2719]149else
[2906]150 GSDLHOME=`pwd`
151 export GSDLHOME
[2943]152 GSDLOS=`uname -s | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
[2749]153 # check for running bash under cygwin
[2719]154 if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ;
155 then
156 GSDLOS=windows
157 fi
[2906]158 export GSDLOS
159
[20933]160 PATH=$GSDLHOME/bin/script:$GSDLHOME/bin/$GSDLOS:$PATH
[2906]161 export PATH
[18188]162
[23588]163 if test "$GSDLOS" = "linux" ; then
164 LD_LIBRARY_PATH="$GSDLHOME/lib/$GSDLOS:$LD_LIBRARY_PATH"
165 export LD_LIBRARY_PATH
166 elif test "$GSDLOS" = "darwin" ; then
167 DYLD_LIBRARY_PATH="$GSDLHOME/lib/$GSDLOS:$DYLD_LIBRARY_PATH"
168 export DYLD_LIBRARY_PATH
169 fi
[20933]170
[17667]171 # Override Imagemagick and Ghostscript paths to the bundled applications shipped with greenstone if they exists otherwise use default environment variables.
172
[19156]173if test -d "$GSDLHOME/bin/$GSDLOS/imagemagick" ; then
[17673]174 PATH="$GSDLHOME/bin/$GSDLOS/imagemagick/bin:$PATH"
175 export PATH
[17667]176
[17673]177 MAGICK_HOME="$GSDLHOME/bin/$GSDLOS/imagemagick"
178 export MAGICK_HOME
[17667]179
[17673]180 if test "$GSDLOS" = "linux" ; then
[17667]181 LD_LIBRARY_PATH="$GSDLHOME/bin/$GSDLOS/imagemagick/lib:$LD_LIBRARY_PATH"
182 export LD_LIBRARY_PATH
183
184 elif test "$GSDLOS" = "darwin" ; then
[17673]185 DYLD_LIBRARY_PATH="$GSDLHOME/bin/$GSDLOS/imagemagick/lib:$DYLD_LIBRARY_PATH"
[17667]186 export DYLD_LIBRARY_PATH
[17673]187 fi
[17667]188fi
189
[17673]190
191 # 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
192 # for Windows please see setup.bat
[19156]193if test -d "$GSDLHOME/bin/$GSDLOS/ghostscript" ; then
[17673]194 PATH="$GSDLHOME/bin/$GSDLOS/ghostscript/bin":"$PATH"
195 export PATH
[17667]196
[17673]197 GS_LIB="$GSDLHOME/bin/$GSDLOS/ghostscript/share/ghostscript/8.63/lib"
198 export GS_LIB
[17667]199
[17673]200 GS_FONTPATH="$GSDLHOME/bin/$GSDLOS/ghostscript/share/ghostscript/8.63/Resource/Font"
201 export GS_FONTPATH
[17667]202fi
203
[23588]204
[17667]205
[2906]206 MANPATH=$MANPATH:$GSDLHOME/packages/mg/man
207 export MANPATH
[6774]208 case "$gsdllang" in
209 "es")
[6892]210 echo 'Su ambiente ha sido configurado para correr los programas Greenstone.' | eval $gsdliconv
[6774]211 ;;
212 "fr")
[6892]213 echo 'Votre environnement a été configuére avec succès pour exécuter Greenstone' | eval $gsdliconv
[6774]214 ;;
215 "ru")
[6892]216eval $gsdliconv <<EOF
217÷ÁÛÅ ÏËÒÕÖÅÎÉÅ ÂÙÌÏ ÕÓÐÅÛÎÏ ÎÁÓÔÒÏÅÎÏ, ÞÔÏÂÙ ÕÓÔÁÎÏ×ÉÔØ Greenstone
218EOF
[6774]219 ;;
220 *)
[6820]221 echo 'Your environment has successfully been set up to run Greenstone'
[6774]222 ;;
223 esac
[2719]224fi
225unset gsdl_not_sourced
[6892]226unset gsdliconv
227unset gsdlfromenc
228unset gsdltoenc
[14980]229
[21603]230if test -e ext; then
231 for gsdl_ext in ext/*; do
232 if test -d $gsdl_ext; then
233 cd $gsdl_ext > /dev/null
234 if test -e setup.bash ; then
235 source ./setup.bash
236 fi
237 cd ../..
238 fi
[14980]239 done
240fi
241
[20342]242
[17667]243if test -e local ; then
[18488]244 if test -e local/setup.bash ; then
245 echo "Sourcing local/setup.bash"
246 cd local ; source setup.bash ; cd ..
247 fi
248
[17667]249 PATH=$GSDLHOME/local/bin:$PATH
250 export PATH
251 LD_LIBRARY_PATH=$GSDLHOME/local/lib:$LD_LIBRARY_PATH
252 export LD_LIBRARY_PATH
[14980]253fi
254
255
[20923]256# if the Perl-for-greenstone tarfile has been installed in the bin/linux
257# folder, then we set things up to use that, instead of a system perl
258if [ -d "$GSDLHOME/bin/$GSDLOS/perl" ] ; then
[21805]259
[20923]260 PATH=$GSDLHOME/bin/$GSDLOS/perl/bin:$PATH
261 export PATH
[21805]262
263 if test "$GSDLOS" = "linux" ; then
264 LD_LIBRARY_PATH=$GSDLHOME/bin/$GSDLOS/perl/lib/5.8.9/i686-linux-thread-multi/CORE:$LD_LIBRARY_PATH
265 export LD_LIBRARY_PATH
266 elif test "$GSDLOS" = "darwin" ; then
267 DYLD_LIBRARY_PATH=$GSDLHOME/bin/$GSDLOS/perl/lib/5.8.9/darwin-thread-multi-2level/CORE:$DYLD_LIBRARY_PATH
268 export DYLD_LIBRARY_PATH
269 fi
270
[20923]271 if [ "x$PERL5LIB" = "x" ] ; then
272 PERL5LIB=$GSDLHOME/bin/$GSDLOS/perl/lib
273 else
274 PERL5LIB=$GSDLHOME/bin/$GSDLOS/perl/lib:$PERL5LIB
275 fi
276 export PERL5LIB
[21805]277
[20923]278 echo ""
279 echo "***** Perl installation detected inside Greenstone."
280 echo "Command-line scripts need to be run with \"perl -S ...\""
281 echo " e.g. perl -S import.pl -removeold demo"
282 echo ""
283# else we may in future need to update PERL5LIB with some other (further) locations
284fi
Note: See TracBrowser for help on using the repository browser.