source: gli/trunk/gli.sh@ 15389

Last change on this file since 15389 was 14977, checked in by davidb, 16 years ago

script made more general so fli.sh can cascade into calling gli.sh rather than fli.sh duplicating 99% of the gli.sh in its own file

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 11.0 KB
RevLine 
[4914]1#!/bin/sh
[6752]2glilang=en
[13251]3
[14977]4if [ "x$PROGNAME" = "x" ] ; then
5 if [ "$glilang" = "es" ]; then
6 PROGNAME="Biblioteca Digital Greenstone"
7 elif [ "$glilang" = "fr" ]; then
8 PROGNAME="Bibliothécaire Greenstone"
9 elif [ "$glilang" = "ru" ]; then
10 PROGNAME="ÉÎÔÅÒÆÅÊÓ Greenstone"
11 else
12 PROGNAME="Greenstone Librarian Interface"
13 fi
14fi
15
16if [ "x$PROGABBR" = "x" ] ; then
17 PROGABBR="GLI"
18fi
19
20if [ "x$PROGNAME_EN" = "x" ] ; then
21 PROGNAME_EN="Greenstone Librarian Interface"
22fi
23
[6262]24echo
[12286]25if [ "$glilang" = "es" ]; then
[14977]26 echo "Interfaz de la $PROGNAME ($PROGNAME_EN - $PROGABBR)"
[12453]27 echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
[14977]28 echo "La Interfaz de la $PROGNAME NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA."
[6959]29 echo "Para mayor información vea los términos de la licencia en LICENSE.txt"
30 echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita"
[12286]31elif [ "$glilang" = "fr" ]; then
[14977]32 echo "Interface du $PROGNAME ($PROGNAME_EN - $PROGABBR)"
[12453]33 echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
[14977]34 echo "$PROGABBR est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt"
[6955]35 echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer"
[12286]36elif [ "$glilang" = "ru" ]; then
[14977]37 echo "âÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME ($PROGNAME_EN - $PROGABBR)"
[12453]38 echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
[7041]39 echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT"
40 echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ"
[6702]41else
[14977]42 echo "$PROGNAME ($PROGABBR)"
[12453]43 echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
[14977]44 echo "$PROGABBR comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
[6955]45 echo "This is free software, and you are welcome to redistribute it"
[6702]46fi
[6223]47echo
[4952]48
[5003]49## -------- Run the Greenstone Librarian Interface --------
[4952]50
[5003]51# This script must be run from within the directory in which it lives
[4952]52thisdir=`pwd`
53if [ ! -f "${thisdir}/gli.sh" ]; then
[12286]54 if [ "$glilang" = "es" ]; then
[6745]55 echo "Este guión deberá ejecutarse desde el directorio en el que reside."
[12286]56 elif [ "$glilang" = "fr" ]; then
[6712]57 echo "Ce script doit être exécuté à partir du répertoire dans lequel il se trouve."
[12286]58 elif [ "$glilang" = "ru" ]; then
[6702]59 echo "üÔÏÔ ÓËÒÉÐÔ ÄÏÌÖÅÎ ÂÙÔØ ×ÚÑÔ ÉÚ ÄÉÒÅËÔÏÒÉÉ, × ËÏÔÏÒÏÊ ÏÎ ÒÁÓÐÏÌÏÖÅÎ"
60 else
61 echo "This script must be run from the directory in which it resides."
62 fi
[4952]63 exit 1
[4914]64fi
65
[4952]66
[5003]67## ---- Determine GSDLHOME ----
[6624]68gsdlpath=
[4952]69
70# Some users may set the above line manually
[12286]71if [ "x$gsdlpath" = "x" ]; then
[4952]72 # Check the environment variable first
[12286]73 if [ "x$GSDLHOME" != "x" ]; then
[5003]74 gsdlpath=$GSDLHOME
[4952]75
76 # If it is not set, assume that the GLI is installed as a subdirectory of Greenstone
77 else
[12286]78 gsdlpath=`(cd .. && pwd)`
[4952]79 fi
80fi
81
82# Check that the Greenstone installation looks OK
[12286]83if [ "$glilang" = "es" ]; then
[6745]84 echo "Revisando GSDL: $gsdlpath"
[12286]85elif [ "$glilang" = "fr" ]; then
[6712]86 echo "Vérification de GSDL: $gsdlpath"
[12286]87elif [ "$glilang" = "ru" ]; then
[6702]88 echo "ðÒÏ×ÅÒËÁ GSDL: $gsdlpath"
89else
90 echo "Checking GSDL: $gsdlpath"
91fi
[5091]92if [ ! -f "${gsdlpath}/setup.bash" ] ; then
[5003]93 echo
[12286]94 if [ "$glilang" = "es" ]; then
[6745]95 echo "No se pudo encontrar la instalación de Greenstone o está incompleta."
96 echo "Trate de reinstalar Greenstone y a continuación ejecute nuevamente"
97 echo "este guión."
[12286]98 elif [ "$glilang" = "fr" ]; then
[6712]99 echo "L'installation de Greenstone est introuvable ou incomplète."
100 echo "Essayez de réinstaller Greenstone et exécutez ce script à nouveau."
[12286]101 elif [ "$glilang" = "ru" ]; then
[6702]102 echo "éÎÓÔÁÌÌÑÃÉÑ Greenstone ÎÅ ÂÙÌÁ ÎÁÊÄÅÎÁ ÉÌÉ ÏÎÁ ÎÅÐÏÌÎÁ."
103 echo "ðÏÐÒÏÂÕÊÔÅ ÐÏ×ÔÏÒÎÏ ÕÓÔÁÎÏ×ÉÔØ Greenstone, Á ÚÁÔÅÍ ××ÅÓÔÉ ÜÔÏÔ ÓËÒÉÐÔ ÓÎÏ×Á."
104 else
105 echo "The Greenstone installation could not be found, or is incomplete."
106 echo "Try reinstalling Greenstone then running this script again."
107 fi
[4952]108 exit 1
109fi
110
[5003]111# Setup Greenstone, unless it has already been done
[12286]112if [ "x$GSDLHOME" = "x" ]; then
113 cd "$gsdlpath"
114 . setup.bash
115 cd "$thisdir"
[5003]116fi
[4952]117
118
[5003]119## ---- Check Perl exists ----
[4952]120perlpath=
121
122# Some users may set the above line manually
[12286]123if [ "x$perlpath" = "x" ]; then
[5003]124 # Check if Perl is on the search path
[4952]125 perlpath=`which perl 2> /dev/null`
126fi
127
[5003]128# Check that a Perl executable has been found
[12286]129if [ "$glilang" = "es" ]; then
[6745]130 echo "Revisando Perl: $perlpath"
[12286]131elif [ "$glilang" = "fr" ]; then
[6712]132 echo "Vérification de Perl: $perlpath"
[12286]133elif [ "$glilang" = "ru" ]; then
[6702]134 echo "ðÒÏ×ÅÒËÁ Perl: $perlpath"
135else
136 echo "Checking Perl: $perlpath"
137fi
[4952]138if [ ! -x "$perlpath" ] ; then
[5003]139 echo
[12286]140 if [ "$glilang" = "es" ]; then
[14977]141 echo "La Interfaz de la $PROGNAME requiere Perl para "
[6745]142 echo "poder operar, pero éste no aparece en su sistema. Por favor asegúrese "
143 echo "de que Perl está instalado y se encuentra en su ruta de búsqueda. A "
144 echo "continuación ejecute nuevamente este guión."
[12286]145 elif [ "$glilang" = "fr" ]; then
[14977]146 echo "$PROGNAME nécessite Perl pour son fonctionnement,"
[6712]147 echo "mais perl n'a pas pu être détecté dans votre système. Veuillez vous "
148 echo "assurer que perl est installé et est spécifié dans votre chemin de "
149 echo "recherche, puis redémarrez ce script."
[12286]150 elif [ "$glilang" = "ru" ]; then
[14977]151 echo "âÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME ÔÒÅÂÕÅÔ Perl, ÞÔÏÂÙ ÉÍÅÔØ ×ÏÚÍÏÖÎÏÓÔØ"
[6702]152 echo "ÒÁÂÏÔÁÔØ, ÎÏ Perl ÎÅ ÂÙÌ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ. ðÏÖÁÌÕÊÓÔÁ, ÐÏÄÔ×ÅÒÄÉÔÅ, ÞÔÏ "
153 echo "Perl ÕÓÔÁÎÏ×ÌÅÎ É ÎÁÈÏÄÉÔÓÑ ÎÁ ×ÁÛÅÍ ÐÕÔÉ ÐÏÉÓËÁ, ÚÁÔÅÍ ÐÏ×ÔÏÒÎÏ××ÅÄÉÔÅ"
154 echo "ÜÔÏÔ ÓËÒÉÐÔ."
155 else
[14977]156 echo "The $PROGNAME requires Perl in order to operate,"
[6702]157 echo "but perl could not be detected on your system. Please ensure that perl"
158 echo "is installed and is on your search path, then rerun this script."
159 fi
[4952]160 exit 1
161fi
162
163
[5003]164## ---- Check Java exists ----
[4952]165javapath=
166
167# Some users may set the above line manually
[12286]168if [ "x$javapath" = "x" ]; then
[5003]169
[6467]170 # If it is set, use the JAVA_HOME environment variable
[12286]171 if [ "x$JAVA_HOME" != "x" ]; then
[6467]172 javapath="$JAVA_HOME/bin/java"
[4952]173
[5003]174 # Check if Java is on the search path
[4952]175 else
176 javapath=`which java 2> /dev/null`
177 fi
178fi
179
[5003]180# Check that a Java executable has been found
[12286]181if [ "$glilang" = "es" ]; then
[6745]182 echo "Revisando Java: $javapath"
[12286]183elif [ "$glilang" = "fr" ]; then
[6712]184 echo "Vérification de Java: $javapath"
[12286]185elif [ "$glilang" = "ru" ]; then
[6702]186 echo "ðÒÏ×ÅÒËÁ Java: $javapath"
187else
188 echo "Checking Java: $javapath"
189fi
[4952]190if [ ! -x "$javapath" ]; then
[5003]191 echo
[12286]192 if [ "$glilang" = "es" ]; then
[6745]193 echo "No se pudo localizar una versión apropiada de Java. Usted deberá "
194 echo "instalar un Ambiente de Ejecución Java (versión 1.4 o superior) "
[14977]195 echo "antes de correr la Interfaz de la $PROGNAME."
[12286]196 elif [ "$glilang" = "fr" ]; then
[6712]197 echo "Une version adéquate de Java n'a pas pu être localisée."
198 echo "Vous devez installer un Java Runtime Environment (version 1.4 ou"
[14977]199 echo "supérieur) avant de démarrer $PROGNAME."
[12286]200 elif [ "$glilang" = "ru" ]; then
[6702]201 echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java."
202 echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ 1.4 ÉÌÉ ×ÙÛÅ)"
[14977]203 echo "ÐÅÒÅÄ ××ÏÄÏÍ ÂÉÂÌÉÏÔÅÞÎÏÇÏ $PROGNAME."
[6702]204 else
205 echo "Failed to locate an appropriate version of Java. You must install a"
206 echo "Java Runtime Environment (version 1.4 or greater) before running the"
[14977]207 echo "$PROGNAME."
[6702]208 fi
[4952]209 exit 1
210fi
211
212
213## -- Check the version of Java is new enough (1.4.0 or higher) to run the GLI --
[9347]214`$javapath -classpath . CheckJavaVersion > /dev/null`
[8901]215if [ $? -ne 2 ] ; then
[5003]216 echo
[12286]217 if [ "$glilang" = "es" ]; then
[6745]218 echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en "
219 echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar "
[14977]220 echo "la Interfaz de la $PROGNAME. Por favor instale "
[6745]221 echo "una nueva versión del Ambiente de Ejecución Java (versión 1.4 o "
222 echo "posterior) y ejecute nuevamente este guión."
[12286]223 elif [ "$glilang" = "fr" ]; then
[6712]224 echo "La version de Java Runtime Environment que vous avez installée est"
[14977]225 echo "trop vielle pour faire fonctionner $PROGNAME."
[6712]226 echo "Veuillez installer une nouvelle version du JRE (version 1.4 ou plus"
227 echo "récente) et redémarrez le script."
[12286]228 elif [ "$glilang" = "ru" ]; then
[6702]229 echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ,"
[14977]230 echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ ÂÉÂÌÉÏÔÅÞÎÙÍ $PROGNAME. ðÏÖÁÌÕÊÓÔÁ, "
[6702]231 echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ 1.4 ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É"
232 echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ"
233 else
234 echo "The version of the Java Runtime Environment you have installed is too"
[14977]235 echo "old to run the $PROGNAME. Please install a new"
[6702]236 echo "version of the JRE (version 1.4 or newer) and rerun this script."
237 fi
[4952]238 exit 1
239fi
240
[5003]241## ---- Check that the GLI has been compiled ----
[7748]242if [ ! -f "classes/org/greenstone/gatherer/GathererProg.class" ] && [ ! -f "GLI.jar" ]; then
[8901]243 echo
[12286]244 if [ "$glilang" = "es" ]; then
[6745]245 echo "Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone"
246 echo "(por medio de makegli.sh) antes de ejecutar este guión."
[12286]247 elif [ "$glilang" = "fr" ]; then
[6712]248 echo "Vous devez compiler le Greenstone Interface (en utilisant makegli.sh)"
249 echo "avant d'exécuter ce script."
[12286]250 elif [ "$glilang" = "ru" ]; then
[6702]251 echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone"
252 echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ"
253 else
254 echo "You need to compile the Greenstone Librarian Interface (using makegli.sh)"
255 echo "before running this script."
256 fi
[4952]257 exit 1
258fi
259
[5003]260## ---- Finally, run the GLI ----
261echo
[12286]262if [ "$glilang" = "es" ]; then
[14977]263 echo "Ejecutando la Interfaz de la $PROGNAME..."
[12286]264elif [ "$glilang" = "fr" ]; then
[14977]265 echo "Exécution de $PROGNAME..."
[12286]266elif [ "$glilang" = "ru" ]; then
[14977]267 echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..."
[6702]268else
[14977]269 echo "Running the $PROGNAME..."
[6702]270fi
[4952]271
[12225]272stop_gli=0
273while [ "$stop_gli" = "0" ] ; do
274
[6211]275# Other arguments you can provide to GLI to work around memory limitations, or debug
276# -Xms<number>M To set minimum memory (by default 32MB)
277# -Xmx<number>M To set maximum memory (by default the nearest 2^n to the total remaining physical memory)
[4914]278# -verbose:gc To set garbage collection messages
[6211]279# -Xincgc For incremental garbage collection (significantly slows performance)
[4914]280# -Xprof Function call profiling
281# -Xloggc:<file> Write garbage collection log
282
283
[12225]284
[13027]285 $javapath -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl $GSDLHOME -gsdlos $GSDLOS $*
[12225]286 exit_status=$?
287
288 if [ "$exit_status" != "2" ] ; then
289 stop_gli=1
290 else
291 echo
[12286]292 if [ "$glilang" = "es" ]; then
[14977]293 echo "Restarting/Ejecutando la Interfaz de la $PROGNAME..."
[12286]294 elif [ "$glilang" = "fr" ]; then
[14977]295 echo "Restarting/Exécution de $PROGNAME..."
[12286]296 elif [ "$glilang" = "ru" ]; then
[14977]297 echo "Restarting/ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..."
[12225]298 else
[14977]299 echo "Restarting the $PROGNAME..."
[12225]300 fi
301
302 fi
303done
304
[12286]305if [ "$glilang" = "es" ]; then
[6745]306 echo "¡Hecho!"
[12286]307elif [ "$glilang" = "fr" ]; then
[6712]308 echo "Terminé!"
[12286]309elif [ "$glilang" = "ru" ]; then
[6702]310 echo "÷ÙÐÏÌÎÅÎÏ!"
311else
312 echo "Done!"
[12286]313fi
Note: See TracBrowser for help on using the repository browser.