Bonjour tous,
je vous présente un script pour l’installation d’e17 via le svn.
Ce script vous permet :
[ul]
[li]D’installer pour la première fois e17 à partir du svn du projet. [/li]
[li]De mettre à jour e17 (seulement s’il y a une mise à jour de la librairie sur le svn)[/li]
[li]De re-installer e17 (dés-installation et re-installation) [/li]
[li]Dés-installer définitivement e17 [/li]
[li]Installer e17 (sans dés-installation préalable) [/li]
[li] Restaurer e17 depuis la dernière sauvegarde. [/li][/ul]
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 :
Ensuite le script crée un alias dans /root/.bashrc pour le lancer via la commande :
Enregistrez le script sous le nom e17.sh ensuite rendez-le executable :
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).[/code]
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[/code]