| [ Index ] |
PHP Cross Reference of GASELL SVN Trunk |
[Summary view] [Print] [Text view]
1 #! /bin/bash 2 3 # Ce script permet de recuperer les differentes librairies 4 # externes sur lesquelles GASELL se base 5 # Il s'occuppe egalement de les installer dans le repertoire 6 # external de l'application 7 8 9 # Fonction permettant de preparer le repertoire 10 # qui va accueillir les fichiers 11 function prepare_target { 12 # on recupere les arguments 13 target=$1 14 15 # on regarde si qqchose d'equivalent n'existerait pas deja 16 if [ -d $target} ]; then 17 echo "$target} existe deja !" 18 echo "Voulez-vous : " 19 echo "1- Supprimer le repertoire et continuer" 20 echo "2- Conserver la version presente" 21 echo -n "Votre choix : " 22 read rep 23 24 # Que faire ? 25 case $rep in 26 1) 27 echo "Suppression du repertoire...$target}" 28 echo "Etes-vous sur ? (N/o) " 29 read yesno 30 if [ $yesno == 'O' ]; then 31 rm -Rf $target} 32 echo "$target} supprime !" 33 # et un nouveau tout propre 34 mkdir $target} 35 force_install=1 36 else 37 echo "$target} conserve !" 38 fi 39 ;; 40 2) 41 echo "Utilisation de $target} ..." 42 force_install=1 43 ;; 44 *) 45 echo "Dependance suivante ..." 46 force_install=0 47 ;; 48 esac 49 else 50 echo "Creation de $target}..." 51 mkdir $target} 52 force_install=1 53 fi 54 55 return $force_install 56 } 57 58 59 60 # on recupere le path du depot Gasell 61 if [ $(dirname $0) != '.' ]; then 62 GASELL_REPOS=$(pwd)/$(dirname $0) 63 else 64 GASELL_REPOS=$(pwd) 65 fi 66 67 # maintenant on recherche le repertoire external dans ce depot 68 GASELL_EXTERNAL=$(find $GASELL_REPOS} -type d -name "external" | head -n 1) 69 EXT_TMP="$GASELL_EXTERNAL}/tmp" 70 71 # Est-ce que le repertoire temporaire existe ? 72 if [ ! -d $EXT_TMP} ]; then 73 mkdir $EXT_TMP} 74 fi 75 76 # maintenant on recupere la liste des differentes dependances 77 # dont GASELL peut avoir besoin pour fonctionner 78 for p in $(cat $GASELL_REPOS/DEPENDS | grep -v \#); do 79 dep_name=$(echo $p | cut -d'|' -f 1) 80 dep_url=$(echo $p | cut -d'|' -f 2) 81 dep_dir=$(echo $p | cut -d'|' -f 3) 82 dep_dest=$GASELL_EXTERNAL}/$dep_dir} 83 dep_file=$(basename $dep_url}) 84 dep_tmp=$EXT_TMP}/$dep_file} 85 dep_ext=$(echo $dep_file} | sed 's/^.*\.\(tar\.\|t\)\([a-z]*\)$/\2/') 86 87 # Presentation de la dependance 88 echo "====== Dependance $dep_name} ======" 89 echo "De : $dep_url}" 90 echo "Vers : $dep_dest}" 91 echo "" 92 93 # Preparation de la destination 94 prepare_target $dep_dest 95 96 # Continue-t-on l'installation ? 97 if [ $? == 1 ]; then 98 if [ -f $dep_tmp} ]; then 99 echo "$dep_tmp} existe deja" 100 echo "Inutile de le telecharger de nouveau" 101 else 102 # on telecharge le fichier dans le repertoire external 103 echo "Recuperation de $dep_name} dans $EXT_TMP}" 104 (cd $EXT_TMP}; wget -t 3 -o /dev/null $dep_url}) 105 fi 106 107 # on l'extrait 108 echo "Extraction de $dep_name}" 109 110 # choix de la compression 111 case $dep_ext} in 112 'bz') 113 tar --strip-components 1 -jxf $dep_tmp} -C $dep_dest} 114 ;; 115 *) 116 tar --strip-components 1 -zxf $dep_tmp} -C $dep_dest} 117 ;; 118 esac 119 120 # Tout devrait etre ok 121 echo "$dep_name} installee !" 122 123 else 124 echo "Installation de $dep_name} annulee !" 125 fi 126 done
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Tue Jan 6 01:17:25 2009 | Cross-referenced by PHPXref 0.7 |