root/gsdl/trunk/setup.bash @ 20923

Revision 20923, 7.6 KB (checked in by oranfry, 10 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
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 browser.