root/gsdl/trunk/setup.bash @ 19620

Revision 19156, 6.5 KB (checked in by oranfry, 11 years ago)

space-proofing this script

  • 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
248fi
249
250
251if test -e local ; then
252  if test -e local/setup.bash ; then
253    echo "Sourcing local/setup.bash"
254    cd local ; source setup.bash ; cd ..
255  fi
256
257  PATH=$GSDLHOME/local/bin:$PATH
258  export PATH
259  LD_LIBRARY_PATH=$GSDLHOME/local/lib:$LD_LIBRARY_PATH
260  export LD_LIBRARY_PATH
261fi
262
263
264
Note: See TracBrowser for help on using the browser.