Personal tools

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

From linux360

Jump to: navigation, search
(Added secondary category binding)
Line 1: Line 1:
Scriptul pentru download:
+
==Scriptul pentru download==
 
  #!/bin/sh
 
  #!/bin/sh
 
   
 
   
Line 36: Line 36:
 
  exit 0
 
  exit 0
  
Scriptul pentru compilare si instalare:
+
==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.
 +
<pre>
 
  #!/bin/sh
 
  #!/bin/sh
  # EDITEAZA directoarele
+
 +
# Versiunea: 2.0
 +
 +
  # EDITEAZA aceste linii
 
  INSTALL_DIR="/usr/local/e17" # directorul unde instalez
 
  INSTALL_DIR="/usr/local/e17" # directorul unde instalez
  CVS_DIR="/mnt/hdd2/app_cvs" # directorul unde se afla sursele CVS
+
  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"
 
  MAKE_BIN="/usr/bin/make"
 
  LDCONFIG_BIN="/sbin/ldconfig"
 
  LDCONFIG_BIN="/sbin/ldconfig"
  SUDO_BIN="" #"/usr/bin/sudo" # pt. cei care folosesc "sudo"
+
  SUDO_BIN="/usr/bin/sudo"  
 
   
 
   
  # stabilesc ce sectiuni voi instala
+
LIBS="e17/libs/imlib2 e17/libs/eet e17/libs/evas e17/libs/ecore e17/libs/embryo e17/libs/edje e17/libs/edb \
  BUILD_LIST="LIBS APPS"
+
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
 
   
 
   
  LIBS="e17/libs/imlib2 e17/libs/edb e17/libs/eet e17/libs/evas e17/libs/ecore e17/libs/epeg e17/libs/embryo e17/libs/edje e17/libs/epsilon e17/libs/esmart e17/libs/emotion e17/libs/etox e17/libs/ewl e17/libs/engrave  e17/libs/imlib2_loaders"
+
  SPECIAL="evidence misc/engage"
  # e17/libs/evoak e17/libs/estyle e17/libs/ewd e17/libs/exml
+
  # erori: evidence eterm/Eterm e17/proto/entropy
 
   
 
   
  APPS="e17/apps/iconbar e17/apps/entice e17/apps/entrance e17/apps/elicit e17/apps/e e17/apps/e_modules e17/apps/e_utils e17/apps/eclair e17/apps/examine e17/apps/elation e17/apps/express e17/apps/imlib2_tools e17/apps/enscribe"
+
  # comportamentul implicit
  # e17/apps/ebindings/ e17/apps/ebony e17/apps/efm e17/apps/efileinfo e17/apps/efsd e17/apps/elogin e17/apps/esmall e17/apps/essence e17/apps/etcher e17/apps/euphoria e17/apps/ewidgetd e17/apps/fo e17/apps/med
+
RESUME=0
 +
BUILD_LIST="LIBS APPS"
 +
  SKIP_FILE=".DONE"
 
   
 
   
  APPS_ALONE="evidence misc/engage"
+
  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
 +
}
 
   
 
   
  SPECIAL="e17/apps/evfs"
+
  function check_resume() {
 +
  if [ "$1" = "-resume" ]; then
 +
    RESUME=1
 +
    return 0
 +
  fi
 +
  return 1
 +
}
 
   
 
   
  ########################################
+
  function check_options() {
# ATENTIE: Nu edita sub aceasta linie  #
+
  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
 +
  }
 
   
 
   
  case "$1" in
+
  if [ $# -gt 2 ]; then
  apps)
+
   usage
  BUILD_LIST="APPS"
+
elif [ $# -eq 2 ]; then
  ;;
+
   if ! check_resume $1 ||  ! check_options $2 ; then
   libs)
+
    usage
  BUILD_LIST="LIBS"
+
   fi
  ;;
+
elif [ $# -eq 1 ]; then
   all)
+
   if ! check_resume $1 && ! check_options $1 ; then
  BUILD_LIST="LIBS APPS"
+
    usage
  ;;
+
   fi
  special)
+
  fi
  BUILD_LIST="SPECIAL"
 
  ;;
 
   help)
 
  echo "Folosire: e17_install [apps/libs/all/help]"
 
   echo "apps - inst. numai aplicatiile"
 
  echo "libs - inst. numai librariile"
 
  echo "all - inst. librariile si aplicatiile"
 
   echo "help - afiseaza acest mesaj"
 
  exit 0
 
  ;;
 
  esac
 
 
   
 
   
 +
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"
 
  MYLDFLAGS="$LDFLAGS -L$INSTALL_DIR/lib -L/lib -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib"
Line 93: Line 152:
 
  export PATH
 
  export PATH
 
   
 
   
  echo "*************************************************"
+
  echo "*****************************************************"
  echo "Incepe procesul de compilare a Enlightenment DR17"
+
  echo "* Incepe procesul de compilare a Enlightenment DR17 *"
  echo "*************************************************"
+
  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
 
  # necesara pt. a instala e
Line 102: Line 165:
 
  BEGIN_TIME=`date`
 
  BEGIN_TIME=`date`
 
   
 
   
  for BUILD_ARR in $BUILD_LIST
+
  for BUILD_ARR in $BUILD_LIST ;do
do
+
  echo "=> $BUILD_ARR"
    echo "=> $BUILD_ARR"
+
  for BUILD_ITEM in ${!BUILD_ARR} ;do
    for BUILD_ITEM in ${!BUILD_ARR}
+
    if [[ $RESUME -eq 1 && -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" ]]; then
    do
+
      echo "==> SKIP $BUILD_ITEM"
        echo "==> $BUILD_ITEM"
+
    else
        cd $CVS_DIR/$BUILD_ITEM
+
      echo "==> COMPILEZ $BUILD_ITEM"
+
      cd $CVS_DIR/$BUILD_ITEM
        env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \
+
     
        ./autogen.sh
+
      env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \
        $MAKEBIN clean
+
      ./autogen.sh
        env LDFLAGS="$MYLDFLAGS" CPPFLAGS="$MYCPPFLAGS" \
+
      $MAKEBIN clean
        ./configure --prefix=$INSTALL_DIR && $MAKE_BIN && $SUDO_BIN $MAKE_BIN install
+
      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
 
   
 
   
        if [ $? -ne 0 ]
+
# daca procesul de compilare s-a terminat cu succes, fac curatenie
        then
+
for BUILD_ARR in $BUILD_LIST ;do
            echo "Error building $i !"
+
  for BUILD_ITEM in ${!BUILD_ARR} ;do
            exit 1
+
    if [ -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE" ]; then
        fi
+
      rm -f "$CVS_DIR/$BUILD_ITEM/$SKIP_FILE"
        $SUDO_BIN $LDCONFIG_BIN $INSTALL_DIR/lib
+
    fi
    done
+
  done
 
  done
 
  done
 
   
 
   
# cateva setari utile pentru incepatori
 
$INSTALL_DIR/bin/enlightenment_remote -module-load ibox
 
$INSTALL_DIR/bin/enlightenment_remote -window-placement-policy-set SMART
 
 
   
 
   
 
  END_TIME=`date`
 
  END_TIME=`date`
 
   
 
   
  echo "********************************************************"
+
  echo "************************************************************"
  echo "Enlightenment DR17 a fost compilat si instalat cu succes"
+
  echo "* Enlightenment DR17 a fost compilat si instalat cu succes *"
  echo "********************************************************"
+
  echo "************************************************************"
 
   
 
   
 
  # aici o functie care calculeaza timpul scurs
 
  # aici o functie care calculeaza timpul scurs
Line 140: Line 220:
 
   
 
   
 
  exit 0
 
  exit 0
 +
</pre>
  
Cateva observatii:
+
==Sfarsit==
* unele biblioteci/aplicatii au dependente; dupa ce rezolvati dependentele va trebui sa reluati intreaga compilare, ceea ce e destul de frustrant la prima instalare; pe viitor am sa incerc sa depistez aplicatiile instalate cu succes si sa sar peste ele la o noua compilare (e.g. dupa ce am rezolvat o dependenta)
+
Sper sa le fie de ajutor celor care vor sa incerce Enlightenment. Astept observatiile/comentariile voastre.
* cateva dependente: (instalati mai ales pachetele <tt>-devel</tt> corespunzatoare)
 
*# <tt>libs/emotion</tt>: <tt>xine-lib</tt>
 
*# <tt>apps/eclaire</tt>: <tt>taglib-config</tt>
 
* scriptul nu instaleaza toate bibliotecile si aplicatiile, ci doar minimul necesar pentru functionarea e17
 
* nu toate aplicatiile pot fi compilate si instalate, unele nu au tinut pasul cu schimbarile (foarte frecvente) din CVS
 
* scriptul din care m-am inspirat se gaeste [http://www.linux360.ro/forum/compilare-e17-din-cvs-vt8507.html aici].
 
  
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/
  
 
[[Category:HowTo]]
 
[[Category:HowTo]]
 
[[Category:GEs]]
 
[[Category:GEs]]
 +
[[Category:E17]]

Revision as of 19:16, 9 December 2005

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/