Personal tools

Download si instalare E17 din CVS

From linux360

Revision as of 19:16, 9 December 2005 by Ingerul (talk | contribs)
Jump to: navigation, search

Scriptul pentru download

#!/bin/sh

CVS_DIR="/mnt/hdd2/app_cvs" # directorul unde instalez

cd $CVS_DIR

# operatii posibile: co (instalare - default), up (update)
OP="co"

case "$1" in 
  upgrade)
  OP="up"
  ;;
  help)
  echo "Folosire: e17_cvs [commit/update/help]"
  echo "commit - verifica fisierele din repository"
  echo "upgrade - sincronizeaza cu repository"
  echo "help - afieaza acest mesaj"
  exit 0
  ;;
esac

# enlightenment
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment $OP e17

# engage
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment $OP misc/engage

# evidence
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence $OP evidence

exit 0

Scriptul pentru compilare si instalare

Versiunea 2.0 aduce cateva imbunatatiri majore fata de versiunea 1.0. Cea mai importanta o reprezinta 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
 
 # Versiunea: 2.0
 
 # 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="evidence 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 [-resume] [apps|libs|special|all|help]"
   echo
   echo "unde:"
   echo "        -resume - incepe compilarea de la pachetul unde s-a oprit compilarea anterioara"
   echo "        apps    - compileaza numai aplicatiile"
   echo "        libs    - compileaza numai librariile"
   echo "        special - compileaza librarii si aplicatii optionale"
   echo "        all     - compileaza toate librariile si aplicatiile"
   echo "        help    - afiseaza acest mesaj"
   exit 0
 }
 
 function check_resume() {
   if [ "$1" = "-resume" ]; then
     RESUME=1
     return 0
   fi
   return 1
 }
 
 function check_options() {
   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
     ;;
     help)
     usage
     return 0
     ;;
   esac
   return 1
 }
 
 if [ $# -gt 2 ]; then
   usage
 elif [ $# -eq 2 ]; then
   if ! check_resume $1 ||  ! check_options $2 ; then
     usage
   fi
 elif [ $# -eq 1 ]; then
   if ! check_resume $1 && ! check_options $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
       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
       fi
       $SUDO_BIN $LDCONFIG_BIN $INSTALL_DIR/lib
       if [ $? ]; 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 sa le fie de ajutor celor care vor sa incerce Enlightenment. Astept observatiile/comentariile voastre.

Legaturi utile

http://enlightenment.sourceforge.net/Enlightenment/DR17/ http://www.get-e.org/