root/gli/trunk/gli.sh @ 19403

Revision 19403, 6.8 KB (checked in by ak19, 11 years ago)

3 changes. 1. Moved gli.sh's logic for finding and setting GSDLHOME (and GSDL3SRCHOME and GSDL3HOME) into a separate bashfile: findgsdl.sh. 2. This script is now called by both gli.sh and client-gli.sh, since client-gli can from now on use the same logic to locate a local GS installation. The only difference is that if GSDLHOME is not found, then client-gli runs as before: no Download panel. 3. client-gli.sh will no longer be looking for a gs2build directory located inside a client-gli checkout, but instead search for a local GSDLHOME (including in the directory directly above, in case client-gli.sh is run from a normal GS checkout. IF a GSDLHOME is found (and perl too), then client-gli will enable the Download panel, and use the local GSDLHOME to do any downloading.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
Line 
1#!/bin/bash
2
3glilang=en
4
5if [ "x$PROGNAME" = "x" ] ; then
6  if [ "$glilang" = "es" ]; then
7    PROGNAME="Biblioteca Digital Greenstone"
8  elif [ "$glilang" = "fr" ]; then
9    PROGNAME="Bibliothécaire Greenstone"
10  elif [ "$glilang" = "ru" ]; then
11    PROGNAME="ÉÎÔÅÒÆÅÊÓ Greenstone"
12  else
13    PROGNAME="Greenstone Librarian Interface"
14  fi
15fi
16
17if [ "x$PROGABBR" = "x" ] ; then
18    PROGABBR="GLI"
19fi
20
21if [ "x$PROGNAME_EN" = "x" ] ; then
22    PROGNAME_EN="Greenstone Librarian Interface"
23fi
24
25if [ "x$GLIMODE" = "x" ] ; then
26    GLIMODE="local"
27fi
28
29echo
30if [ "$glilang" = "es" ]; then
31    echo "Interfaz de la $PROGNAME ($PROGNAME_EN - $PROGABBR)"
32    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
33    echo "La Interfaz de la $PROGNAME NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA."
34    echo "Para mayor información vea los términos de la licencia en LICENSE.txt"
35    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita"
36elif [ "$glilang" = "fr" ]; then
37    echo "Interface du $PROGNAME ($PROGNAME_EN - $PROGABBR)"
38    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
39    echo "$PROGABBR est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt"
40    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer"
41elif [ "$glilang" = "ru" ]; then
42    echo "âÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME ($PROGNAME_EN - $PROGABBR)"
43    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
44    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT"
45    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ"
46else
47    echo "$PROGNAME ($PROGABBR)"
48    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
49    echo "$PROGABBR comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
50    echo "This is free software, and you are welcome to redistribute it"
51fi
52echo
53
54##  -------- Run the Greenstone Librarian Interface --------
55# Need to run this script from its own directory instead of whichever directory it may be called from
56#currentdir=$(cd `dirname "$0"` && pwd)
57thisdir="`dirname \"$0\"`"
58thisdir="`cd \"$thisdir\" && pwd`"
59cd "$thisdir"
60
61
62##  ---- Determine GSDLHOME ----
63# need to source a script in order to inherit the env vars it has set
64# Exit on error code (non-zero)
65exit_status=0
66source ./findgsdl.sh
67exit_status=$?
68if [ "$exit_status" -eq 1 ]; then
69    exit 1;
70fi
71
72## ---- find perl ----
73# no need to source the findperl script since it does not set env vars
74exit_status=0
75./findperl.sh
76exit_status=$?
77if [ "$exit_status" -eq 1 ]; then
78    exit 1;
79fi
80
81## ---- Check Java ----
82# call the script with source, so that we have the variables it sets ($javapath)
83exit_status=0
84source ./findjava.sh
85exit_status=$?
86if [ "$exit_status" -eq 1 ]; then
87    exit 1;
88fi
89
90## ---- Check that the GLI has been compiled ----
91if [ ! -f "classes/org/greenstone/gatherer/GathererProg.class" ] && [ ! -f "GLI.jar" ]; then
92    echo
93    if [ "$glilang" = "es" ]; then
94    echo "Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone"
95    echo "(por medio de makegli.sh) antes de ejecutar este guión."
96    elif [ "$glilang" = "fr" ]; then
97    echo "Vous devez compiler le Greenstone Interface (en utilisant makegli.sh)"
98    echo "avant d'exécuter ce script."
99    elif [ "$glilang" = "ru" ]; then
100    echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone"
101    echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ"
102    else
103    echo "You need to compile the Greenstone Librarian Interface (using makegli.sh)"
104    echo "before running this script."
105    fi
106    exit 1
107fi
108
109## ---- Explain how to bypass Imagemagick and Ghostscript bundled with Greenstone if needed ----
110if [ -e "$GSDLHOME/bin/$GSDLOS/ghostscript" ] ; then
111echo "GhostScript bundled with Greenstone will be used, if you wish to use the version installed on your system (if any) please go to $GSDLHOME/bin/$GSDLOS and rename the folder called ghostscript to something else."
112fi
113echo
114echo
115if [ -e "$GSDLHOME/bin/$GSDLOS/imagemagick" ] ; then
116echo "ImageMagick bundled with Greenstone will be used, if you wish to use the version installed on your system (if any) please go to $GSDLHOME/bin/$GSDLOS and rename the folder called imagemagick to something else."
117echo
118echo
119fi
120
121
122## ---- Finally, run the GLI ----
123if [ "$glilang" = "es" ]; then
124    echo "Ejecutando la Interfaz de la $PROGNAME..."
125elif [ "$glilang" = "fr" ]; then
126    echo "Exécution de $PROGNAME..."
127elif [ "$glilang" = "ru" ]; then
128    echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..."
129else
130    echo "Running the $PROGNAME..."
131fi
132
133# basic_command is the cmd string common to both Greenstone 3 and Greenstone 2 execution
134#basic_command="$javapath -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg"
135stop_gli=0
136while [ "$stop_gli" = "0" ] ; do
137   
138    # Other arguments you can provide to GLI to work around memory limitations, or debug
139    # -Xms<number>M    To set minimum memory (by default 32MB)
140    # -Xmx<number>M    To set maximum memory (by default the nearest 2^n to the total remaining physical memory)
141    # -verbose:gc      To set garbage collection messages
142    # -Xincgc          For incremental garbage collection (significantly slows performance)
143    # -Xprof           Function call profiling
144    # -Xloggc:<file>   Write garbage collection log
145   
146    exit_status=0
147    if [ "$_version" -eq 2 ]; then
148# GS2 webLib
149    if [ "$PROGABBR" = "FLI" -o ! -f "$GSDLHOME/gs2-server.sh" ]; then
150        "$javapath" -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "$GSDLHOME" -gsdlos $GSDLOS $*
151        exit_status=$?
152# GS2 localLib
153    else
154        "$javapath" -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "$GSDLHOME" -gsdlos $GSDLOS -local_library "$GSDLHOME/gs2-server.sh" $*
155        exit_status=$?
156    fi
157# GS3
158    elif [ "$_version" -eq 3 ]; then   
159        "$javapath" -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "$GSDLHOME" -gsdlos $GSDLOS -gsdl3 "$GSDL3HOME" -gsdl3src "$GSDL3SRCHOME" $*
160        exit_status=$?
161    fi
162   
163    if [ "$exit_status" != "2" ] ; then
164        stop_gli=1
165    else
166        echo
167        if [ "$glilang" = "es" ]; then
168            echo "Restarting/Ejecutando la Interfaz de la $PROGNAME..."
169        elif [ "$glilang" = "fr" ]; then
170            echo "Restarting/Exécution de $PROGNAME..."
171        elif [ "$glilang" = "ru" ]; then
172            echo "Restarting/ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..."
173        else
174            echo "Restarting the $PROGNAME..."
175        fi
176    fi
177done
178
179if [ "$glilang" = "es" ]; then
180    echo "¡Hecho!"
181elif [ "$glilang" = "fr" ]; then
182    echo "Terminé!"
183elif [ "$glilang" = "ru" ]; then
184    echo "÷ÙÐÏÌÎÅÎÏ!"
185else
186    echo "Done!"
187fi
Note: See TracBrowser for help on using the browser.