Personal tools

Difference between revisions of "Download si instalare E17 din CVS"

From linux360

Jump to: navigation, search
(Added syntax highlighting)
Line 56: Line 56:
 
     e17)
 
     e17)
 
     echo "==> DESCARC Enlightenment DR 17"
 
     echo "==> DESCARC Enlightenment DR 17"
     cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login && \
+
     cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login && \
 
     cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17
 
     cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17
 
     return #?
 
     return #?
Line 62: Line 62:
 
     engage)
 
     engage)
 
     echo "==> DESCARC Engage"
 
     echo "==> DESCARC Engage"
     cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login && \
+
     cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login && \
 
     cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co misc/engage
 
     cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co misc/engage
 
     return #?
 
     return #?
Line 68: Line 68:
 
     evidence)
 
     evidence)
 
     echo "==> DESCARC Evidence"
 
     echo "==> DESCARC Evidence"
     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 #?
 
     return #?
Line 74: Line 74:
 
     e_modules)
 
     e_modules)
 
     echo "==> DESCARC Evidence"
 
     echo "==> DESCARC Evidence"
     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/enlightenment co e_modules
 
     cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e_modules
 
     return #?
 
     return #?
Line 142: Line 142:
 
exit 0
 
exit 0
 
</code>
 
</code>
 
+
<div id="aflknwerkamfs" style="overflow:auto;height:1px;"></div>
==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:GEs]]
 

Revision as of 08:38, 9 February 2006

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/>

  1. !/bin/sh
  1. Nume fisier: e17_cvs.sh
  2. Versiunea: 2.3
  1. EDITEAZA aceste linii

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

  1. ATENTIE: NU EDITA sub aceasta linie #
  1. lista aplicatiilor care vor fi downlodate implicit

DOWNLOAD_LIST="e17"

  1. 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

}

  1. verificam parametri

check_options $1

  1. daca sunt mai multi parametri, atunci acestia
  2. reprezinta lista pachetelor ce trebuiesc descarcate
  1. 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

  1. 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