Difference between revisions of "Download si instalare E17 din CVS"
From linux360
(am corectat e17_cvs.sh) |
|||
(15 intermediate revisions by 10 users not shown) | |||
Line 6: | Line 6: | ||
In versiunea 2.0 m-am complicat putin , unele lucruri nu sunt absolut necesare. | In versiunea 2.0 m-am complicat putin , unele lucruri nu sunt absolut necesare. | ||
− | < | + | <code><sh/> |
#!/bin/sh | #!/bin/sh | ||
# Nume fisier: e17_cvs.sh | # Nume fisier: e17_cvs.sh | ||
− | # Versiunea: 2. | + | # Versiunea: 2.3 |
# EDITEAZA aceste linii | # EDITEAZA aceste linii | ||
Line 22: | Line 22: | ||
DOWNLOAD_LIST="e17" | DOWNLOAD_LIST="e17" | ||
# lista aplicatiilor disponibile | # lista aplicatiilor disponibile | ||
− | AVAILABLE_LIST=":e17:engage:evidence:" | + | AVAILABLE_LIST=":e17:engage:evidence:e_modules:" |
function usage() | function usage() | ||
Line 35: | Line 35: | ||
echo " engage - descarca Engage" | echo " engage - descarca Engage" | ||
echo " evidence - descarca Evidence" | echo " evidence - descarca Evidence" | ||
+ | echo " e_modules - descarca modulele pt. Enlightenment DR17" | ||
echo " all - descarca Enlightenment DR17, Engage si Evidence" | echo " all - descarca Enlightenment DR17, Engage si Evidence" | ||
exit 0 | exit 0 | ||
Line 69: | Line 70: | ||
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login && \ | cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login && \ | ||
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence co evidence | 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 #? | return #? | ||
;; | ;; | ||
Line 81: | Line 88: | ||
return 1 | return 1 | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
# verificam parametri | # verificam parametri | ||
Line 93: | Line 96: | ||
# cream o lista cu toti parametri | # cream o lista cu toti parametri | ||
− | NR_PARAM=$# | + | if [ $# -gt 0 ]; then |
− | DOWNLOAD_LIST="" | + | 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 | |
− | # verificam validitatea pachetelor din lista | + | echo "Pachet inexistent: $ITEM" |
− | for ITEM in $DOWNLOAD_LIST; do | + | usage |
− | + | fi | |
− | + | done | |
− | + | fi | |
− | |||
− | |||
− | done | ||
# descarcam pachetele | # descarcam pachetele | ||
Line 136: | Line 141: | ||
exit 0 | exit 0 | ||
− | </ | + | </code> |
==Scriptul pentru compilare si instalare== | ==Scriptul pentru compilare si instalare== | ||
Line 151: | Line 156: | ||
apelarea scriptului. | apelarea scriptului. | ||
− | < | + | <code><sh/> |
#!/bin/sh | #!/bin/sh | ||
# Nume fisier: e17_install.sh | # Nume fisier: e17_install.sh | ||
− | # Versiunea: | + | # Versiunea: 3.1 |
+ | |||
+ | # Dependente: | ||
+ | # * apps/eclair: taglib, sqlite | ||
# EDITEAZA aceste linii | # EDITEAZA aceste linii | ||
INSTALL_DIR="/usr/local/e17" # directorul unde instalez | INSTALL_DIR="/usr/local/e17" # directorul unde instalez | ||
− | CVS_DIR="/mnt/hdd1/app_cvs" # directorul unde se afla sursele CVS | + | 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 | USE_SUDO="yes" # schimba in "no" daca vei compila ca si root | ||
Line 171: | Line 179: | ||
SUDO_BIN="/usr/bin/sudo" | SUDO_BIN="/usr/bin/sudo" | ||
− | LIBS=" | + | 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 \ | |
− | # erori: | + | proto/etk" |
+ | # erori: libs/emotion | ||
− | APPS=" | + | 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: | + | # erori: apps/enscribe apps/evfs apps/euphoria apps/eclair |
− | SPECIAL=" | + | SPECIAL="apps/elation proto/etk proto/exhibit ../e_modules" |
− | # erori: evidence eterm/Eterm e17/proto/entropy | + | # optiuni: apps/elation proto/etk proto/exhibit ../e_modules |
+ | # erori: ../misc/engage evidence eterm/Eterm e17/proto/entropy | ||
# comportamentul implicit | # comportamentul implicit | ||
Line 259: | Line 269: | ||
fi | fi | ||
− | MYLDFLAGS="$LDFLAGS -L$INSTALL_DIR/lib -L/lib -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib" | + | MYLDFLAGS="$LDFLAGS -L$INSTALL_DIR/lib -L/lib -L/usr/lib \ |
− | MYCPPFLAGS="$CPPFLAGS -I$INSTALL_DIR/include -I/usr/include -I/usr/local/include -I/usr/X11R6/include" | + | -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" | PATH="$PATH:$INSTALL_DIR/bin" | ||
Line 273: | Line 285: | ||
fi | 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 | for BUILD_ARR in $BUILD_LIST ;do | ||
echo "=> $BUILD_ARR" | echo "=> $BUILD_ARR" | ||
for BUILD_ITEM in ${!BUILD_ARR} ;do | 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 | if [[ $RESUME -eq 1 && -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" ]]; then | ||
echo "==> SKIP $BUILD_ITEM" | echo "==> SKIP $BUILD_ITEM" | ||
else | else | ||
echo "==> COMPILEZ $BUILD_ITEM" | echo "==> COMPILEZ $BUILD_ITEM" | ||
+ | |||
cd $CVS_DIR/$BUILD_ITEM | cd $CVS_DIR/$BUILD_ITEM | ||
− | + | ||
env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \ | env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \ | ||
./autogen.sh | ./autogen.sh | ||
− | $ | + | $MAKE_BIN clean |
env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \ | env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \ | ||
− | + | ./configure --prefix=$INSTALL_DIR && $MAKE_BIN && \ | |
− | + | $SUDO_BIN $MAKE_BIN install && \ | |
+ | $SUDO_BIN $LDCONFIG_BIN $INSTALL_DIR/lib | ||
R="$?" | R="$?" | ||
if [ $R -eq 1 ]; then | if [ $R -eq 1 ]; then | ||
Line 332: | Line 357: | ||
exit 0 | exit 0 | ||
− | + | </code> | |
− | </ | ||
==Sfarsit== | ==Sfarsit== |
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.