3.1.3 : Le script de mise à jour

Comme toujours, on indique l'interpreteur de ce script :
1
#/bin/bash


Cette commande permet de dire à bash de quitter si il y a un problème avec l'exécution d'une seule commande (cela permet d'éviter les conditions du script install.sh) :
1
set -e


Testons le nombre de CPU dont nous disposons (et aussi sur OSX) :
1
2
3
4
5
if [[ "${OSTYPE}" == "darwin"* ]]; then
	export nbproc=`sysctl -n hw.physicalcpu`
else
	export nbproc=`nproc`	
fi


Petite mise à jour automatique du prefix d'installation si il n'est pas spécifier par l'utilisateur. Si le script détecte qu'il est dans un environnement anaconda il met à jour le prefix d'installation pour être cohérent avec l'environnement utilisé :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
INSTALL_PREFIX="$1"

if [ -z "$1" ]
then
	if [ -z ${CONDA_ENV_PATH} ]
	then
		if [ -z ${CONDA_PREFIX} ]
		then
			INSTALL_PREFIX="${HOME}/usr"
		else
			INSTALL_PREFIX=${CONDA_PREFIX}
		fi
	else
		INSTALL_PREFIX=${CONDA_ENV_PATH}
	fi
fi


Mise à jour du repository git :
1
git pull


On efface le dossier build si il existe :
1
2
3
4
if [ -d build ]
then
	rm -fr build
fi


On créé le dossier build et on entre dedans :
1
2
mkdir -p build
cd build


Enfin, on compile et on installe le tout :
1
2
3
cmake .. -DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" -DPHOENIX_FORCE_PULL_MODULE=yes
make -j ${nbproc}
make install -j ${nbproc}


Le fichier update.sh complet :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#/bin/bash
set -e
if [[ "${OSTYPE}" == "darwin"* ]]; then
	export nbproc=`sysctl -n hw.physicalcpu`
else
	export nbproc=`nproc`	
fi
INSTALL_PREFIX="$1"

if [ -z "$1" ]
then
	if [ -z ${CONDA_ENV_PATH} ]
	then
		if [ -z ${CONDA_PREFIX} ]
		then
			INSTALL_PREFIX="${HOME}/usr"
		else
			INSTALL_PREFIX=${CONDA_PREFIX}
		fi
	else
		INSTALL_PREFIX=${CONDA_ENV_PATH}
	fi
fi
git pull
if [ -d build ]
then
	rm -fr build
fi
mkdir -p build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" -DPHOENIX_FORCE_PULL_MODULE=yes
make -j ${nbproc}
make install -j ${nbproc}


Lien de téléchargement ici.