Difference between revisions of "User:Xavivars/ApertiumInstaller"
Jump to navigation
Jump to search
(corregida "l geminada") |
(changed parsing of ls -l to globs) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
###################################################################################### |
###################################################################################### |
||
# |
# |
||
# APERTIUM |
# APERTIUM INSTALL |
||
# |
# |
||
###################################################################################### |
###################################################################################### |
||
Line 11: | Line 11: | ||
{ |
{ |
||
cat - << EOF |
cat - << EOF |
||
S'ha produït un error mentre s' |
S'ha produït un error mentre s'insta\u0140lava el paquet $1. |
||
Comproveu els errors que s'han produït i contacteu amb l'administrador del vostre sistema. |
Comproveu els errors que s'han produït i contacteu amb l'administrador del vostre sistema. |
||
Line 70: | Line 70: | ||
if [ x$TYPEINSTALL = xlocal ]; then |
if [ x$TYPEINSTALL = xlocal ]; then |
||
if [ x$PREFIX = x ]; then |
if [ x$PREFIX = x ]; then |
||
PREFIX=~/ |
PREFIX=~/local/ |
||
fi |
fi |
||
MKINST="" |
MKINST="" |
||
Line 88: | Line 88: | ||
### |
### |
||
# comprovem si ja està |
# comprovem si ja està insta\u0140lat lttoolbox, i actuem |
||
# en consecuència |
# en consecuència |
||
# |
# |
||
echo " |
echo "Insta\u0140lant el paquet LTTOOLBOX..." |
||
if [ ! -e $PREFIX/bin/lt-proc ]; then |
if [ ! -e $PREFIX/bin/lt-proc ]; then |
||
# no existeix lttoolbox, per tant l' |
# no existeix lttoolbox, per tant l'insta\u0140lem |
||
for f in *lttoolbox*;do LTTOOLBOXPACK=$f;break;done |
|||
LTTOOLBOXFOLDER=`tar |
LTTOOLBOXFOLDER=`tar tzf $LTTOOLBOXPACK | head -n 1` |
||
tar xzf $LTTOOLBOXPACK |
tar xzf $LTTOOLBOXPACK |
||
Line 112: | Line 112: | ||
make >> $LOGFILE 2>&1 |
make >> $LOGFILE 2>&1 |
||
$MKINST make install >> $LOGFILE 2>&1 |
$MKINST make install >> $LOGFILE 2>&1 |
||
rm -rf * |
rm -rf * >> $LOGFILE 2>&1 |
||
rm -rf .* >> $LOGFILE 2>&1 |
|||
cd .. |
cd .. |
||
rmdir $LTTOOLBOXFOLDER |
rmdir $LTTOOLBOXFOLDER |
||
Line 121: | Line 122: | ||
echo "" >> ~/.bashrc |
echo "" >> ~/.bashrc |
||
echo "LTTOOLBOX |
echo "LTTOOLBOX insta\u0140lat correctament" |
||
fi |
fi |
||
fi |
fi |
||
else |
else |
||
echo "LTTOOLBOX ja està |
echo "LTTOOLBOX ja està insta\u0140lat" |
||
fi |
fi |
||
Line 138: | Line 139: | ||
fi |
fi |
||
### |
### |
||
# comprovem si ja està |
# comprovem si ja està insta\u0140lat apertium, i actuem |
||
# en consecuència |
# en consecuència |
||
# |
# |
||
echo " |
echo "Insta\u0140lant el paquet APERTIUM..." |
||
if [ ! -e $PREFIX/bin/apertium-transfer ]; then |
if [ ! -e $PREFIX/bin/apertium-transfer ]; then |
||
# no existeix apertium, per tant l' |
# no existeix apertium, per tant l'insta\u0140lem |
||
for f in *apertium*;do APERTIUMPACK=$f;break;done |
|||
APERTIUMPACK=`ls -l *apertium* | head -n 1 | sed -e "s/ */ /g" | cut -f 8 -d " "` |
|||
APERTIUMFOLDER=`tar |
APERTIUMFOLDER=`tar tzf $APERTIUMPACK | head -n 1` |
||
tar xzf $APERTIUMPACK |
tar xzf $APERTIUMPACK |
||
Line 162: | Line 164: | ||
make >> $LOGFILE 2>&1 |
make >> $LOGFILE 2>&1 |
||
$MKINST make install >> $LOGFILE 2>&1 |
$MKINST make install >> $LOGFILE 2>&1 |
||
rm -rf * |
rm -rf * >> $LOGFILE 2>&1 |
||
rm -rf .* >> $LOGFILE 2>&1 |
|||
cd .. |
cd .. |
||
rmdir $APERTIUMFOLDER |
rmdir $APERTIUMFOLDER |
||
echo "APERTIUM |
echo "APERTIUM insta\u0140lat correctament" |
||
fi |
fi |
||
fi |
fi |
||
else |
else |
||
echo "APERTIUM ja està |
echo "APERTIUM ja està insta\u0140lat" |
||
fi |
fi |
||
Line 192: | Line 195: | ||
### |
### |
||
# comprovem si està |
# comprovem si està insta\u0140lat el paquet d'idioma |
||
# |
# |
||
echo " |
echo "Insta\u0140lant el paquet d'idioma $APERTLANG..." |
||
if [ ! -e $PREFIX/share/apertium/apertium-$APERTLANG ]; then |
if [ ! -e $PREFIX/share/apertium/apertium-$APERTLANG ]; then |
||
# no existeix lttoolbox, per tant l' |
# no existeix lttoolbox, per tant l'insta\u0140lem |
||
for f in *apertium*"$APERTLANG"*;do LANGPACK=$f;break;done |
|||
LANGFOLDER=`tar |
LANGFOLDER=`tar tzf $LANGPACK | head -n 1` |
||
tar xzf $LANGPACK |
tar xzf $LANGPACK |
||
Line 215: | Line 218: | ||
make >> $LOGFILE 2>&1 |
make >> $LOGFILE 2>&1 |
||
$MKINST make install >> $LOGFILE 2>&1 |
$MKINST make install >> $LOGFILE 2>&1 |
||
rm -rf * |
rm -rf * >> $LOGFILE 2>&1 |
||
rm -rf .* >> $LOGFILE 2>&1 |
|||
cd .. |
cd .. |
||
rmdir $LANGFOLDER |
rmdir $LANGFOLDER |
||
echo "APERTIUM-$APERTLANG |
echo "APERTIUM-$APERTLANG insta\u0140lat correctament" |
||
fi |
fi |
||
fi |
fi |
||
else |
else |
||
echo "APERTIUM-$APERTLANG ja està |
echo "APERTIUM-$APERTLANG ja està insta\u0140lat" |
||
fi |
fi |
||
Line 259: | Line 263: | ||
done |
done |
||
fi |
fi |
||
</pre> |
Latest revision as of 11:48, 18 January 2008
Script per a instalar automàticament LTTOOLBOX, APERTIUM, un paquet d'idioma i habilitar el mode d'estadístiques.
#!/bin/bash ###################################################################################### # # APERTIUM INSTALL # ###################################################################################### errormsg() { cat - << EOF S'ha produït un error mentre s'insta\u0140lava el paquet $1. Comproveu els errors que s'han produït i contacteu amb l'administrador del vostre sistema. EOF } fullusage() { cat - << EOF This script installs lttoolbox and apertium packages, as well as language pairs defined as arguments. Aquest guió instal·la els paquets lttoolbox i apertium, i els parells de llengües definits com a arguments. EOF usage } usage() { cat - << EOF usage: $0 [-h|--help] [-l pair [-s]] [-i|--install local|global [-p path]] example: $0 -l es-ca -i global EOF } while getopts ":hl:i:p:s" opt ; do case $opt in h ) fullusage ; exit 1;; l ) APERTLANG=$OPTARG ;; i ) TYPEINSTALL=$OPTARG ;; p ) PREFIX=$OPTARG ;; s ) STATS=1 ;; ? ) echo "An invalid option was encountered."; echo "S'ha trobat una opció invàlida."; echo; usage ; exit 1;; * ) echo "An unexpected error occured."; echo "S'ha produit un error desconegut."; echo; usage ; exit 1 ;; esac done shift $((OPTIND - 1)) if [ x$APERTLANG != x ]; then echo "Language selected: $APERTLANG" else echo "No language pair selected" fi if [ x$TYPEINSTALL != x ]; then echo "$TYPEINSTALL installation mode" if [ x$TYPEINSTALL != xlocal ]; then TYPEINSTALL=global fi else echo "Default installation mode" fi ### # preparem la ruta de la instalacio # if [ x$TYPEINSTALL = xlocal ]; then if [ x$PREFIX = x ]; then PREFIX=~/local/ fi MKINST="" else PREFIX=/usr/local/ MKINST="sudo " fi PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ export PKG_CONFIG_PATH LD_LIBRARY_PATH=$PREFIX/lib export LD_LIBRARY_PATH PATH=$PREFIX/bin/:$PATH export PATH LOGFILE=`pwd`/`date +%Y%m%e-%H%M%S`.logfile ### # comprovem si ja està insta\u0140lat lttoolbox, i actuem # en consecuència # echo "Insta\u0140lant el paquet LTTOOLBOX..." if [ ! -e $PREFIX/bin/lt-proc ]; then # no existeix lttoolbox, per tant l'insta\u0140lem for f in *lttoolbox*;do LTTOOLBOXPACK=$f;break;done LTTOOLBOXFOLDER=`tar tzf $LTTOOLBOXPACK | head -n 1` tar xzf $LTTOOLBOXPACK if [ x$LTTOOLBOXFOLDER != x ]; then if [ -d $LTTOOLBOXFOLDER ]; then cd $LTTOOLBOXFOLDER if [ -e ./configure ]; then ./configure --prefix=$PREFIX >> $LOGFILE 2>&1 else ./autogen.sh --prefix=$PREFIX >> $LOGFILE 2>&1 fi make >> $LOGFILE 2>&1 $MKINST make install >> $LOGFILE 2>&1 rm -rf * >> $LOGFILE 2>&1 rm -rf .* >> $LOGFILE 2>&1 cd .. rmdir $LTTOOLBOXFOLDER TOADDPATH="PATH=$PREFIX/bin/:\$PATH;export PATH;" echo "" >> ~/.bashrc echo $TOADDPATH >> ~/.bashrc echo "" >> ~/.bashrc echo "LTTOOLBOX insta\u0140lat correctament" fi fi else echo "LTTOOLBOX ja està insta\u0140lat" fi if [ ! -e $PREFIX/bin/lt-proc ]; then errormsg "lttoolbox" exit 1 fi ### # comprovem si ja està insta\u0140lat apertium, i actuem # en consecuència # echo "Insta\u0140lant el paquet APERTIUM..." if [ ! -e $PREFIX/bin/apertium-transfer ]; then # no existeix apertium, per tant l'insta\u0140lem for f in *apertium*;do APERTIUMPACK=$f;break;done APERTIUMFOLDER=`tar tzf $APERTIUMPACK | head -n 1` tar xzf $APERTIUMPACK if [ x$APERTIUMFOLDER != x ]; then if [ -d $APERTIUMFOLDER ]; then cd $APERTIUMFOLDER if [ -e ./configure ]; then ./configure --prefix=$PREFIX >> $LOGFILE 2>&1 else ./autogen.sh --prefix=$PREFIX >> $LOGFILE 2>&1 fi make >> $LOGFILE 2>&1 $MKINST make install >> $LOGFILE 2>&1 rm -rf * >> $LOGFILE 2>&1 rm -rf .* >> $LOGFILE 2>&1 cd .. rmdir $APERTIUMFOLDER echo "APERTIUM insta\u0140lat correctament" fi fi else echo "APERTIUM ja està insta\u0140lat" fi if [ ! -e $PREFIX/bin/apertium-transfer ]; then errormsg "apertium" exit 1 fi ### # si no cal instalar paquet d'idioma... # if [ x$APERTLANG = x ]; then exit 1; fi ### # comprovem si està insta\u0140lat el paquet d'idioma # echo "Insta\u0140lant el paquet d'idioma $APERTLANG..." if [ ! -e $PREFIX/share/apertium/apertium-$APERTLANG ]; then # no existeix lttoolbox, per tant l'insta\u0140lem for f in *apertium*"$APERTLANG"*;do LANGPACK=$f;break;done LANGFOLDER=`tar tzf $LANGPACK | head -n 1` tar xzf $LANGPACK if [ x$LANGFOLDER != x ]; then if [ -d $LANGFOLDER ]; then cd $LANGFOLDER echo $PKG_CONFIG_PATH if [ -e ./configure ]; then ./configure --prefix=$PREFIX >> $LOGFILE 2>&1 else ./autogen.sh --prefix=$PREFIX >> $LOGFILE 2>&1 fi make >> $LOGFILE 2>&1 $MKINST make install >> $LOGFILE 2>&1 rm -rf * >> $LOGFILE 2>&1 rm -rf .* >> $LOGFILE 2>&1 cd .. rmdir $LANGFOLDER echo "APERTIUM-$APERTLANG insta\u0140lat correctament" fi fi else echo "APERTIUM-$APERTLANG ja està insta\u0140lat" fi if [ ! -e $PREFIX/share/apertium/apertium-$APERTLANG ]; then errormsg "apertium-"$APERTLANG exit 1 fi ### # una vegada instalat el paquet d'idioma, habilitem # els modes d'estadístiques # if [ x$STATS != x ]; then echo "Habilitant el mode d'estadístiques..." MODES=`find $PREFIX/share/apertium/apertium-$APERTLANG -name '*.mode' -exec basename {} .mode \;` for arg in $MODES do RUTA=$PREFIX/share/apertium/modes/ MODE=$RUTA$arg.mode ESTADISTIQUES=$RUTA$arg-estadistiques.mode echo " ... direcció $arg" sed -e "s/automorf\.bin |/automorf\.bin \> \$LOGSDIR.tmp.\$SEC.org;/" < $MODE |\ sed -e "s/\.prob |/\.prob < \$LOGSDIR.tmp.\$SEC.org |/" > $ESTADISTIQUES done fi