Difference between revisions of "Download si instalare E17 din CVS"
From linux360
m (Added category binding) |
|||
(22 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
− | Scriptul pentru download | + | ==Scriptul pentru download== |
− | + | Acest script poate fi folosit pentru a descarca Enlightenment DR17 din CVS | |
− | + | sau pentru a sincroniza fisierele deja existente pe sistemul vostru cu | |
− | + | fisierele din CVS. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | In versiunea 2.0 m-am complicat putin , unele lucruri nu sunt absolut necesare. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <code><sh/> | |
− | + | #!/bin/sh | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Sper sa | + | # Nume fisier: e17_cvs.sh |
+ | # Versiunea: 2.3 | ||
+ | |||
+ | # EDITEAZA aceste linii | ||
+ | CVS_DIR="/mnt/hdd1/app_cvs" # directorul unde instalez | ||
+ | |||
+ | ######################################## | ||
+ | # ATENTIE: NU EDITA sub aceasta linie # | ||
+ | ######################################## | ||
+ | |||
+ | # lista aplicatiilor care vor fi downlodate implicit | ||
+ | DOWNLOAD_LIST="e17" | ||
+ | # lista aplicatiilor disponibile | ||
+ | AVAILABLE_LIST=":e17:engage:evidence:e_modules:" | ||
+ | |||
+ | function usage() | ||
+ | { | ||
+ | echo "Folosire: e17_cvs [e17|engage|evidence|all|help]" | ||
+ | echo | ||
+ | echo "optiuni:" | ||
+ | echo " -help - afieaza acest mesaj" | ||
+ | echo | ||
+ | echo "pachete:" | ||
+ | echo " e17 - descarca Enlightenment DR17" | ||
+ | echo " engage - descarca Engage" | ||
+ | echo " evidence - descarca Evidence" | ||
+ | echo " e_modules - descarca modulele pt. Enlightenment DR17" | ||
+ | echo " all - descarca Enlightenment DR17, Engage si Evidence" | ||
+ | exit 0 | ||
+ | } | ||
+ | |||
+ | function check_options() | ||
+ | { | ||
+ | case "$1" in | ||
+ | -help) | ||
+ | usage | ||
+ | exit 0 | ||
+ | ;; | ||
+ | esac | ||
+ | return 1 | ||
+ | } | ||
+ | |||
+ | function download_packages() | ||
+ | { | ||
+ | case "$1" in | ||
+ | e17) | ||
+ | echo "==> DESCARC Enlightenment DR 17" | ||
+ | cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login && \ | ||
+ | cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17 | ||
+ | return #? | ||
+ | ;; | ||
+ | engage) | ||
+ | echo "==> DESCARC Engage" | ||
+ | cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login && \ | ||
+ | cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co misc/engage | ||
+ | return #? | ||
+ | ;; | ||
+ | evidence) | ||
+ | echo "==> DESCARC Evidence" | ||
+ | cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login && \ | ||
+ | cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence co evidence | ||
+ | return #? | ||
+ | ;; | ||
+ | e_modules) | ||
+ | echo "==> DESCARC Evidence" | ||
+ | cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login && \ | ||
+ | cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e_modules | ||
+ | return #? | ||
+ | ;; | ||
+ | all) | ||
+ | echo "==> DESCARC pachetele: Enlightenment DR 17, Engage, Evidence" | ||
+ | download_packages e17 | ||
+ | download_packages engage | ||
+ | download_packages evidence | ||
+ | return #? | ||
+ | ;; | ||
+ | esac | ||
+ | return 1 | ||
+ | } | ||
+ | |||
+ | # verificam parametri | ||
+ | check_options $1 | ||
+ | |||
+ | # daca sunt mai multi parametri, atunci acestia | ||
+ | # reprezinta lista pachetelor ce trebuiesc descarcate | ||
+ | |||
+ | # cream o lista cu toti parametri | ||
+ | if [ $# -gt 0 ]; then | ||
+ | NR_PARAM=$# | ||
+ | DOWNLOAD_LIST="" | ||
+ | |||
+ | for ((i=1; i <= NR_PARAM; i++)); do | ||
+ | DOWNLOAD_LIST="$DOWNLOAD_LIST${!i} " | ||
+ | done | ||
+ | |||
+ | # verificam validitatea pachetelor din lista | ||
+ | for ITEM in $DOWNLOAD_LIST; do | ||
+ | REZ_STR=$(echo $AVAILABLE_LIST | grep ":$ITEM:") | ||
+ | if [ ! -n "$REZ_STR" ]; then | ||
+ | echo "Pachet inexistent: $ITEM" | ||
+ | usage | ||
+ | fi | ||
+ | done | ||
+ | fi | ||
+ | |||
+ | # descarcam pachetele | ||
+ | cd $CVS_DIR | ||
+ | |||
+ | echo "***********************************************" | ||
+ | echo "* Incepe procesul de descarcare a pachetelor *" | ||
+ | echo "***********************************************" | ||
+ | |||
+ | for ITEM in $DOWNLOAD_LIST; do | ||
+ | download_packages $ITEM | ||
+ | |||
+ | R="$?" | ||
+ | if [ $R -eq 1 ]; then | ||
+ | echo | ||
+ | echo "==> PROCESUL de descarcare a fost oprit de utilizator" | ||
+ | exit 1 | ||
+ | elif [ $R -eq 2 ]; then | ||
+ | echo | ||
+ | echo "==> EROARE la descarcare; procesul de descarcare va fi oprit" | ||
+ | exit 1 | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | echo "*************************************************" | ||
+ | echo "* Toate pachetele au fost descarcate cu succes! *" | ||
+ | echo "*************************************************" | ||
+ | |||
+ | exit 0 | ||
+ | </code> | ||
+ | |||
+ | ==Scriptul pentru compilare si instalare== | ||
+ | Versiunea 2 aduce cateva imbunatatiri majore fata de versiunea 1. Cea mai | ||
+ | importanta este posibilitatea de a continua procesul de instalare in cazul | ||
+ | in care acesta a fost intrerupt de catre utilizator sau din cauza unei erori la | ||
+ | compilarea unui pachet. | ||
+ | |||
+ | Astfel daca la compilarea unui pachet primim o eroare fiindca nu este satisfacuta | ||
+ | o dependenta pentru respectivul pachet, putem rezolva dependenta si apoi continua | ||
+ | procesul de compilare si instalare de la pachetul pentru care am primit eroarea. | ||
+ | |||
+ | Pentru a avea acces la aceasta facilitate trebuie sa folosim optiunea "-resume" la | ||
+ | apelarea scriptului. | ||
+ | |||
+ | <code><sh/> | ||
+ | #!/bin/sh | ||
+ | |||
+ | # Nume fisier: e17_install.sh | ||
+ | # Versiunea: 3.1 | ||
+ | |||
+ | # Dependente: | ||
+ | # * apps/eclair: taglib, sqlite | ||
+ | |||
+ | # EDITEAZA aceste linii | ||
+ | INSTALL_DIR="/usr/local/e17" # directorul unde instalez | ||
+ | CVS_DIR="/mnt/hdd1/app_cvs/e17/" # directorul unde se afla sursele CVS | ||
+ | USE_SUDO="yes" # schimba in "no" daca vei compila ca si root | ||
+ | |||
+ | ######################################## | ||
+ | # ATENTIE: NU EDITA sub aceasta linie # | ||
+ | ######################################## | ||
+ | |||
+ | # locatiile comenzilor folosite | ||
+ | MAKE_BIN="/usr/bin/make" | ||
+ | LDCONFIG_BIN="/sbin/ldconfig" | ||
+ | SUDO_BIN="/usr/bin/sudo" | ||
+ | |||
+ | LIBS="libs/imlib2 libs/eet libs/evas libs/ecore libs/embryo libs/edje libs/edb \ | ||
+ | libs/epeg libs/epsilon libs/esmart libs/etox libs/ewl libs/engrave libs/imlib2_loaders \ | ||
+ | proto/etk" | ||
+ | # erori: libs/emotion | ||
+ | |||
+ | APPS="apps/iconbar apps/entice apps/entrance apps/elicit apps/e \ | ||
+ | apps/e_utils apps/e_modules apps/express apps/imlib2_tools apps/examine apps/eclair" | ||
+ | # erori: apps/enscribe apps/evfs apps/euphoria apps/eclair | ||
+ | |||
+ | SPECIAL="apps/elation proto/etk proto/exhibit ../e_modules" | ||
+ | # optiuni: apps/elation proto/etk proto/exhibit ../e_modules | ||
+ | # erori: ../misc/engage evidence eterm/Eterm e17/proto/entropy | ||
+ | |||
+ | # comportamentul implicit | ||
+ | RESUME=0 | ||
+ | BUILD_LIST="LIBS APPS" | ||
+ | SKIP_FILE=".DONE" | ||
+ | |||
+ | function usage() | ||
+ | { | ||
+ | echo "Folosire: e17_install.sh [optiuni] [apps|libs|special|all|help]" | ||
+ | echo | ||
+ | echo "optiuni:" | ||
+ | echo " -resume - incepe compilarea de la pachetul unde s-a oprit compilarea anterioara" | ||
+ | echo " -help - afiseaza acest mesaj" | ||
+ | echo | ||
+ | echo "pachete:" | ||
+ | echo " apps - compileaza numai aplicatiile" | ||
+ | echo " libs - compileaza numai librariile" | ||
+ | echo " special - compileaza librarii si aplicatii optionale" | ||
+ | echo " all - compileaza toate librariile si aplicatiile" | ||
+ | exit 0 | ||
+ | } | ||
+ | |||
+ | function check_options() | ||
+ | { | ||
+ | case "$1" in | ||
+ | -resume) | ||
+ | RESUME=1 | ||
+ | return 0 | ||
+ | ;; | ||
+ | -help) | ||
+ | usage | ||
+ | exit 0 | ||
+ | ;; | ||
+ | esac | ||
+ | return 1 | ||
+ | } | ||
+ | |||
+ | function check_packages() | ||
+ | { | ||
+ | case "$1" in | ||
+ | apps) | ||
+ | BUILD_LIST="APPS" | ||
+ | return 0 | ||
+ | ;; | ||
+ | libs) | ||
+ | BUILD_LIST="LIBS" | ||
+ | return 0 | ||
+ | ;; | ||
+ | all) | ||
+ | BUILD_LIST="LIBS APPS" | ||
+ | return 0 | ||
+ | ;; | ||
+ | special) | ||
+ | BUILD_LIST="SPECIAL" | ||
+ | return 0 | ||
+ | ;; | ||
+ | esac | ||
+ | return 1 | ||
+ | } | ||
+ | |||
+ | # verificam parametri | ||
+ | |||
+ | if [ $# -gt 2 ]; then | ||
+ | usage | ||
+ | elif [ $# -eq 2 ]; then | ||
+ | if ! check_options $1 || ! check_packages $2 ; then | ||
+ | usage | ||
+ | fi | ||
+ | elif [ $# -eq 1 ]; then | ||
+ | if ! check_options $1 && ! check_packages $1 ; then | ||
+ | usage | ||
+ | fi | ||
+ | fi | ||
+ | |||
+ | if [ "$USE_SUDO" != "yes" ]; then | ||
+ | SUDO_BIN="" | ||
+ | fi | ||
+ | |||
+ | MYLDFLAGS="$LDFLAGS -L$INSTALL_DIR/lib -L/lib -L/usr/lib \ | ||
+ | -L/usr/local/lib -L/usr/X11R6/lib" | ||
+ | MYCPPFLAGS="$CPPFLAGS -I$INSTALL_DIR/include -I/usr/include \ | ||
+ | -I/usr/local/include -I/usr/X11R6/include" | ||
+ | |||
+ | PATH="$PATH:$INSTALL_DIR/bin" | ||
+ | export PATH | ||
+ | |||
+ | echo "*****************************************************" | ||
+ | echo "* Incepe procesul de compilare a Enlightenment DR17 *" | ||
+ | echo "*****************************************************" | ||
+ | |||
+ | if [ $RESUME -eq 1 ]; then | ||
+ | echo "Va avea loc procesul de RESUME; pentru mai multe detalii $0 help" | ||
+ | fi | ||
+ | |||
+ | BEGIN_TIME=`date` | ||
+ | |||
+ | # determin nr. total de pachete ce vor fi instalate | ||
+ | NR_PACHETE=0 | ||
+ | for BUILD_ARR in $BUILD_LIST ;do | ||
+ | BUILD_ARR_LEN=`echo ${!BUILD_ARR}|wc -w` | ||
+ | ((NR_PACHETE+=BUILD_ARR_LEN)) | ||
+ | done | ||
+ | |||
+ | i=0 | ||
+ | for BUILD_ARR in $BUILD_LIST ;do | ||
+ | echo "=> $BUILD_ARR" | ||
+ | for BUILD_ITEM in ${!BUILD_ARR} ;do | ||
+ | ((i+=1)) | ||
+ | # schimb titlul consolei corespunzator pachetului pe care il instalez | ||
+ | # ex: "e17_install: (1 din 24) apps/entice" | ||
+ | TITLU="e17_install: ($i din $NR_PACHETE) $BUILD_ITEM" | ||
+ | echo -ne "\033]0;$TITLU\007" | ||
+ | |||
+ | if [[ $RESUME -eq 1 && -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" ]]; then | ||
+ | echo "==> SKIP $BUILD_ITEM" | ||
+ | else | ||
+ | echo "==> COMPILEZ $BUILD_ITEM" | ||
+ | |||
+ | cd $CVS_DIR/$BUILD_ITEM | ||
+ | |||
+ | env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \ | ||
+ | ./autogen.sh | ||
+ | $MAKE_BIN clean | ||
+ | env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \ | ||
+ | ./configure --prefix=$INSTALL_DIR && $MAKE_BIN && \ | ||
+ | $SUDO_BIN $MAKE_BIN install && \ | ||
+ | $SUDO_BIN $LDCONFIG_BIN $INSTALL_DIR/lib | ||
+ | R="$?" | ||
+ | if [ $R -eq 1 ]; then | ||
+ | echo | ||
+ | echo "==> PROCESUL de compilare oprit de utilizator" | ||
+ | echo "==> PACHETUL la care s-a oprit procesul: $BUILD_ITEM !" | ||
+ | exit 1 | ||
+ | elif [ $R -eq 2 ]; then | ||
+ | echo | ||
+ | echo "==> EROARE la compilare; procesul de compilare va fi oprit" | ||
+ | echo "==> PACHETUL la care s-a oprit procesul: $BUILD_ITEM !" | ||
+ | exit 1 | ||
+ | elif [ $R ]; then | ||
+ | touch "$SKIP_FILE" | ||
+ | fi | ||
+ | fi | ||
+ | done | ||
+ | done | ||
+ | |||
+ | # daca procesul de compilare s-a terminat cu succes, fac curatenie | ||
+ | for BUILD_ARR in $BUILD_LIST ;do | ||
+ | for BUILD_ITEM in ${!BUILD_ARR} ;do | ||
+ | if [ -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" ]; then | ||
+ | rm -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" | ||
+ | fi | ||
+ | done | ||
+ | done | ||
+ | |||
+ | |||
+ | END_TIME=`date` | ||
+ | |||
+ | echo "************************************************************" | ||
+ | echo "* Enlightenment DR17 a fost compilat si instalat cu succes *" | ||
+ | echo "************************************************************" | ||
+ | |||
+ | # aici o functie care calculeaza timpul scurs | ||
+ | echo "Begin time: $BEGIN_TIME" | ||
+ | echo "End time: $END_TIME" | ||
+ | |||
+ | exit 0 | ||
+ | </code> | ||
+ | |||
+ | ==Sfarsit== | ||
+ | Sper ca aceste scripturi sa va fie de ajutor. | ||
+ | |||
+ | Astept observatiile si comentariile voastre. | ||
+ | |||
+ | ==Legaturi utile== | ||
+ | * http://enlightenment.sourceforge.net/Enlightenment/DR17/ | ||
+ | * http://www.get-e.org/ | ||
[[Category:HowTo]] | [[Category:HowTo]] | ||
+ | [[Category:GEs]] |
Latest revision as of 12:14, 13 February 2006
Contents
Scriptul pentru download
Acest script poate fi folosit pentru a descarca Enlightenment DR17 din CVS sau pentru a sincroniza fisierele deja existente pe sistemul vostru cu fisierele din CVS.
In versiunea 2.0 m-am complicat putin , unele lucruri nu sunt absolut necesare.
<sh/>
- !/bin/sh
- Nume fisier: e17_cvs.sh
- Versiunea: 2.3
- EDITEAZA aceste linii
CVS_DIR="/mnt/hdd1/app_cvs" # directorul unde instalez
- ATENTIE: NU EDITA sub aceasta linie #
- lista aplicatiilor care vor fi downlodate implicit
DOWNLOAD_LIST="e17"
- lista aplicatiilor disponibile
AVAILABLE_LIST=":e17:engage:evidence:e_modules:"
function usage() {
echo "Folosire: e17_cvs [e17|engage|evidence|all|help]" echo echo "optiuni:" echo " -help - afieaza acest mesaj" echo echo "pachete:" echo " e17 - descarca Enlightenment DR17" echo " engage - descarca Engage" echo " evidence - descarca Evidence" echo " e_modules - descarca modulele pt. Enlightenment DR17" echo " all - descarca Enlightenment DR17, Engage si Evidence" exit 0
}
function check_options() {
case "$1" in -help) usage exit 0 ;; esac return 1
}
function download_packages() {
case "$1" in e17) echo "==> DESCARC Enlightenment DR 17" cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login && \ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17 return #? ;; engage) echo "==> DESCARC Engage" cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login && \ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co misc/engage return #? ;; evidence) echo "==> DESCARC Evidence" cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login && \ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence co evidence return #? ;; e_modules) echo "==> DESCARC Evidence" cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login && \ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e_modules return #? ;; all) echo "==> DESCARC pachetele: Enlightenment DR 17, Engage, Evidence" download_packages e17 download_packages engage download_packages evidence return #? ;; esac return 1
}
- verificam parametri
check_options $1
- daca sunt mai multi parametri, atunci acestia
- reprezinta lista pachetelor ce trebuiesc descarcate
- cream o lista cu toti parametri
if [ $# -gt 0 ]; then
NR_PARAM=$# DOWNLOAD_LIST="" for ((i=1; i <= NR_PARAM; i++)); do DOWNLOAD_LIST="$DOWNLOAD_LIST${!i} " done
# verificam validitatea pachetelor din lista for ITEM in $DOWNLOAD_LIST; do REZ_STR=$(echo $AVAILABLE_LIST | grep ":$ITEM:") if [ ! -n "$REZ_STR" ]; then echo "Pachet inexistent: $ITEM" usage fi done
fi
- descarcam pachetele
cd $CVS_DIR
echo "***********************************************" echo "* Incepe procesul de descarcare a pachetelor *" echo "***********************************************"
for ITEM in $DOWNLOAD_LIST; do
download_packages $ITEM
R="$?" if [ $R -eq 1 ]; then echo echo "==> PROCESUL de descarcare a fost oprit de utilizator" exit 1 elif [ $R -eq 2 ]; then echo echo "==> EROARE la descarcare; procesul de descarcare va fi oprit" exit 1 fi
done
echo "*************************************************" echo "* Toate pachetele au fost descarcate cu succes! *" echo "*************************************************"
exit 0
Scriptul pentru compilare si instalare
Versiunea 2 aduce cateva imbunatatiri majore fata de versiunea 1. Cea mai importanta este posibilitatea de a continua procesul de instalare in cazul in care acesta a fost intrerupt de catre utilizator sau din cauza unei erori la compilarea unui pachet.
Astfel daca la compilarea unui pachet primim o eroare fiindca nu este satisfacuta o dependenta pentru respectivul pachet, putem rezolva dependenta si apoi continua procesul de compilare si instalare de la pachetul pentru care am primit eroarea.
Pentru a avea acces la aceasta facilitate trebuie sa folosim optiunea "-resume" la apelarea scriptului.
<sh/>
- !/bin/sh
- Nume fisier: e17_install.sh
- Versiunea: 3.1
- Dependente:
- * apps/eclair: taglib, sqlite
- EDITEAZA aceste linii
INSTALL_DIR="/usr/local/e17" # directorul unde instalez CVS_DIR="/mnt/hdd1/app_cvs/e17/" # directorul unde se afla sursele CVS USE_SUDO="yes" # schimba in "no" daca vei compila ca si root
- ATENTIE: NU EDITA sub aceasta linie #
- locatiile comenzilor folosite
MAKE_BIN="/usr/bin/make" LDCONFIG_BIN="/sbin/ldconfig" SUDO_BIN="/usr/bin/sudo"
LIBS="libs/imlib2 libs/eet libs/evas libs/ecore libs/embryo libs/edje libs/edb \
libs/epeg libs/epsilon libs/esmart libs/etox libs/ewl libs/engrave libs/imlib2_loaders \ proto/etk"
- erori: libs/emotion
APPS="apps/iconbar apps/entice apps/entrance apps/elicit apps/e \
apps/e_utils apps/e_modules apps/express apps/imlib2_tools apps/examine apps/eclair"
- erori: apps/enscribe apps/evfs apps/euphoria apps/eclair
SPECIAL="apps/elation proto/etk proto/exhibit ../e_modules"
- optiuni: apps/elation proto/etk proto/exhibit ../e_modules
- erori: ../misc/engage evidence eterm/Eterm e17/proto/entropy
- comportamentul implicit
RESUME=0 BUILD_LIST="LIBS APPS" SKIP_FILE=".DONE"
function usage() {
echo "Folosire: e17_install.sh [optiuni] [apps|libs|special|all|help]" echo echo "optiuni:" echo " -resume - incepe compilarea de la pachetul unde s-a oprit compilarea anterioara" echo " -help - afiseaza acest mesaj" echo echo "pachete:" echo " apps - compileaza numai aplicatiile" echo " libs - compileaza numai librariile" echo " special - compileaza librarii si aplicatii optionale" echo " all - compileaza toate librariile si aplicatiile" exit 0
}
function check_options() {
case "$1" in -resume) RESUME=1 return 0 ;; -help) usage exit 0 ;; esac return 1
}
function check_packages() {
case "$1" in apps) BUILD_LIST="APPS" return 0 ;; libs) BUILD_LIST="LIBS" return 0 ;; all) BUILD_LIST="LIBS APPS" return 0 ;; special) BUILD_LIST="SPECIAL" return 0 ;; esac return 1
}
- verificam parametri
if [ $# -gt 2 ]; then
usage
elif [ $# -eq 2 ]; then
if ! check_options $1 || ! check_packages $2 ; then usage fi
elif [ $# -eq 1 ]; then
if ! check_options $1 && ! check_packages $1 ; then usage fi
fi
if [ "$USE_SUDO" != "yes" ]; then SUDO_BIN="" fi
MYLDFLAGS="$LDFLAGS -L$INSTALL_DIR/lib -L/lib -L/usr/lib \
-L/usr/local/lib -L/usr/X11R6/lib"
MYCPPFLAGS="$CPPFLAGS -I$INSTALL_DIR/include -I/usr/include \
-I/usr/local/include -I/usr/X11R6/include"
PATH="$PATH:$INSTALL_DIR/bin" export PATH
echo "*****************************************************" echo "* Incepe procesul de compilare a Enlightenment DR17 *" echo "*****************************************************"
if [ $RESUME -eq 1 ]; then
echo "Va avea loc procesul de RESUME; pentru mai multe detalii $0 help"
fi
BEGIN_TIME=`date`
- determin nr. total de pachete ce vor fi instalate
NR_PACHETE=0 for BUILD_ARR in $BUILD_LIST ;do
BUILD_ARR_LEN=`echo ${!BUILD_ARR}|wc -w` ((NR_PACHETE+=BUILD_ARR_LEN))
done
i=0 for BUILD_ARR in $BUILD_LIST ;do
echo "=> $BUILD_ARR" for BUILD_ITEM in ${!BUILD_ARR} ;do ((i+=1)) # schimb titlul consolei corespunzator pachetului pe care il instalez # ex: "e17_install: (1 din 24) apps/entice" TITLU="e17_install: ($i din $NR_PACHETE) $BUILD_ITEM" echo -ne "\033]0;$TITLU\007" if $RESUME -eq 1 && -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" ; then echo "==> SKIP $BUILD_ITEM" else echo "==> COMPILEZ $BUILD_ITEM" cd $CVS_DIR/$BUILD_ITEM env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \ ./autogen.sh $MAKE_BIN clean env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \ ./configure --prefix=$INSTALL_DIR && $MAKE_BIN && \ $SUDO_BIN $MAKE_BIN install && \ $SUDO_BIN $LDCONFIG_BIN $INSTALL_DIR/lib R="$?" if [ $R -eq 1 ]; then echo echo "==> PROCESUL de compilare oprit de utilizator" echo "==> PACHETUL la care s-a oprit procesul: $BUILD_ITEM !" exit 1 elif [ $R -eq 2 ]; then
echo
echo "==> EROARE la compilare; procesul de compilare va fi oprit" echo "==> PACHETUL la care s-a oprit procesul: $BUILD_ITEM !" exit 1 elif [ $R ]; then touch "$SKIP_FILE" fi fi done
done
- daca procesul de compilare s-a terminat cu succes, fac curatenie
for BUILD_ARR in $BUILD_LIST ;do
for BUILD_ITEM in ${!BUILD_ARR} ;do if [ -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" ]; then rm -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" fi done
done
END_TIME=`date`
echo "************************************************************" echo "* Enlightenment DR17 a fost compilat si instalat cu succes *" echo "************************************************************"
- aici o functie care calculeaza timpul scurs
echo "Begin time: $BEGIN_TIME" echo "End time: $END_TIME"
exit 0
Sfarsit
Sper ca aceste scripturi sa va fie de ajutor.
Astept observatiile si comentariile voastre.