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.