Difference between revisions of "Download si instalare E17 din CVS"
From linux360
(e17_cvs.sh v 2.3) |
(e17_install.sh v3.1) |
||
| Line 161: | Line 161: | ||
# Nume fisier: e17_install.sh | # Nume fisier: e17_install.sh | ||
| − | # Versiunea: 3. | + | # Versiunea: 3.1 |
# Dependente: | # Dependente: | ||
| Line 168: | Line 168: | ||
# 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/e17/" # | + | 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 186: | Line 186: | ||
APPS="apps/iconbar apps/entice apps/entrance apps/elicit apps/e \ | APPS="apps/iconbar apps/entice apps/entrance apps/elicit apps/e \ | ||
| − | apps/e_utils apps/express apps/imlib2_tools apps/examine" | + | apps/e_utils apps/e_modules apps/express apps/imlib2_tools apps/examine apps/eclair" |
# erori: apps/enscribe apps/evfs apps/euphoria apps/eclair | # erori: apps/enscribe apps/evfs apps/euphoria apps/eclair | ||
| − | SPECIAL= | + | SPECIAL="apps/elation proto/etk proto/exhibit ../e_modules" |
| − | # optiuni: | + | # optiuni: apps/elation proto/etk proto/exhibit ../e_modules |
# erori: ../misc/engage evidence eterm/Eterm e17/proto/entropy | # erori: ../misc/engage evidence eterm/Eterm e17/proto/entropy | ||
| Line 270: | Line 270: | ||
fi | fi | ||
| − | MYLDFLAGS="$LDFLAGS -L$INSTALL_DIR/lib -L/lib -L/usr/lib | + | MYLDFLAGS="$LDFLAGS -L$INSTALL_DIR/lib -L/lib -L/usr/lib \ |
-L/usr/local/lib -L/usr/X11R6/lib" | -L/usr/local/lib -L/usr/X11R6/lib" | ||
| − | MYCPPFLAGS="$CPPFLAGS -I$INSTALL_DIR/include -I/usr/include | + | MYCPPFLAGS="$CPPFLAGS -I$INSTALL_DIR/include -I/usr/include \ |
-I/usr/local/include -I/usr/X11R6/include" | -I/usr/local/include -I/usr/X11R6/include" | ||
| Line 358: | Line 358: | ||
exit 0 | exit 0 | ||
| + | |||
</pre> | </pre> | ||
Revision as of 22:45, 8 January 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.
#!/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.
#!/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.
