Forum debian-fr.org

Rechercher:

* Connexion   * M’enregistrer

* FAQ    * Rechercher





Poster un nouveau sujet Répondre au sujet  [ 11 messages ] 
Auteur Message
 Sujet du message: Script couteau suisse pour e17
MessagePosté: 26 Mai 2012 21:34 
Hors ligne
Grand posteur

Inscription: 22 Déc 2006 09:55
Messages: 180
Bonjour tous,
je vous présente un script pour l'installation d'e17 via le svn.
Ce script vous permet :

  • D'installer pour la première fois e17 à partir du svn du projet.
  • De mettre à jour e17 (seulement s'il y a une mise à jour de la librairie sur le svn)
  • De re-installer e17 (dés-installation et re-installation)
  • Dés-installer définitivement e17
  • Installer e17 (sans dés-installation préalable)
  • Restaurer e17 depuis la dernière sauvegarde.

Le script sauvegarde les sources et le dossier utilisateur avant chaque mise à jours pour une restauration si un bug empêche l'utilisation d'e17.
Il installe e17 de base pour qu'il soit fonctionnel, vous pouvez ajouter les e_modules de votre choix et tout autre programme du svn d'e17.

Le script détecte si vous le lancer en simple utilisateur et vous invite à passer en root.
Le script détecte si e17 est en cours d'exécution et vous demande de passer en tty 1 avant de l'exécuter.
Lors la première utilisation vous le lancer via la commande classique :
Code:
./e17.sh

Ensuite le script crée un alias dans /root/.bashrc pour le lancer via la commande :
Code:
e17

Enregistrez le script sous le nom e17.sh ensuite rendez-le executable :
Code:
chmod u+x e17.sh

Avant toute utilisation vous devez renseigner les variable présentes au début du script celons vos choix.
Code:
UTILISATEUR="ici_votre_choix" # Votre nom d'utilisateur.
SRC_E17="/home/$UTILISATEUR/ici_votre_choix" # Dossier d'installation des sources d'e17
#laissez /home/$UTILISATEUR/ (ex src).
SAUVEGARDES="/home/$UTILISATEUR/ici_votre_choix" # Dossier différent de celui des sources
# pour la sauvegarde,laissez /home/$UTILISATEUR/ (ex sauvegardes).
OPTI_GCC="2"   # Optimisation croissante choisir entre 0, 1 et 2 pour gcc.
LOG_PATH="ici_votre_choix" # Emplacement des log, garder le / (ex /var/log/e17).


Voici le script en version 1.4 :

Code:
#!/bin/bash
##########################################################################################
# Crée par pitcat le 6 mai 2012.                                                         #
# Ce script vous permet :                                                                #
# - D'installer e17 à partir du svn du projet.                                           #
# - De mettre à jour e17 (seulement s'il y a une mise à jour de la librairie sur le svn) #
# - De ré-installer e17 (dés-installation et re-installation)                            #
# - Dés-installer définitivement e17                                                     #
# - Installer e17 (sans dés-installation préalable)                                      #
# - Restaurer e17 depuis la dernière sauvegarde.                                         #
# Pour tout info boiteacourriels@orange.fr                                               #
##########################################################################################
# Change log :                                                                           #
#                                                                                        #
#  Version 1.4 du script :                                                               #
#   Ajout de la détection de la version debian pour les dépendances                      # 
#     Correction du bug des dépendances de stable avec testing/sid                       # 
#                                                                                        #
#  Version 1.3 du script :                                                               #
#   Amélioration de la sauvegarde, seules les librairies mise à jour sont sauvegardées   #
#                                                                                        #
#  Version 1.2 du script :                                                               #
#   correction de bug avec squeeze et modification des dépendances.                      #
#                                                                                        #
#  Version 1.1 du script :                                                               #
#   Ajout de la détection du nombre de cpu pour choisir le profil d'e17                  #                                                                 
#                                                                                        #
#  Version 1 du script :                                                                 #
#   Correction de bug mineurs                                                            #
#                                                                                        #
#  Version 0.9 du script :                                                               #
#   Ajout de l'alias avec log dans /root/.bashrc                                         #
#                                                                                        #
#  Version 0.8 du script :                                                               #
#   Ajout de la détection de root.                                                       #
#   Ajout des variables configurables.                                                   #
#                                                                                        #
#  Version 0.7 du script :                                                               #
#   Ajout de la détection d'utilisation d'17 pour exécuter le script en tty sans X.      #
#   Ajout de la barre de décompte avant bascule en tty 1                                 #
#                                                                                        #
#  Version 0.6 du script :                                                               #
#   Correction et optimisation du code.                                                  #
#                                                                                        #
#  Version 0.5 du script :                                                               #
#   Ajout de la configuration spécifique pour certaines librairies.                      #
#                                                                                        #
#  Version 0.4 du script :                                                               #
#   Ajout de la restauration d'e17.                                                      #
#   Mise en place de la sauvegarde des sources locales d'e17                             #
#                                                                                        #
#  Version 0.3 du script :                                                               #
#   Ajout de la compilation simple d'e17.                                                #
#                                                                                        #
#  Version 0.2 du script :                                                               #
#   Ajout de la ré-installation d'e17.                                                   #
#                                                                                        #
# Version 0.1 du script :                                                                #
#  fusion de mes 3 scripts, installation, mise à jour et dés-installation pour e17.      #
#  Création du menu                                                                      #
################################# Configuration des variables.############################
set -e # Arrête le script en cas d'erreur.
################################# Définir celons votre choix.##############################
################################# Remplacez ici_votre_choix par vos dossiers.##############
UTILISATEUR="ici_votre_choix" # Votre nom d'utilisateur.
SRC_E17="/home/$UTILISATEUR/ici_votre_choix" # Dossier d'installation des sources d'e17
#laissez /home/$UTILISATEUR/ (ex src).
SAUVEGARDES="/home/$UTILISATEUR/ici_votre_choix" # Dossier différent de celui des sources
# pour la sauvegarde,laissez /home/$UTILISATEUR/ (ex sauvegardes).
OPTI_GCC="2"   # Optimisation croissante choisir entre 0, 1 et 2 pour gcc.
LOG_PATH="ici_votre_choix" # Emplacement des log, garder le / (ex /var/log/e17).
################################# Variables pour le script.###############################
################################# Ne rien modifier à partir d'ici.########################
VIDE="ici_votre_choix"
MESG="Veuillez renseigner toutes les variables du script"
################################# Couleurs.###############################################
CYAN="\\033[36m" # sauvegardes
BLEU="\\033[34m" # svn up
ORANGE="\\033[33m" #  make uninstall et make clean distclean
VERT="\\033[32m" # Vérification  des variables
ROUGE="\\033[31m" # make et make install
JAUNE="\\033[1;33m" # configuration des librairies
################################# Export des variables d'environement pour la compilation.###
export LD_LIBRARY_PATH="/usr/local/lib"
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
export CFLAGS="-g -march=native -O$OPTI_GCC -pipe -mtune=native -fvisibility=hidden -msse4.1"
export CXXFLAGS="-g -march=native -O$OPTI_GCC -pipe -mtune=native -fvisibility=hidden -msse4.1"
export LDFLAGS="-L/usr/local/lib"
export CPPFLAGS="-I/usr/local/include"
export CC="ccache gcc"
export CXX="ccache g++"
LOG_DATE='e17-$(date +%m-%d-%H-%m)'
GREP_ALIAS="alias e17='/home/$UTILISATEUR/e17.sh 2>&1 | tee /var/log/e17/$LOG_DATE.log'"
GREP_LD='grep "/usr/local/lib" /etc/ld.so.conf.d/e17.conf'
U_PATH="/home/$UTILISATEUR/"
CPU=`grep processor /proc/cpuinfo|wc|awk -F " " '{print $1}'`
JOBS=`grep processor /proc/cpuinfo|wc|awk -F " " '{print $1+1}'`                                                                                                                                                                           
MAKE_CMD="make -j$JOBS "
FMAKE=`find /usr/bin/make`
TEMP_E17="/tmp/e17"
################################## Détection de l'architecture.#############################################
ARCH=`dpkg --print-architecture`
case "$ARCH" in
      amd64 )ARCH=x86_64-linux-gnu ;;
      i386 ) ARCH=i486-linux-gnu ;;
       * )  ARCH=*-linux-gnu ;;
esac
V_DEBIAN="`cat  /etc/debian_version | cut -d/ -f2`"
################################# Variables d'e17.#############################################
E_PATH="/usr/local" # Dossier d'installation d'e17
SVN="svn co https://svn.enlightenment.org/svn/e/trunk"
SVN_UP="svn up --accept theirs-full"
E17="eina eet evas evas_generic_loaders ecore eio eeze embryo edje e_dbus efreet e" # Liste des librairies de base d'e17
MODULES="places engage calendar screenshot forecasts" # Liste des e_modules a installer http://trac.enlightenment.org/e/browser/trunk/E-MODULES-EXTRA
EXTRA="emprint" # Liste des librairies de votre choix autres que la base d'e17. http://trac.enlightenment.org/e/browser/trunk/
PROTO="" # voir ici http://trac.enlightenment.org/e/browser/trunk/PROTO
E_SESSION="$SRC_E17/e/data/xsession"
X_SESSION="/usr/share/xsessions"
SRC_EXTRA="$SRC_E17"
SRC_PROTO="$SRC_E17/proto"
SRC_MODULES="$SRC_E17/e_modules"
################################ #Variables pour la configuration :#################################
CONFIGURE="./autogen.sh --prefix=$E_PATH --build=$ARCH --host=$ARCH --target=$ARCH "
CONFIGURE_EINA="--enable-valgrind --enable-amalgamation --with-internal-maximum-log-level=2 --enable-e17 --enable-tests \
--enable-fast-install --with-gnu-ld"
CONFIGURE_EET="--enable-tests --with-gnu-ld --enable-fast-install"
CONFIGURE_EVAS="-with-x --enable-valgrind --enable-cpu-c --enable-buffer --enable-pthreads --enable-pipe-render \
--enable-image-loader-edb --enable-image-loader-eet --enable-image-loader-gif \
--enable-image-loader-pmaps --enable-image-loader-png --enable-image-loader-svg --enable-image-loader-tiff \
--enable-image-loader-xpm --enable-image-loader-bmp --enable-image-loader-tga --enable-image-loader-wbmp \
--enable-image-loader-ico --enable-image-loader-psd --enable-image-loader-generic --enable-pthreads \
--enable-async-render --enable-async-events --enable-async-preload --enable-cpu-mmx \
--enable-cpu-sse --enable-word-cache --enable-metric-cache --enable-image-loader-jpeg --enable-fast-install"
CONFIGURE_EIO="--with-gnu-ld"
CONFIGURE_ECORE="--with-x --enable-glib-integration-always --with-internal-maximum-log-level=3 --enable-ecore-x --enable-epoll \
--enable-thread-safety --enable-ecore-evas-opengl-x11 -enable-ecore-evas-opengl-glew"
CONFIGURE_EEZE="--with-gnu-ld"
CONFIGURE_EMBRYO="--with-gnu-ld"
CONFIGURE_EDJE="--enable-amalgamation --enable-edje-program-cache --enable-edje-calc-cache --enable-fixed-point --enable-tests \
--with-gnu-ld"
CONFIGURE_E_DBUS="-with-gnu-ld"
CONFIGURE_EFREET="--with-gnu-ld --enable-tests"
CONFIGURE_E="--enable-mount-eeze --enable-mount-udisks"
################################# Vérification des differentes variables .######################
################################# Variables pour la dés-installation'e17.#######################
RM_LIB="ecore  edje  efreet enlightenment evas  pkgconfig" # Garder python
RM_ETC="enlightenment xdg"
RM_INC="ecore-1 e_dbus-1 edje-1 eet-1 eeze-1 efreet-1 eina-1 eio-1 embryo-1 enlightenment evas-1"
RM_SHARE="ecore edje efreet embryo enlightenment xsessions e_dbus eet  eina emprint evas locale mime/packages"
################################# Variables pour la sauvegardes.################################
DOSSIERSAUVE=$(date +%d-%m-%H)
#Intégration de la date dans le nom de la sauvegarde.
repertoire=${1:-$DOSSIERSAUVE}
################################# Fin des variables .###########################################
################################# Paquets à installer :#################################
APT_STABLE="autoconf automake autopoint autotools-dev build-essential bzip2 ccache colorgcc comerr-dev doxygen dpkg-dev esound-common g++ g++-4.4 gdb gdbserver gettext git \
  krb5-multidev libaa1-dev libapr1 libaprutil1 libartsc0 libartsc0-dev libasound2-dev libaudio-dev libaudiofile-dev libaudiofile0 libavahi-client-dev  \
  libavahi-common-dev libc6-dbg libcaca-dev libcroco3 libcurl3 libcurl4-openssl-dev libdbus-1-dev libdirectfb-dev libdirectfb-extra libdpkg-perl liberror-perl \
  libesd0 libesd0-dev libexpat1-dev libflac-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libfribidi0 libgl1-mesa-dev libglib2.0-dev libglu1-mesa-dev  \
  libgssrpc4 libice-dev libidn11-dev libjpeg62-dev libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4 libkrb5-dev libldap2-dev libltdl-dev liblua5.1-0  \
  liblua5.1-0-dev libmikmod2 libmikmod2-dev libncurses5-dev libneon27-gnutls libogg-dev libpam0g-dev libpng12-dev libpthread-stubs0 libpthread-stubs0-dev  \
  libpulse-browse0 libpulse-dev libreadline-dev libreadline6-dev libsdl-sound1.2 libsdl-sound1.2-dev libsdl1.2-dev libserf-0-0 libslang2-dev libsm-dev  \
  libsmpeg-dev libsmpeg0 libspeex-dev libsqlite3-dev libssh2-1 libssh2-1-dev libssl-dev libstdc++6-4.4-dev libsvga1-dev libsvn1 libsysfs-dev libtag1-dev  \
  libtagc0 libtagc0-dev libtimedate-perl libtool libudev-dev libunistring0 libvorbis-dev libx11-dev libxau-dev libxcb-shape0-dev libxcb1-dev libxcomposite-dev  \
  libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxine-dev libxinerama-dev libxml2-dev libxrandr-dev libxrender-dev libxslt1-dev  \
  libxss-dev libxt-dev m4 mesa-common-dev pkg-config subversion texinfo valgrind x11proto-composite-dev x11proto-core-dev x11proto-damage-dev  \
  x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev x11proto-xinerama-dev  \
  xtrans-dev zlib1g-dev "
APT="subversion  autoconf autopoint automake gettext build-essential ccache \
            pkg-config libtool autotools-dev zlib1g-dev  libfreetype6-dev \
             libx11-dev libpng12-dev libxext-dev libxrender-dev libxinerama-dev \
            libxcursor-dev libxrandr-dev libxdamage-dev libxcomposite-dev libpam0g-dev \
           libxss-dev libssl-dev libdbus-1-dev libcurl4-openssl-dev \
             libxml2-dev libxslt1-dev libltdl-dev libtag1-dev libtagc0-dev \
             libxine-dev libsqlite3-dev texinfo libsvga1-dev doxygen valgrind gdb libfribidi-dev \
            libsdl-sound1.2-dev liblua5.1-0-dev libudev-dev libfontconfig1-dev libxcb-shape0-dev libglib2.0-bin libglib2.0-dev"
################################# Vérification des differentes variables .######################
if [ $USER = root ] # Vérifier si vous êtes root.
then
echo ""
else
echo -e "$ROUGE" "Vous n'avez pas les droits nécessaires pour installer e17, basculez sous le compte admin et relancer le script."; tput sgr0
exit 0
fi
case $VIDE in # Vérifier si vous avez bien indiqué les variables.
   "$UTILISATEUR")
      echo "$MESG "
                exit 0
      ;;
   "$OPTI_GCC")
      echo "$MESG "
                exit 0
      ;;
        "$SRC_E17")
      echo "$MESG "
                  exit 0
      ;;
   "$SAUVEGARDES")
      echo "$MESG "
                exit 0
      ;;
        "$LOG_PATH")
      echo "$MESG "
                exit 0
      ;;
   *)
      echo -e "$VERT" "Toutes les variables sont configurées !!"; tput sgr0
      ;;
esac
if [ -d /home/$UTILISATEUR/ ] # Vérification  de la présence du dossier de l'utilisateur défini.
 then
echo -e "$VERT" "$UTILISATEUR présent" ; tput sgr0
else
echo -e "$ROUGE" "Vous avez choisie un $UTILISATEUR inexistant pour l'installation d'e17.
Modifié la variable UTILISATEUR"; tput sgr0
exit 0
fi

if [ -d $SRC_E17 ] # Vérification  de la présence du dossier pour les sources d'e17.
 then
echo -e "$VERT" " Le dossier $SRC_E17 existe !!!" ; tput sgr0
else
echo -e "$ROUGE" "Vous avez choisie un dossier $SRC_E17 inexistant pour l'installation d'e17"; tput sgr0
echo -e "$VERT" "Je vais donc créer le dossier $SRC_E17"; tput sgr0
mkdir -p $SRC_E17
fi

if [ -d $SRC_MODULES ] # Vérification  de la présence du dossier pour les sources des e_modules.
 then
echo -e "$VERT" " Le dossier $SRC_MODULES existe !!!" ; tput sgr0
else
echo -e "$ROUGE" "Vous avez choisie un dossier $SRC_MODULES inexistant pour l'installation d'e17"; tput sgr0
echo -e "$VERT" "Je vais donc créer le dossier $SRC_MODULES"; tput sgr0
mkdir -p $SRC_MODULES
fi

if [ -d $SRC_PROTO ] # Vérification  de la présence du dossier pour les sources des e_modules.
 then
echo -e "$VERT" " Le dossier $SRC_PROTO existe !!!" ; tput sgr0
else                                     
echo -e "$ROUGE" "Vous avez choisie un dossier $SRC_PROTO inexistant pour l'installation d'e17"; tput sgr0
echo -e "$VERT" "Je vais donc créer le dossier $SRC_PROTO"; tput sgr0
mkdir -p $SRC_PROTO
fi

if [ -d $LOG_PATH ] # Vérification  de la présence du dossier pour les log.
 then
echo -e "$VERT" " Le dossier $LOG_PATH existe !!!" ; tput sgr0
else
echo -e "$ROUGE" "Vous avez choisie un dossier $LOG_PATH inexistant pour l'installation d'e17"; tput sgr0
echo -e "$VERT" "Je vais donc créer le dossier $LOG_PATH"; tput sgr0
mkdir -p $LOG_PATH
fi

if [ -d  $SAUVEGARDES ] # Vérification de la présence du dossier pour la sauvegarde.
 then
echo -e "$VERT" " Le dossier $SAUVEGARDES existe !!!" ; tput sgr0
else
echo -e "$ROUGE" "Vous avez choisie un dossier $SAUVEGARDES inexistant pour l'installation d'e17"; tput sgr0
echo -e "$VERT" "Je vais donc créer le dossier $SAUVEGARDES"; tput sgr0
mkdir -p $SAUVEGARDES
fi

if  grep -q "$GREP_ALIAS" /root/.bashrc # Vérification  de la présence de la ligne alias e17 dans /root/.bashrc.
then
echo -e "$VERT" "Alias présent"; tput sgr0
  else
echo -e "$VERT" "Création de l'alias e17 dans /root/.bashrc"
echo -e "alias e17='/home/$UTILISATEUR/e17.sh 2>&1 | tee /var/log/e17/$LOG_DATE.log'" >> /root/.bashrc; tput sgr0
fi


if [ -e /etc/ld.so.conf.d/e17.conf ] # Vérification  de la présence du fichier pour ldconfig.
  then
echo -e "$VERT" "Le fichier /etc/ld.so.conf.d/e17.conf existe"; tput sgr0
else
echo -e "$VERT" "Le fichier e17.conf n'existe pas donc je le crée"; tput sgr0
echo  "/usr/local/lib" >> /etc/ld.so.conf.d/e17.conf
fi

if [ "$(grep  /usr/local/lib /etc/ld.so.conf.d/e17.conf | wc -l)" = 0 ] # Vérification  de la présence de la ligne /usr/local/lib pour ldconfig.
then
echo  "/usr/local/lib" >> /etc/ld.so.conf.d/e17.conf
  else
echo -e "$VERT" "/usr/local/lib présent dans /etc/ld.so.conf.d/e17.conf "; tput sgr0
 
fi
     /sbin/ldconfig
########################## Fin de la vérification des différentes variables.##################
########################## Quel cpu pour quel profil ?####################################
case "$CPU" in
      1 ) E_PC="SLOW_PC" ;;
      2 ) E_PC="MEDIUM_PC" ;;
      * ) E_PC="FAST_PC" ;;
esac
################################# Détection de l'exécution d'e17.#################################
if [ "$(ps -e | grep enlightenment | wc -l)" -ge 1 ]
then
echo -e "$ROUGE" "E17 est en cours d'exécution"
echo "E17 et le serveur X vont être arrêtés "
echo "Vous allez revenir à l'écran de votre gestionnaire de connexion"
echo "Veuillez ensuite utiliser la combinaison des touches crt+alt+F1 pour aller dans une console"
echo "Veuillez ensuite relancer le script en tapant e17"; tput sgr0
echo -n -e "Voulez-vous continuer l'exécution du 'script' ?
taper oui pour l'exécuter ou non pour l'arrêter: "
read script

if [ "$script" == "oui" ]
then
echo -e "$ROUGE" "- 1"
sleep 1
echo "-- 2"
sleep 1
echo "--- 3"
sleep 1
echo "---- 4"
sleep 1
echo "----- 5"
sleep 1
echo "------ 6"
sleep 1
echo "------- 7"
sleep 1
echo "-------- 8"
sleep 1
echo "--------- 9"
sleep 1
echo "---------- 10"
sleep 1

killall -9 enlightenment
/etc/init.d/x11-common stop
else
echo -e "Exécution du script arrêté"; tput sgr0
exit 0
fi
fi
if [ "$(ps -e | grep enlightenment | wc -l)" == 0 ]
then
echo -e "$VERT" "e17 n'est pas en cours d'exécution, vous pouvez lancer le script"; tput sgr0
fi

################################# Menu du script.################################################
PS3='Que voulez-vous faire pour e17 ? '

echo

choix_entre()
{
select action
do
  echo
  echo  "Votre action : $action."
  echo
  break
done
}

choix_entre installer "mettre à jour" ré-installer dés-installer e17 restaurer annuler 
if [ "$action" == "installer" ] # Choix d'installer.
then
                echo -e "$VERT" "J'ai choisi le script d'installation d'e17"; tput sgr0
  fi
if [ "$action" == "mettre à jour" ] # Choix de mettre à jour.
then
                echo -e "$VERT" "J'ai choisi le script de mise à jour d'e17"; tput sgr0
  fi
if [ "$action" == "ré-installer" ] # Choix de ré-installer.
then
                echo -e "$VERT" "J'ai choisi le script de re-installation d'e17"; tput sgr0
  fi
if [ "$action" == "dés-installer" ] # Choix de dés-installer.
then
                echo -e "$VERT" "J'ai choisi le script de dés-installation d'e17"; tput sgr0
  fi
if [ "$action" == "e17" ] # Choix d'installer que les librairies.
then
                echo -e "$VERT" "J'ai choisi le script e17"; tput sgr0
  fi
if [ "$action" == "restaurer" ] # Choix de restaurer e17 suite à une mise à jours qui fonctionne pas ou mal.
then
                echo -e "$VERT" "J'ai choisi le script de restauration à la version antérieure d'e17"; tput sgr0
fi
if [ "$action" == "annuler" ] # Choix d'annuler.
then
                echo -e "$ROUGE" "J'ai choisi d'annuler"; tput sgr0
  exit 0
  fi
################################# Fin du menu du script.#################################
################################## Action entreprises pour l'installation.#################
if [ "$action" == "installer" ] # Apt et dossiers pour le svn d'e17.
then
apt-get update
# Installation des paquets pour la compilation suivant la version de debian.
echo -e "$VERT" "Votre version de debian est $V_DEBIAN" ; tput sgr0
case "$V_DEBIAN" in
   sid) apt-get --no-install-recommends install -y  $APT
     echo -e "$VERT" "Installation des dépendances pour $V_DEBIAN" ;;
    * ) apt-get --no-install-recommends install -y  $APT_STABLE
      echo -e "$VERT" "Installation des dépendances pour stable" ;;
esac
case "$FMAKE" in
      /usr/bin/make ) echo -e "$VERT" "make présent"; tput sgr0 ;;
      * ) apt-get install make ;;
esac
 apt-get clean
# Téléchargement du svn.
cd $SRC_E17
for I in $E17 ; do
echo -e "$BLEU" " Téléchargement du svn pour la librairie $I"
    svn co https://svn.enlightenment.org/svn/e/trunk/$I; tput sgr0
  done
  cd ..

cd $SRC_EXTRA
for I in $EXTRA ; do
echo -e "$BLEU" " Téléchargement du svn pour la librairie $I"
    svn co https://svn.enlightenment.org/svn/e/trunk/$I; tput sgr0
  done
  cd ..

cd $SRC_PROTO
for I in $PROTO ; do
echo -e "$BLEU" " Téléchargement du svn pour la librairie $I"
    svn co https://svn.enlightenment.org/svn/e/trunk/PROTO/$I; tput sgr0
  done
  cd ..


cd $SRC_MODULES
for I in $MODULES ; do
  echo -e "$BLEU" " Téléchargement du svn pour le e_modules $I"
    svn co https://svn.enlightenment.org/svn/e/trunk/E-MODULES-EXTRA/$I; tput sgr0
  done
  cd ..
fi

################################## Fin des actions entreprises pour l'installation.#################
################################## Actions entreprises pour la mise à jouret la la restauration.#################
if [ "$action" == "mettre à jour" -o "$action" == "restaurer" ] # Choix de restaurer e17 suite à une mise à jours qui fonctionne pas ou mal.
then
if [`ls $TEMP_E17` ]
then
rm -r $TEMP_E17
mkdir $TEMP_E17
echo " Dossier $TEMP_E17 crée"
fi
fi

if [ "$action" == "restaurer" ]
then
cd $TEMP_E17
for FILE in `ls $SAUVEGARDES | tail -1` ; do  nice -20 tar -jxvf $SAUVEGARDES/"${FILE%}"; done
nice -20 cp -rvp --remove-destination $TEMP_E17/* $U_PATH
nice -20 cp -rvp --remove-destination $TEMP_E17/e17/.e $U_PATH
sleep 10
rm -r $TEMP_E17
fi
################################## Fin des actions entreprises pour la restauration.#################
################################## Début de la compilation des librairies .#################
for I in $E17 ; do
pushd $SRC_E17/$I

if [ "$action" == "mettre à jour" ]
then
if [ `svn --xml info | grep revision=\" | tail -1 | cut -d\" -f2` -lt `svn --xml info https://svn.enlightenment.org/svn/e/trunk/$I | grep revision=\" | tail -1 | cut -d\" -f2` ]
   then
   echo  "1" >> $TEMP_E17/svn_$I

     nice -20 cp -rvp $SRC_E17/$I $TEMP_E17/$I
        $SVN_UP
 echo -e "$BLEU" "-------------------"
            svn st
              svn cleanup
 echo "    -------- up terminer--------- "; tput sgr0
else
          echo -e "$BLEU" "svn $I à jours, rien à compiler"
          echo  "    -------- up terminé----------------" ; tput sgr0
fi
fi
if [ "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "dés-installer" -o "$action" == "restaurer" ] 
then
echo -e "$ORANGE" "    ---------Début de la dés-installation de la librairie $I   --------- "
          nice -20 $MAKE_CMD uninstall
           nice -20 $MAKE_CMD clean distclean  && /sbin/ldconfig
echo  " ---------Dés-installation de la librairie $I términée  --------- "; tput sgr0
fi

if [ "$action" == "installer" -o "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "e17" -o "$action" == "restaurer" ]
 then
echo -e "$JAUNE" "    ---------Configuration de la librairie $I--------- "

case "$I" in # Configuration spécifique à certaine librairie
  eina ) $CONFIGURE $CONFIGURE_EINA ;;
  eet ) $CONFIGURE $CONFIGURE_EET ;;
  evas ) $CONFIGURE $CONFIGURE_EVAS ;;
  ecore ) $CONFIGURE $CONFIGURE_ECORE ;;
  eio ) $CONFIGURE $CONFIGURE_EIO ;;
  edje ) $CONFIGURE $CONFIGURE_EDJE ;;
  e_dbus) $CONFIGURE $CONFIGURE_E_DBUS ;;
  e ) $CONFIGURE $CONFIGURE_E --with-profile=$E_PC ;;
  * ) $CONFIGURE ;;
esac
   echo  "    ---------Configuration de la librairie $I terminée--------- "; tput sgr0
   echo -e "$ROUGE" "    ---------Compilation de la librairie $I--------- "

  nice -20 $MAKE_CMD check
   nice -20 $MAKE_CMD install && /sbin/ldconfig
rm -f $TEMP_E17/svn_$I
    echo  "    ---------Compilation de la librairie $I términée--------- "; tput sgr0
fi
popd
done
################################## Fin de la compilation des librairies.#################
################################## Début de la compilation des autres librairies .#################
for I in $EXTRA ; do
pushd $SRC_E17/$I

if [ "$action" == "mettre à jour" ]
then
if [ `svn --xml info | grep revision=\" | tail -1 | cut -d\" -f2` -lt `svn --xml info https://svn.enlightenment.org/svn/e/trunk/$I | grep revision=\" | tail -1 | cut -d\" -f2` ]
 then
   echo  "1" >> $TEMP_E17/svn_$I
nice -20 cp -rvp $SRC_E17/$I $TEMP_E17/$I
        $SVN_UP
 echo -e "$BLEU" "-------------------"
            svn st
              svn cleanup
 echo "    -------- up terminer--------- "; tput sgr0
else
          echo -e "$BLEU" "svn $I à jours, rien à compiler"
          echo  "    -------- up terminé----------------" ; tput sgr0
fi
fi
if [ "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "dés-installer" -o "$action" == "restaurer" ] 
then
echo -e "$ORANGE" "    ---------Début de la dés-installation de la librairie $I   --------- "
          nice -20 $MAKE_CMD uninstall
           nice -20 $MAKE_CMD clean distclean  && /sbin/ldconfig
echo  " ---------Dés-installation de la librairie $I términée  --------- "; tput sgr0
fi

if [ "$action" == "installer" -o "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "e17" -o "$action" == "restaurer" ]
 then
echo -e "$JAUNE" "    ---------Configuration de la librairie $I--------- "

 $CONFIGURE

   echo  "    ---------Configuration de la librairie $I terminée--------- "; tput sgr0
   echo -e "$ROUGE" "    ---------Compilation de la librairie $I--------- "

  nice -20 $MAKE_CMD check
   nice -20 $MAKE_CMD install && /sbin/ldconfig
rm -f $TEMP_E17/svn_$I
    echo  "    ---------Compilation de la librairie $I términée--------- "; tput sgr0
fi
popd
done
################################## Fin de la compilation des autres librairies.#################

################################## Début de la compilation des librairies PROTO.#################
for I in $PROTO ; do
pushd $SRC_PROTO/$I

if [ "$action" == "mettre à jour" ]
then
if [ `svn --xml info | grep revision=\" | tail -1 | cut -d\" -f2` -lt `svn --xml info https://svn.enlightenment.org/svn/e/trunk/PROTO/$I | grep revision=\" | tail -1 | cut -d\" -f2` ]
 then
   echo  "1" >> $TEMP_E17/svn_$I
nice -20 cp -rvp $SRC_E17/$I $TEMP_E17/$I
        $SVN_UP
 echo -e "$BLEU" "-------------------"
            svn st
              svn cleanup
 echo "    -------- up terminer--------- "; tput sgr0
else
          echo -e "$BLEU" "svn $I à jours, rien à compiler"
          echo  "    -------- up terminé----------------" ; tput sgr0
fi
fi
if [ "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "dés-installer" -o "$action" == "restaurer" ] 
then
echo -e "$ORANGE" "    ---------Début de la dés-installation de la librairie $I   --------- "
          nice -20 $MAKE_CMD uninstall
           nice -20 $MAKE_CMD clean distclean  && /sbin/ldconfig
echo  " ---------Dés-installation de la librairie $I términée  --------- "; tput sgr0
fi

if [ "$action" == "installer" -o "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "e17" -o "$action" == "restaurer" ]
 then
echo -e "$JAUNE" "    ---------Configuration de la librairie $I--------- "

 $CONFIGURE

   echo  "    ---------Configuration de la librairie $I terminée--------- "; tput sgr0
   echo -e "$ROUGE" "    ---------Compilation de la librairie $I--------- "

  nice -20 $MAKE_CMD check
   nice -20 $MAKE_CMD install && /sbin/ldconfig
rm -f $TEMP_E17/svn_$I
    echo  "    ---------Compilation de la librairie $I términée--------- "; tput sgr0
fi
popd
done
################################## Fin de la compilation des librairies PROTO.#################
################################## Début de la compilation des e_modules.#################
for I in $MODULES ; do
pushd $SRC_MODULES/$I

if [ "$action" == "mettre à jour" ] # Choix de mettre à jour.
then
if [ `svn --xml info | grep revision=\" | tail -1 | cut -d\" -f2` -lt `svn --xml info https://svn.enlightenment.org/svn/e/trunk/E-MODULES-EXTRA/$I | grep revision=\" | tail -1 | cut -d\" -f2` ]
 then
   echo  "1" >> $TEMP_E17/svn_$I
  nice -20 cp -rvp $SRC_MODULES/$I $TEMP_E17/$I
        $SVN_UP
 echo -e "$BLEU" "-------------------"
            svn st
              svn cleanup
 echo "    -------- up terminer--------- "; tput sgr0
else
          echo -e "$BLEU" "svn $I à jours, rien à compiler"
          echo  "    -------- up terminé----------------" ; tput sgr0
 fi
fi

if [ "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "dés-installer" -o "$action" == "restaurer" ] 
then
echo -e "$ORANGE" "    ---------Début de la dés-installation du module $I   --------- "
        nice -20 $MAKE_CMD uninstall
         nice -20 $MAKE_CMD clean distclean && /sbin/ldconfig
echo  " ---------Dés-installation du module $I términée  --------- "; tput sgr0
fi

if [ "$action" == "installer" -o "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "e17" -o "$action" == "restaurer" ]
 then
echo -e "$JAUNE" "    ---------Configuration du module $I--------- "

      $CONFIGURE

   echo  "    ---------Configuration du module $I terminée--------- "; tput sgr0
   echo -e "$ROUGE" "    ---------Compilation du module $I--------- "
  nice -20 $MAKE_CMD check
   nice -20 $MAKE_CMD install && /sbin/ldconfig
rm -f $TEMP_E17/svn_$I
    echo  "    ---------Compilation du module $I terminée--------- "; tput sgr0
fi
popd
done
################################## Fin de la compilation des e_modules.#################
################# Actions entreprises pour la sauvegarde.##############################################
if [ "$action" == "mettre à jour" ]
then
if [ `ls $TEMP_E17` ]
then
nice -20 cp -rvp $U_PATH.e $TEMP_E17
cd /tmp
nice -20 tar -jcf $SAUVEGARDES/$repertoire.tar.bz2 e17
echo -e "$CYAN" "Répertoire sauvegardé dans un fichier archive \"$SAUVEGARDES/$repertoire.tar.bz2\"."; tput sgr0
else
echo -e "$CYAN" "Pas de mise à jour, rien à sauvegarder"; tput sgr0
fi
fi
################################## Fin des actions entreprises pour la sauvegarde.#################
################################## Mise en place du fichier pour la connexion.##########
if [ "$action" == "installer" -o "$action" == "ré-installer" -o -f $TEMP_E17/svn_$I -o "$action" == "e17" -o "$action" == "restaurer" ]
then
if [ -e $X_SESSION/enlightenment.desktop ]
then
 echo -e "$VERT" "enlightenment.desktop présent dans $X_SESSION"
rm -r /usr/share/xsessions/enlightenment.desktop
cp -rvp $E_SESSION/enlightenment.desktop $X_SESSION
echo "enlightenment.desktop remplacé"
else
cp -rvp $E_SESSION/enlightenment.desktop $X_SESSION
echo "enlightenment.desktop remplacé"
echo "e17 est fonctionnel, pour l'exécuter utilisez la combinaison des touches crt+alt+F7 pour revenir à votre gestionnaire d'affichage "
echo "Choisissez enlightenment dans son menu."; tput sgr0
chown -R $UTILISATEUR:$UTILISATEUR $SRC_E17/ $SAUVEGARDES/ $TEMP_E17
find $LOG_PATH -type f -mtime +7 -exec rm -f {} \;
 fi
fi
###################### Fin de la mise en place du fichier pour la connexion.##########
###################### Suppression complète d'e17.#####################################
if [ "$action" == "dés-installer" ]
then
echo -e "$ROUGE" "Vous allez dés-installer complètement e17.
Vous allez supprimer complètement les sources ainsi que le dossier $U_PATH.e de configuration.
Vous allez dés-installer aussi les paquets necessaire à la compilation."
echo -n "Êtes-vous d'"accord" ?"
echo "Taper oui pour les supprimer ou non pour les conserver"; tput sgr0
read accord
if [ "$accord" == "non" ]
then
echo -e "$ROUGE" "Dés-installation d'e17 arrêté"; tput sgr0
exit 0
else
cd $E_PATH/lib
  rm -r $RM_LIB
cd $E_PATH/etc
  rm -r $RM_ETC
cd $E_PATH/include
 rm -r $RM_INC
cd $E_PATH/share
 rm -r $RM_SHARE
cd $U_PATH
rm -r .cache/efreet Bureau
rm -rf /etc/ld.so.conf.d/e17.conf
rm -r $SRC_E17
rm -r $U_PATH.e
case "$V_DEBIAN" in
   sid) apt-get remove --purge $APT ;;
    * ) apt-get remove --purge $APT_STABLE ;;
esac

echo -n -e "$ROUGE" "Voulez-vous supprimer aussi les 'sauvegardes' d'e17 ?
taper oui pour les supprimer ou non pour les conserver: "
read sauvegardes
if [ "$sauvegardes" == "non" ]
then
echo "Sauvegardes d'e17 conservées dans votre dossiers $SAUVEGARDES"; tput sgr0
else
rm -r $SAUVEGARDES
echo -e "$VERT" "e17 est dés-installé, utilisez la combinaison des touches crt+alt+F7 pour revenir à votre gestionnaire d'affichage "
echo "Choisissez votre gestionnaire de fenêtre habituel dans son menu."; tput sgr0
  fi
 fi
fi
################# Fin de la suppression complète d'e17.###################################
exit 0


Dernière édition par pitcat le 29 Mai 2012 23:29, édité 2 fois.

Haut
 Profil  
 
MessagePosté: 26 Mai 2012 21:46 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 27 Mar 2009 17:47
Messages: 1881
Localisation: Bretagne
Hey, enfin une bonne excuse pour tester e17 sur ma machine !
Ce script permet-il d'installer la dernière version d'e17 sur une Squeeze, ou celui-ci a-t-il des dépendances qui ne se trouvent qu'en Sid ?

_________________
Good evening
We are representing the Hubba Dubba tea company of Tibet
Would you like some tea?


À chacun selon ses besoins,
de chacun selon ses capacités.


Haut
 Profil  
 
MessagePosté: 26 Mai 2012 22:04 
Hors ligne
Grand posteur

Inscription: 22 Déc 2006 09:55
Messages: 180
Lu vv222,
en principe c'est bon mais on est jamais sur de rien :mrgreen:

en fait il y a un souci sur stable avec la commande :
Code:
dpkg-architecture

je cherche une solution


Haut
 Profil  
 
MessagePosté: 27 Mai 2012 00:05 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 27 Mar 2009 17:47
Messages: 1881
Localisation: Bretagne
Okay !
Je teste ça demain et je te répète ce que m'en dit ma Squeeze...

_________________
Good evening
We are representing the Hubba Dubba tea company of Tibet
Would you like some tea?


À chacun selon ses besoins,
de chacun selon ses capacités.


Haut
 Profil  
 
MessagePosté: 27 Mai 2012 09:21 
Hors ligne
Grand posteur

Inscription: 22 Déc 2006 09:55
Messages: 180
j'ai trouve une parade pour l'architecture pour stable, je bosse sur les dépendances de stable.


Haut
 Profil  
 
MessagePosté: 28 Mai 2012 21:12 
Hors ligne
Grand posteur

Inscription: 22 Déc 2006 09:55
Messages: 180
Voilà script mis à jour et fonctionnel aussi sur stable


Haut
 Profil  
 
MessagePosté: 28 Mai 2012 22:30 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 27 Mar 2009 17:47
Messages: 1881
Localisation: Bretagne
Hmm…
Ça ne marche pas chez moi :
Code:
legoth@Janus:/$ sudo sh ~/bin/e17.sh

-e  Toutes les variables sont configurées !!

-e  Vous avez choisie un dossier src/e17 inexistant pour l'installation d'e17
-e  Je vais donc créer le dossier /home/legoth/src/e17
-e  Vous avez choisie un dossier /src/e17/e_modules inexistant pour l'installation d'e17
-e  Je vais donc créer le dossier /home/legoth/src/e17/src/e17/e_modules

-e  Les dossiers existent, le script est prêt pour l'installation d'e17 !!
-e  Alias présent
-e  Le fichier /etc/ld.so.conf.d/e17.conf existe
-e  /usr/local/lib présent dans /etc/ld.so.conf.d/e17.conf
[: 300: 0: unexpected operator

/home/legoth/bin/e17.sh: 310: Syntax error: "do" unexpected (expecting "}")

_________________
Good evening
We are representing the Hubba Dubba tea company of Tibet
Would you like some tea?


À chacun selon ses besoins,
de chacun selon ses capacités.


Haut
 Profil  
 
MessagePosté: 28 Mai 2012 22:57 
Hors ligne
Grand posteur

Inscription: 22 Déc 2006 09:55
Messages: 180
copie/colle le début pour voir les variables de conf.
tu peut le lancer avec bash ?
car visiblement sh n'aime pas mon codage
Code:
cd ~/bin/
./e17.sh


Haut
 Profil  
 
MessagePosté: 25 Oct 2012 16:55 
Hors ligne
Nouvel utilisateur

Inscription: 16 Mar 2009 22:16
Messages: 12
bonjour,

J'ai tenté d'utiliser ce script, merci du travail au passage!
J'ai un souci à la compilation de 'evas'.
Voici la sortie de make:
Code:
     ---------Compilation de la librairie evas---------
Making check in src
make[1]: entrant dans le répertoire « /home/<user>/E17/e17_src/evas/src »
Making check in static_deps
make[2]: entrant dans le répertoire « /home/<user>/E17/e17_src/evas/src/static_deps »
Making check in liblinebreak
make[3]: entrant dans le répertoire « /home/<user>/E17/e17_src/evas/src/static_deps/liblinebreak »
  CC     linebreak.lo
  CC     linebreakdata.lo
  CC     linebreakdef.lo
  CC     wordbreak.lo
  CCLD   liblinebreak.la
make[3]: quittant le répertoire « /home/<user>/E17/e17_src/evas/src/static_deps/liblinebreak »
make[3]: entrant dans le répertoire « /home/<user>/E17/e17_src/evas/src/static_deps »
make[3]: Rien à faire pour « check-am ».
make[3]: quittant le répertoire « /home/<user>/E17/e17_src/evas/src/static_deps »
make[2]: quittant le répertoire « /home/<user>/E17/e17_src/evas/src/static_deps »
Making check in lib
make[2]: entrant dans le répertoire « /home/<user>/E17/e17_src/evas/src/lib »
Making check in canvas
make[3]: entrant dans le répertoire « /home/<user>/E17/e17_src/evas/src/lib/canvas »
  CC     common_interfaces.lo
  CC     evas_callbacks.lo
In file included from ../../../src/lib/Evas.h:325:0,
                 from ../../../src/lib/include/evas_common.h:68,
                 from evas_callbacks.c:1:
/usr/include/eo/Eo.h:30:49: fatal error: stdexcept: No such file or directory
compilation terminated.
In file included from ../../../src/lib/Evas.h:325:0,
                 from ../../../src/lib/include/evas_common.h:68,
                 from common_interfaces.c:1:
/usr/include/eo/Eo.h:30:49: fatal error: stdexcept: No such file or directory
compilation terminated.
make[3]: *** [evas_callbacks.lo] Erreur 1
make[3]: *** Attente des tâches non terminées....
make[3]: *** [common_interfaces.lo] Erreur 1
make[3]: quittant le répertoire « /home/<user>/E17/e17_src/evas/src/lib/canvas »
make[2]: *** [check-recursive] Erreur 1
make[2]: quittant le répertoire « /home/<user>/E17/e17_src/evas/src/lib »
make[1]: *** [check-recursive] Erreur 1
make[1]: quittant le répertoire « /home/<user>/E17/e17_src/evas/src »
make: *** [check-recursive] Erreur 1

Eo.h est un lien symbolique de EO.h, ça peut y être pour quelque chose?
Je suis preneur d'une piste de dépannage, si quelqu'un avait une idée...

Merci.


Haut
 Profil  
 
MessagePosté: 25 Oct 2012 21:55 
Hors ligne
Grand posteur

Inscription: 22 Déc 2006 09:55
Messages: 180
lu
il te faut la lib trunk/PROTO/eobj qu'il faut compiler après eina et avant le reste
http://trac.enlightenment.org/e/browser ... PROTO/eobj
je dois mettre à jour mon script pour cela


Haut
 Profil  
 
MessagePosté: 27 Oct 2012 09:47 
Hors ligne
Nouvel utilisateur

Inscription: 16 Mar 2009 22:16
Messages: 12
merci, je teste ça!


-------
edit:

Bon, ça a l'air de marcher. Je fais part de ma bidouille, en attendant tes modifs:

dans la section "variables d'e17", on a
Code:
PROTO="" # voir ici http://trac.enlightenment.org/e/browser/trunk/PROTO

J'ai rajouté "eobj".
Puis j'ai remonté la section
Code:
################################## Début de la compilation des librairies PROTO.#################
...
...
################################## Fin de la compilation des librairies PROTO.#################


juste au dessus de
Code:
################################## Début de la compilation des librairies .#################


Comme ça les PROTO sont compilées avant. Ça marche pour eobj, mais peut-être que pour d'autres librairies PROTO il faut qu'elles soient compilées en dernier, auquel cas ma modif ne sera pas pérenne...


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 11 messages ] 

Index du forum » Forums d'aide » Trucs et Astuces


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Flux RSS Flux RSS Liste des flux Liste des flux
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
SEO
[ Time : 0.080s | 14 Queries | GZIP : Off ]