Changeset 22336

Show
Ignore:
Timestamp:
01.07.2010 11:25:53 (10 years ago)
Author:
ak19
Message:

Removed most of the code from gems.sh and made it now use parts of the gli code

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/gli/gems.sh

    r20968 r22336  
    11#!/bin/bash 
    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. 
    6 get_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. 
    24 check_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 } 
    562 
    573glilang=en 
     
    7016 
    7117PROGNAME_EN="Greenstone Editor for Metadata Sets" 
    72  
    7318 
    7419echo 
     
    9843 
    9944##  -------- Run the Greenstone Editor for Metadata Sets -------- 
    100  
    10145# This script must be run from within the directory in which it lives 
    102 thisdir=`pwd` 
    103 if [ ! -f "${thisdir}/gems.sh" ]; then 
    104     if [ "$glilang" = "es" ]; then 
    105         echo "Este guión deberá ejecutarse desde el directorio en el que reside." 
    106     elif [ "$glilang" = "fr" ]; then 
    107     echo "Ce script doit être exécuté à partir du répertoire dans lequel il se trouve." 
    108     elif [ "$glilang" = "ru" ]; then 
    109     echo "üÔÏÔ ÓËÒÉÐÔ ÄÏÌÖÅÎ ÂÙÔØ ×ÚÑÔ ÉÚ ÄÉÒÅËÔÏÒÉÉ, × ËÏÔÏÒÏÊ ÏÎ ÒÁÓÐÏÌÏÖÅÎ" 
    110     else 
    111     echo "This script must be run from the directory in which it resides." 
    112     fi 
    113     exit 1 
    114 fi 
    115  
     46thisdir="`dirname \"$0\"`" 
     47thisdir="`cd \"$thisdir\" && pwd`" 
     48cd "$thisdir" 
    11649 
    11750##  ---- Determine GSDLHOME ---- 
    11851## gsdlpath can be either Greenstone 3 or Greenstone 2 
    119 gsdlpath= 
    120 # Some users may set the above line manually 
    121  
    122  
    123 # This variable is set automatically: 
    124 _version= 
    125 if [ "x$gsdlpath" != "x" ]; then 
    126     get_version $gsdlpath 
    127     _version=$? 
    128 # otherwise $gsdlpath is not yet set 
    129 else 
    130     # Check the environment variable first 
    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 
    148     gsdlpath=$GSDLHOME 
    149     _version=2 
    150     # If it is not set, assume that the GLI is installed as a subdirectory of Greenstone 
    151     else 
    152     gsdlpath=`(cd .. && pwd)` 
    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 
     52exit_status=0 
     53source ./findgsdl.sh 
     54exit_status=$? 
     55if [ "$exit_status" -eq 1 ]; then 
     56    exit 1; 
    15857fi 
    15958 
    160 echo "Greenstone version found: $_version" 
    161  
    162 # Check that the main Greenstone installation for the version we're running looks OK 
    163 check_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 
    169 if [ "$_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 
    177 elif [ "$_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  
    212 else  
    213     echo "Greenstone version unknown."     
    214     exit 1 
     59## ---- Check Java ---- 
     60# call the script with source, so that we have the variables it sets ($javapath 
     61exit_status=0 
     62source ./findjava.sh "$glilang" "$PROGNAME" 
     63exit_status=$? 
     64if [ "$exit_status" -eq 1 ]; then 
     65    exit 1; 
    21566fi 
    216  
    217 echo 
    218 if [ "x$GSDL3SRCHOME" != "x" ]; then 
    219     echo "GSDL3SRCHOME is: $GSDL3SRCHOME" 
    220 fi 
    221 if [ "x$GSDL3HOME" != "x" ]; then 
    222     echo "GSDL3HOME is: $GSDL3HOME" 
    223 fi 
    224 if [ "x$GSDLHOME" != "x" ]; then 
    225     echo "GSDLHOME is: $GSDLHOME" 
    226 fi 
    227 echo 
    228  
    229  
    230  
    231 ## ---- Check Java ---- 
    232 echo "Java:" 
    233 MINIMUM_JAVA_VERSION=1.4.0_00 
    234  
    235 # Some users may set this line manually 
    236 #JAVA_HOME= 
    237  
    238 if [ -z $javapath ]; then 
    239  
    240     # sus out search4j 
    241     if [ "$_version" -eq 2 -a -e "$GSDLHOME/bin/$GSDLOS/search4j" ]; then 
    242         SEARCH4J_EXECUTABLE=$GSDLHOME/bin/$GSDLOS/search4j 
    243     elif [ "$_version" -eq 3 -a -e "$GSDL3SRCHOME/bin/$GSDLOS/search4j" ]; then 
    244         SEARCH4J_EXECUTABLE=$GSDL3SRCHOME/bin/search4j 
    245     elif [ -e "../bin/$GSDLOS/search4j" ]; then 
    246         SEARCH4J_EXECUTABLE=../bin/$GSDLOS/search4j 
    247     elif [ -e "../bin/search4j" ]; then 
    248         SEARCH4J_EXECUTABLE=../bin/search4j 
    249     else 
    250         echo "Couldn't determine the location of the search4j executable" 
    251         echo "If you are running Greenstone2" 
    252         echo "   * check GSDLHOME is set" 
    253         echo "   * check bin/$GSDLOS/search4j exists" 
    254         echo "   * check bin/$GSDLOS/search4j is executable" 
    255         echo "If you are running Greenstone3" 
    256         echo "   * check GSDL3SRCHOME is set" 
    257         echo "   * check bin/search4j exists" 
    258         echo "   * check bin/search4j is executable" 
    259         echo "   * try running 'ant compile-search4j'" 
    260     fi 
    261  
    262     # Give search4j a hint to find Java depending on the platform 
    263     if [ $GSDLOS = linux ]; then 
    264         HINT=`cd ..;pwd`/packages/jre 
    265     elif [ $GSDLOS = darwin ]; then 
    266         HINT=/System/Library/Frameworks/JavaVM.framework/Home 
    267     fi   
    268      
    269     javapath=`$SEARCH4J_EXECUTABLE -e -p $HINT -m $MINIMUM_JAVA_VERSION` 
    270  
    271     if [ "$?" != "0" ]; then 
    272  
    273         OLDVER=`"$SEARCH4J_EXECUTABLE" -v -p "$HINT"` 
    274  
    275         if [ "$?" = "0" ]; then 
    276  
    277             if [ "$glilang" = "es" ]; then 
    278                 echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en " 
    279                 echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar " 
    280                 echo "la Interfaz de la $PROGNAME. Por favor instale " 
    281                 echo "una nueva versión del Ambiente de Ejecución Java (versión $MINIMUM_JAVA_VERSION o " 
    282                 echo "posterior) y ejecute nuevamente este guión." 
    283             elif [ "$glilang" = "fr" ]; then 
    284                 echo "La version de Java Runtime Environment que vous avez installée est" 
    285                 echo "trop vielle pour faire fonctionner $PROGNAME." 
    286                 echo "Veuillez installer une nouvelle version du JRE (version $MINIMUM_JAVA_VERSION ou plus" 
    287                 echo "récente) et redémarrez le script." 
    288             elif [ "$glilang" = "ru" ]; then 
    289                 echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ," 
    290                 echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ ÂÉÂÌÉÏÔÅÞÎÙÍ $PROGNAME. ðÏÖÁÌÕÊÓÔÁ, " 
    291                 echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ $MINIMUM_JAVA_VERSION ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É" 
    292                 echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ" 
    293             else 
    294                 echo "The version of the Java Runtime Environment you have installed ($OLDVER)" 
    295                 echo "is too old to run the $PROGNAME. Please install a new" 
    296                 echo "version of the JRE (version $MINIMUM_JAVA_VERSION or newer) and rerun this script." 
    297             fi 
    298             exit 1 
    299  
    300         else 
    301  
    302             echo 
    303             if [ "$glilang" = "es" ]; then 
    304                 echo "No se pudo localizar una versión apropiada de Java. Usted deberá " 
    305                 echo "instalar un Ambiente de Ejecución Java (versión $MINIMUM_JAVA_VERSION o superior) " 
    306                 echo "antes de correr la Interfaz de la $PROGNAME." 
    307             elif [ "$glilang" = "fr" ]; then 
    308                 echo "Une version adéquate de Java n'a pas pu être localisée." 
    309                 echo "Vous devez installer un Java Runtime Environment (version $MINIMUM_JAVA_VERSION ou" 
    310                 echo "supérieur) avant de démarrer $PROGNAME." 
    311                 echo "Si vous avez Java installé sur votre ordinateur veuillez vérifier la variable" 
    312                 echo "d'environnement JAVA_HOME." 
    313             elif [ "$glilang" = "ru" ]; then 
    314                 echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java." 
    315                 echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ $MINIMUM_JAVA_VERSION ÉÌÉ ×ÙÛÅ)" 
    316                 echo "ÐÅÒÅÄ ××ÏÄÏÍ ÂÉÂÌÉÏÔÅÞÎÏÇÏ $PROGNAME." 
    317             else 
    318                 echo "Failed to locate an appropriate version of Java. You must install a" 
    319                 echo "Java Runtime Environment (version $MINIMUM_JAVA_VERSION or greater) before running the" 
    320                 echo "$PROGNAME." 
    321                 echo "If you have Java intalled on your machine please set the environment variable JAVA_HOME." 
    322             fi 
    323         fi 
    324  
    325     fi 
    326  
    327 fi 
    328 echo $javapath 
    329 echo 
    330  
    331  
    33267 
    33368## ---- Check that the GEMS has been compiled ----