1 | #!/bin/bash |
---|
2 | |
---|
3 | compil_mode="prod" |
---|
4 | svnbranch="/trunk" |
---|
5 | doc="F" |
---|
6 | extdir="." |
---|
7 | interactive="false" |
---|
8 | |
---|
9 | echo -e "Installation de la bibliothÚque xmlioserver ... " |
---|
10 | |
---|
11 | # Traitement de la ligne de commande |
---|
12 | while (($# > 0)) |
---|
13 | do |
---|
14 | case $1 in |
---|
15 | "-h") |
---|
16 | # A modifier |
---|
17 | exit;; |
---|
18 | "--interactive") interactive="true" ; has_interactive=true; shift ;; |
---|
19 | "--rev") svnrev=$2 ; has_rev=true; shift; shift ;; |
---|
20 | "--user") svnuser=$2 ; has_user=true; shift; shift ;; |
---|
21 | "--branch") svnbranch=$2 ; has_branch=true; shift; shift ;; |
---|
22 | "--prod") compil_mode="prod" ; has_compil_mode=true; shift ;; |
---|
23 | "--dev") compil_mode="dev" ; has_compil_mode=true; shift ;; |
---|
24 | "--debug") compil_mode="debug" ; has_compil_mode=true; shift ;; |
---|
25 | "--arch") arch=$2 ; has_arch=true; shift; shift ;; |
---|
26 | "--doc") withdoc="Y" ; has_doc=true; shift ;; |
---|
27 | *) extdir="$1" ; has_extdir=true; shift ;; |
---|
28 | esac |
---|
29 | done |
---|
30 | |
---|
31 | # Récupération du répertoire local d'installation |
---|
32 | if [[ $interactive=="true" && -z $extdir ]] |
---|
33 | read -p "Entrez le répertoire d'extraction de la bibliothÚque : "$PWD"/" extdir |
---|
34 | fi |
---|
35 | install_dir=$PWD/$extdir |
---|
36 | mkdir --parents $install_dir |
---|
37 | |
---|
38 | # Documentation de la distribution |
---|
39 | if [[ $interactive=="true" && -z $has_doc ]] |
---|
40 | read -p "Souhaitez-vous extraire la documentation ? [Y/N]: " withdoc |
---|
41 | fi |
---|
42 | |
---|
43 | # Architecture de compilation |
---|
44 | if [[ $interactive=="true" && -z $has_arch ]] |
---|
45 | echo -e "\r\nLe serveur d'Entrée/Sortie peut-être installée sur diverses machine parmis lesquels : " |
---|
46 | echo -e "\tIA64_PLATINE => Configuration pour la machine de calcul Platine du CCRT !" |
---|
47 | echo -e "\tX86_LOCGNU_FEDORA => Configuration locale pour le compilateur GNU sous fedora !" |
---|
48 | echo -e "\tX86_LOCINTEL_FEDORA => Configuration locale pour le compilateur intel sous fedora !\r\n" |
---|
49 | |
---|
50 | read -p "Sur quelle architecture travaillez-vous ? (aucune par défaut): " arch |
---|
51 | fi |
---|
52 | |
---|
53 | case $arch in |
---|
54 | IA64_PLATINE) |
---|
55 | echo "=> Configuration pour la machine de calcul Platine du CCRT !" ;; |
---|
56 | X86_LOCGNU_FEDORA) |
---|
57 | echo "=> Configuration locale pour le compilateur GNU sous fedora !" ;; |
---|
58 | X86_LOCINTEL_FEDORA) |
---|
59 | echo "=> Configuration locale pour le compilateur intel sous fedora !" ;; |
---|
60 | *) |
---|
61 | echo "=> Aucune configuration d'installation !" |
---|
62 | arch= |
---|
63 | esac |
---|
64 | |
---|
65 | # Récupération du login de connexion svn |
---|
66 | if [[ $interactive=="true" && -z $has_user ]] |
---|
67 | echo -e -n "Veuillez à présent indiquer votre identifiant de connexion au serveur svn" |
---|
68 | read -p " forge.ipsl.jussieu.fr (Ne rien écrire si anonyme) : " svnuser |
---|
69 | fi |
---|
70 | |
---|
71 | # Récupération de la branche svn de travail |
---|
72 | if [[ $interactive=="true" && -z $has_branch ]] |
---|
73 | read -p "Quelle branche souhaitez-vous extraire ? (/trunk par défaut): " svnbranch |
---|
74 | fi |
---|
75 | |
---|
76 | if [[ -z $svnbranch ]] |
---|
77 | then |
---|
78 | svnbranch="/trunk" |
---|
79 | fi |
---|
80 | |
---|
81 | if [[ -z $svnuser ]] |
---|
82 | then |
---|
83 | connect="http://forge.ipsl.jussieu.fr/ioserver/svn/XMLIO_V2"$svnbranch |
---|
84 | else |
---|
85 | connect="svn+ssh://"$svnuser"@forge.ipsl.jussieu.fr/ipsl/forge/projets/ioserver/svn/XMLIO_V2"$svnbranch |
---|
86 | fi |
---|
87 | |
---|
88 | # Extraction de la distribution |
---|
89 | echo -e "=> Connexion au serveur svn via \""$connect"\"..." |
---|
90 | |
---|
91 | |
---|
92 | if [[ $withdoc==Y* ]] |
---|
93 | then |
---|
94 | svn -q co $connect/doc $install_dir/doc |
---|
95 | installopt=$installopt" --doc" |
---|
96 | fi |
---|
97 | |
---|
98 | svn -q co $connect/src $install_dir/src |
---|
99 | svn -q co $connect/arch $install_dir/arch |
---|
100 | svn -q co $connect/tools $install_dir/tools |
---|
101 | svn -q co $connect/extern $install_dir/extern |
---|
102 | |
---|
103 | cp $install_dir/tools/bld.cfg $install_dir/bld.cfg |
---|
104 | cp $install_dir/tools/Doxyfile $install_dir/Doxyfile |
---|
105 | |
---|
106 | cp $install_dir/tools/make_xios $install_dir/make_xios |
---|
107 | |
---|
108 | echo -e "- Décompression des archives ..." |
---|
109 | cd $install_dir |
---|
110 | for tarname in $install_dir/tools/archive/*.tar.gz; do |
---|
111 | tar -xzf "$tarname" |
---|
112 | done |
---|
113 | |
---|
114 | if [[ !(-z $arch) && -f $install_dir/make_xios ]] |
---|
115 | then |
---|
116 | echo -e "Exécution du script d'installation local pour l'architecture \""$arch"\" ..." |
---|
117 | installopt=$installopt" --"$compil_mode" --arch "$arch |
---|
118 | cd $install_dir && ./make_xios $installopt |
---|
119 | fi |
---|
120 | |
---|
121 | |
---|