root/main/trunk/greenstone2/setup.bash @ 31861

Revision 31829, 9.1 KB (checked in by ak19, 2 years ago)

Intermediate commit for building wget with openssl. This is a working version, part of incremental commits. For now, we're still using wget-1.15-gs (that always requires --no-check-certificate if running wget), which now uses a wgetrc conf file to turn off the check-certificate default of wget, since without this, wget fails getting https pages that don't yet have a valid security certificate. This commit introduces the template wgetrc-gs.in file, which contains a flag set to not require certificate checks, is copied to gs2build/OS as wgetrc. The WGETRC env var is set in setup.bash to point to the wgetrc file so wget runs smoothly against https urls.

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