greenstone.org greenstone wiki greenstone trac planet greenstone

Changeset 16546

Show
Ignore:
Timestamp:
2008-07-25 13:04:38 (4 months ago)
Author:
ak19
Message:

gems.sh script updated to launch both GEMS for GS3 as well as GS2. Replaces gems4gs3.sh.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gli/trunk/gems.sh

    r16545 r16546  
    11#!/bin/sh 
     2 
     3# Function that, when given gsdlpath as parameter, will return the 
     4# version of greenstone that is to run (2 or 3). If things are not, 
     5# this program will exit here. 
     6get_version() { 
     7    # first parameter is value of gsdlpath 
     8    if [ -f "${1}/gs3-setup.sh" ]; then 
     9        return 3 
     10    elif [ -f "${1}/setup.bash" ]; then 
     11        return 2 
     12    else 
     13        echo "Error: can't determine which Greenstone version is being run." 
     14        exit 1 
     15    fi 
     16} 
     17 
     18# Function that is passed the following paramters (in order): 
     19# - the gsdlpath (GS3 home, GS2 home or gs2build for GS3),  
     20# - the version of greenstone that's running, and  
     21# - the language GLI is set to 
     22# and checks the installation.  
     23# If things are not right, this program will exit here. 
     24check_installation() { 
     25# Check that the Greenstone installation looks OK 
     26    if [ "$3" = "es" ]; then 
     27        echo "Revisando GSDL$2: $1" 
     28    elif [ "$3" = "fr" ]; then 
     29        echo "Vérification de GSDL$2: $1" 
     30    elif [ "$3" = "ru" ]; then 
     31        echo "ðÒÏ×ÅÒËÁ GSDL$2: $1" 
     32    else 
     33        echo "Checking GSDL$2: $1" 
     34    fi 
     35    # even if we are only checking for gs2build (gsdl2path), we still  
     36    # need the file setup.bash to exist in the following condition: 
     37    if [ ! -f "${1}/gs3-setup.sh" -a ! -f "${1}/setup.bash" ] ; then 
     38        echo 
     39        if [ "$3" = "es" ]; then 
     40            echo "No se pudo encontrar la instalación de Greenstone $2 o está incompleta." 
     41            echo "Trate de reinstalar Greenstone $2 y a continuación ejecute nuevamente" 
     42            echo "este guión." 
     43        elif [ "$3" = "fr" ]; then 
     44            echo "L'installation de Greenstone $2 est introuvable ou incomplète." 
     45            echo "Essayez de réinstaller Greenstone $2 et exécutez ce script à nouveau." 
     46        elif [ "$3" = "ru" ]; then 
     47            echo "éÎÓÔÁÌÌÑÃÉÑ Greenstone $_version ÎÅ ÂÙÌÁ ÎÁÊÄÅÎÁ ÉÌÉ ÏÎÁ ÎÅÐÏÌÎÁ." 
     48            echo "ðÏÐÒÏÂÕÊÔÅ ÐÏ×ÔÏÒÎÏ ÕÓÔÁÎÏ×ÉÔØ Greenstone $2, Á ÚÁÔÅÍ ××ÅÓÔÉ ÜÔÏÔ ÓËÒÉÐÔ ÓÎÏ×Á." 
     49        else 
     50            echo "The Greenstone $2 installation could not be found, or is incomplete." 
     51            echo "Try reinstalling Greenstone $2 then running this script again." 
     52        fi 
     53        exit 1 
     54    fi 
     55} 
     56 
    257glilang=en 
    358 
    4 echo 
    5 if [ "$glilang" = "es" ]; then 
    6     echo "Editar conjuntos de metadatos (Greenstone Editor for Metadata Sets - GEMS)" 
     59if [ "$glilang" = "es" ]; then 
     60    PROGNAME="Editar conjuntos de metadatos" 
     61elif [ "$glilang" = "fr" ]; then 
     62    PROGNAME="Editer les jeux de méta-données" 
     63elif [ "$glilang" = "ru" ]; then 
     64    PROGNAME="òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ" 
     65else 
     66    PROGNAME="Greenstone Editor for Metadata Sets" 
     67fi 
     68 
     69PROGABBR="GEMS" 
     70 
     71PROGNAME_EN="Greenstone Editor for Metadata Sets" 
     72 
     73 
     74echo 
     75if [ "$glilang" = "es" ]; then 
     76    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)" 
    777    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato" 
    878    echo "GEMS NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA." 
     
    1080    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita" 
    1181elif [ "$glilang" = "fr" ]; then 
    12     echo "Editer les jeux de méta-données (Greenstone Editor for Metadata Sets - GEMS)" 
     82    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)" 
    1383    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato" 
    1484    echo "GEMS est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt" 
    1585    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer" 
    1686elif [ "$glilang" = "ru" ]; then 
    17     echo "òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ (Greenstone Editor for Metadata Sets - GEMS)" 
     87    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)" 
    1888    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato" 
    1989    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT" 
    2090    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ" 
    2191else 
    22     echo "Greenstone Editor for Metadata Sets (GEMS)" 
     92    echo "$PROGNAME ($PROGABBR)" 
    2393    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato" 
    2494    echo "GEMS comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt" 
     
    46116 
    47117##  ---- Determine GSDLHOME ---- 
     118## gsdlpath can be either Greenstone 3 or Greenstone 2 
    48119gsdlpath= 
    49  
    50120# Some users may set the above line manually 
    51 if [ "x$gsdlpath" = "x" ]; then 
     121 
     122 
     123# This variable is set automatically: 
     124_version= 
     125if [ "x$gsdlpath" != "x" ]; then 
     126    get_version $gsdlpath 
     127    _version=$? 
     128# otherwise $gsdlpath is not yet set 
     129else 
    52130    # Check the environment variable first 
    53     if [ "x$GSDLHOME" != "x" ]; then 
     131    # Check whether environment variables for both GS2 and GS3 are set 
     132    # and if so, warn the user that we have defaulted to GS3 
     133    if [ "x$GSDLHOME" != "x" -a "x$GSDL3SRCHOME" != "x" ]; then 
     134        # _version not set, but both env vars set, so default to 3 
     135        _version=3 
     136        gsdlpath=$GSDL3SRCHOME 
     137        echo "Both Greenstone 2 and Greenstone 3 environments are set."  
     138        echo "It is assumed you want to run Greenstone 3." 
     139        echo "If you want to run Greenstone 2, please unset the" 
     140        echo "environment variable GSDL3SRCHOME before running GLI." 
     141        echo "" 
     142    elif [ "x$GSDL3SRCHOME" != "x" ]; then 
     143        echo "Only gsdl3srchome set" 
     144        gsdlpath=$GSDL3SRCHOME 
     145        _version=3 
     146        echo "$gsdlpath" 
     147    elif [ "x$GSDLHOME" != "x" ]; then 
    54148        gsdlpath=$GSDLHOME 
    55  
    56     # If it is not set, assume that the GLI (and thus GEMS) is installed as a subdirectory of Greenstone 
     149        _version=2 
     150    # If it is not set, assume that the GLI is installed as a subdirectory of Greenstone 
    57151    else 
    58152        gsdlpath=`(cd .. && pwd)` 
    59     fi 
    60 fi 
    61  
    62 # Check that the Greenstone installation looks OK 
    63 if [ "$glilang" = "es" ]; then 
    64     echo "Revisando GSDL: $gsdlpath" 
    65 elif [ "$glilang" = "fr" ]; then 
    66     echo "Vérification de GSDL: $gsdlpath" 
    67 elif [ "$glilang" = "ru" ]; then 
    68     echo "ðÒÏ×ÅÒËÁ GSDL: $gsdlpath" 
    69 else 
    70     echo "Checking GSDL: $gsdlpath" 
    71 fi 
    72 if [ ! -f "${gsdlpath}/setup.bash" ] ; then 
    73     echo 
    74     if [ "$glilang" = "es" ]; then 
    75         echo "No se pudo encontrar la instalación de Greenstone o está incompleta." 
    76         echo "Trate de reinstalar Greenstone y a continuación ejecute nuevamente" 
    77         echo "este guión." 
    78     elif [ "$glilang" = "fr" ]; then 
    79         echo "L'installation de Greenstone est introuvable ou incomplète." 
    80         echo "Essayez de réinstaller Greenstone et exécutez ce script à nouveau." 
    81     elif [ "$glilang" = "ru" ]; then 
    82         echo "éÎÓÔÁÌÌÑÃÉÑ Greenstone ÎÅ ÂÙÌÁ ÎÁÊÄÅÎÁ ÉÌÉ ÏÎÁ ÎÅÐÏÌÎÁ." 
    83         echo "ðÏÐÒÏÂÕÊÔÅ ÐÏ×ÔÏÒÎÏ ÕÓÔÁÎÏ×ÉÔØ Greenstone, Á ÚÁÔÅÍ ××ÅÓÔÉ ÜÔÏÔ ÓËÒÉÐÔ ÓÎÏ×Á." 
    84     else 
    85         echo "The Greenstone installation could not be found, or is incomplete." 
    86         echo "Try reinstalling Greenstone then running this script again." 
    87     fi 
    88     exit 1 
    89 fi 
    90  
    91 # Setup Greenstone, unless it has already been done 
    92 if [ "x$GSDLHOME" = "x" ]; then 
    93     cd "$gsdlpath" 
    94     . setup.bash 
    95     cd "$thisdir" 
    96 fi 
     153        # Still need to find what version we are running: 
     154        # GS3 main directory contains file gs3-setup.sh, GS2 only setup.bash 
     155        get_version $gsdlpath 
     156        _version=$? 
     157    fi 
     158fi 
     159 
     160echo "Greenstone version found: $_version" 
     161 
     162# Check that the main Greenstone installation for the version we're running looks OK 
     163check_installation $gsdlpath $_version $glilang 
     164 
     165 
     166# Need to source the correct setup file depending on whether we are running 
     167# gs3 or gs2 
     168# If we're running version GS2 
     169if [ "$_version" -eq 2 ]; then 
     170    # Setup Greenstone 2, unless it has already been done 
     171    if [ "x$GSDLHOME" = "x" ]; then 
     172        cd "$gsdlpath" 
     173        . setup.bash 
     174        cd "$thisdir" 
     175    fi 
     176# else, if we're running GS3 
     177elif [ "$_version" -eq 3 ]; then 
     178    # Setup Greenstone 3, unless it has already been done 
     179    if [ "x$GSDL3HOME" = "x" -o "x$GSDL3SRCHOME" = "x" ]; then 
     180        cd "$gsdlpath" 
     181        . gs3-setup.sh 
     182        cd "$thisdir" 
     183    fi 
     184     
     185    ## if Greenstone version 3 is running, we want to set gsdl2path 
     186    ##  ---- Determine GSDLHOME ---- 
     187    ## may be already set, or manually entered here. 
     188    gsdl2path= 
     189     
     190    # Some users may set the above line manually 
     191    if [ "x$gsdl2path" = "x" ]; then 
     192        # Check the environment variable first 
     193        if [ "x$GSDLHOME" != "x" ]; then 
     194            echo "GSDLHOME environment variable is set to $GSDLHOME." 
     195            echo "Will use this to find build scripts." 
     196            gsdl2path=$GSDLHOME 
     197        # If it is not set, assume that the gs2build subdirectory of Greenstone 3 exists 
     198        else 
     199            gsdl2path=$GSDL3SRCHOME/gs2build 
     200        fi 
     201    fi 
     202    # Check that Greenstone 3's Greenstone 2 stuff looks OK (in gs2build) 
     203    check_installation $gsdl2path "" $glilang 
     204   
     205    # Setup Greenstone 3's gs2build, unless it has already been done 
     206    if [ "x$GSDLHOME" = "x" ]; then 
     207        cd "$gsdl2path" 
     208        . setup.bash 
     209        cd "$thisdir" 
     210    fi 
     211 
     212else  
     213    echo "Greenstone version unknown."     
     214    exit 1 
     215fi 
     216 
     217echo 
     218if [ "x$GSDL3SRCHOME" != "x" ]; then 
     219    echo "GSDL3SRCHOME is: $GSDL3SRCHOME" 
     220fi 
     221if [ "x$GSDL3HOME" != "x" ]; then 
     222    echo "GSDL3HOME is: $GSDL3HOME" 
     223fi 
     224if [ "x$GSDLHOME" != "x" ]; then 
     225    echo "GSDLHOME is: $GSDLHOME" 
     226fi 
     227echo 
     228 
    97229 
    98230 
     
    128260        echo "No se pudo localizar una versión apropiada de Java. Usted deberá " 
    129261        echo "instalar un Ambiente de Ejecución Java (versión 1.4 o superior) " 
    130         echo "antes de correr la Editar conjuntos de metadatos." 
     262        echo "antes de correr la $PROGNAME." 
    131263    elif [ "$glilang" = "fr" ]; then 
    132264        echo "Une version adéquate de Java n'a pas pu être localisée." 
    133265        echo "Vous devez installer un Java Runtime Environment (version 1.4 ou" 
    134         echo "supérieur) avant de démarrer Editer les jeux de méta-données." 
     266        echo "supérieur) avant de démarrer $PROGNAME." 
    135267    elif [ "$glilang" = "ru" ]; then 
    136268        echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java." 
    137269        echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ 1.4 ÉÌÉ ×ÙÛÅ)" 
    138         echo "ÐÅÒÅÄ ××ÏÄÏÍ òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ." 
     270        echo "ÐÅÒÅÄ ××ÏÄÏÍ $PROGNAME." 
    139271    else 
    140272        echo "Failed to locate an appropriate version of Java. You must install a" 
    141273        echo "Java Runtime Environment (version 1.4 or greater) before running the" 
    142         echo "Greenstone Editor for Metadata Sets." 
    143     fi 
    144     exit 1 
    145 fi 
    146  
    147  
    148 ## -- Check the version of Java is new enough (1.4.0 or higher) to run the GEMS -- 
     274        echo "$PROGNAME." 
     275    fi 
     276    exit 1 
     277fi 
     278 
     279 
     280## -- Check the version of Java is new enough (1.4.0 or higher) to run the GLI -- 
    149281`$javapath -classpath . CheckJavaVersion > /dev/null` 
    150282if [ $? -ne 2 ] ; then 
     
    153285        echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en " 
    154286        echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar " 
    155         echo "la Editar conjuntos de metadatos. Por favor instale una nueva " 
    156         echo "versión del Ambiente de Ejecución Java (versión 1.4 o posterior)
    157         echo "y ejecute nuevamente este guión." 
     287        echo "la $PROGNAME. Por favor instale una " 
     288        echo "nueva versión del Ambiente de Ejecución Java (versión 1.4 o
     289        echo "posterior) y ejecute nuevamente este guión." 
    158290    elif [ "$glilang" = "fr" ]; then 
    159291        echo "La version de Java Runtime Environment que vous avez installée est" 
    160         echo "trop vielle pour faire fonctionner Editer les jeux de méta-données." 
     292        echo "trop vielle pour faire fonctionner $PROGNAME." 
    161293        echo "Veuillez installer une nouvelle version du JRE (version 1.4 ou plus" 
    162294        echo "récente) et redémarrez le script." 
    163295    elif [ "$glilang" = "ru" ]; then 
    164296        echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ," 
    165         echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ. ðÏÖÁÌÕÊÓÔÁ, " 
     297        echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ $PROGNAME. ðÏÖÁÌÕÊÓÔÁ, " 
    166298        echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ 1.4 ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É" 
    167299        echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ" 
    168300    else 
    169301        echo "The version of the Java Runtime Environment you have installed is too" 
    170         echo "old to run the Greenstone Editor for Metadata Sets. Please install a new" 
     302        echo "old to run the $PROGNAME. Please install a new" 
    171303        echo "version of the JRE (version 1.4 or newer) and rerun this script." 
    172304    fi 
    173305    exit 1 
    174306fi 
    175  
    176307 
    177308## ---- Check that the GEMS has been compiled ---- 
     
    179310    echo 
    180311    if [ "$glilang" = "es" ]; then 
    181         echo "Usted necesita compilar la Editar conjuntos de metadatos
     312        echo "Usted necesita compilar la $PROGNAME
    182313        echo "(por medio de makegli.sh) antes de ejecutar este guión." 
    183314    elif [ "$glilang" = "fr" ]; then 
    184         echo "Vous devez compiler le Editer les jeux de méta-données (en utilisant makegli.sh)" 
     315        echo "Vous devez compiler le $PROGNAME (en utilisant makegli.sh)" 
    185316        echo "avant d'exécuter ce script." 
    186317    elif [ "$glilang" = "ru" ]; then 
    187         echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ
     318        echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ $PROGNAME
    188319        echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ" 
    189320    else 
    190         echo "You need to compile the Greenstone Editor for Metadata Sets (using makegli.sh)" 
     321        echo "You need to compile the $PROGNAME (using makegli.sh)" 
    191322        echo "before running this script." 
    192323    fi 
     
    194325fi 
    195326 
    196  
    197327## ---- Finally, run the GEMS ---- 
    198328echo 
    199329if [ "$glilang" = "es" ]; then 
    200     echo "Ejecutando la Editar conjuntos de metadatos..." 
    201 elif [ "$glilang" = "fr" ]; then 
    202     echo "Exécution de Editer les jeux de méta-données
    203 elif [ "$glilang" = "ru" ]; then 
    204     echo "ôÅËÕÝÉÊ òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ..." 
    205 else 
    206     echo "Running the Greenstone Editor for Metadata Sets..." 
     330    echo "Ejecutando la $PROGNAME..." 
     331elif [ "$glilang" = "fr" ]; then 
     332    echo "Exécution de $PROGNAME...
     333elif [ "$glilang" = "ru" ]; then 
     334    echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..." 
     335else 
     336    echo "Running the $PROGNAME..." 
    207337fi 
    208338 
     
    215345# -Xloggc:<file>   Write garbage collection log 
    216346 
    217 $javapath -classpath classes/:GLI.jar:lib/apache.jar org.greenstone.gatherer.gems.GEMS -gsdl $GSDLHOME $* 
    218  
     347# basic_command is the cmd string common to both Greenstone 3 and Greenstone 2 execution 
     348# (gs3 doesn't -gsdl3src $GSDL3SRCHOME passed to it, it needs $GSDL3HOME to find the collect dir) 
     349basic_command="$javapath -classpath classes/:GLI.jar:lib/apache.jar org.greenstone.gatherer.gems.GEMS" 
     350 
     351if [ "$_version" -eq 2 ]; then 
     352    `$basic_command -gsdl $GSDLHOME $*` 
     353elif [ "$_version" -eq 3 ]; then     
     354    `$basic_command -gsdl3 $GSDL3HOME $*` 
     355fi 
     356 
     357     
    219358if [ "$glilang" = "es" ]; then 
    220359    echo "¡Hecho!"