Difference between revisions of "Download si instalare E17 din CVS"
From linux360
(Fixed secondary category binding) |
(corecturi de exprimare) |
||
Line 1: | Line 1: | ||
==Scriptul pentru download== | ==Scriptul pentru download== | ||
− | Acest script | + | Acest script poate fi folosit pentru a descarca Enlightenment DR17 din CVS |
− | + | sau pentru a sincroniza fisierele deja existente pe sistemul vostru cu | |
− | sistemul vostru cu fisierele din CVS. | + | fisierele din CVS. |
− | + | In versiunea 2.0 m-am complicat putin , unele lucruri nu sunt absolut necesare. | |
− | |||
<pre> | <pre> | ||
Line 27: | Line 26: | ||
function usage() | function usage() | ||
{ | { | ||
− | echo "Folosire: e17_cvs [e17|engage|evidence|all|help]" | + | echo "Folosire: e17_cvs.sh [e17|engage|evidence|all|help]" |
echo | echo | ||
echo "optiuni:" | echo "optiuni:" | ||
Line 139: | Line 138: | ||
==Scriptul pentru compilare si instalare== | ==Scriptul pentru compilare si instalare== | ||
Versiunea 2 aduce cateva imbunatatiri majore fata de versiunea 1. Cea mai | Versiunea 2 aduce cateva imbunatatiri majore fata de versiunea 1. Cea mai | ||
− | importanta | + | 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 | in care acesta a fost intrerupt de catre utilizator sau din cauza unei erori la | ||
compilarea unui pachet. | compilarea unui pachet. | ||
Line 149: | Line 148: | ||
Pentru a avea acces la aceasta facilitate trebuie sa folosim optiunea "-resume" la | Pentru a avea acces la aceasta facilitate trebuie sa folosim optiunea "-resume" la | ||
apelarea scriptului. | apelarea scriptului. | ||
+ | |||
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh |
Revision as of 11:05, 10 December 2005
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.
#!/bin/sh # Nume fisier: e17_cvs.sh # Versiunea: 2.0 # 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:" function usage() { echo "Folosire: e17_cvs.sh [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 " 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 #? ;; enagage) 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 #? ;; all) echo "==> DESCARC pachetele: Enlightenment DR 17, Engage, Evidence" download_packages e17 download_packages engage download_packages evidence return #? ;; esac return 1 } # verificam parametri if [ $# -eq 1 ]; then check_options $1 elif [ $# -gt 1 ]; then # daca sunt mai multi parametri, atunci acestia # reprezinta lista pachetelor ce trebuiesc descarcate # cream o lista cu toti parametri 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.
#!/bin/sh # Nume fisier: e17_install.sh # Versiunea: 2.1 # EDITEAZA aceste linii INSTALL_DIR="/usr/local/e17" # directorul unde instalez CVS_DIR="/mnt/hdd1/app_cvs" # directorul unde se afla sursele CVS (unde se afla directorul e17) 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="e17/libs/imlib2 e17/libs/eet e17/libs/evas e17/libs/ecore e17/libs/embryo e17/libs/edje e17/libs/edb \ e17/libs/epeg e17/libs/epsilon e17/libs/esmart e17/libs/etox e17/libs/ewl e17/libs/engrave e17/libs/imlib2_loaders" # erori: e17/libs/emotion APPS="e17/apps/iconbar e17/apps/eclair e17/apps/entice e17/apps/entrance e17/apps/elicit e17/apps/e \ e17/apps/e_modules e17/apps/e_utils e17/apps/elation e17/apps/express e17/apps/imlib2_tools e17/apps/examine" # erori: e17/apps/enscribe e17/apps/evfs e17/apps/euphoria SPECIAL="misc/engage" # erori: 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 # necesara pt. a instala e #export ACLOCAL_FLAGS="-I /usr/share/aclocal" BEGIN_TIME=`date` for BUILD_ARR in $BUILD_LIST ;do echo "=> $BUILD_ARR" for BUILD_ITEM in ${!BUILD_ARR} ;do 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 $MAKEBIN 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.