diff --git a/CRANS_SCRIPTS_ROOT b/CRANS_SCRIPTS_ROOT new file mode 100644 index 00000000..dd9745e1 --- /dev/null +++ b/CRANS_SCRIPTS_ROOT @@ -0,0 +1,5 @@ +Ce fichier indique la racine du dépôt /usr/scripts. Paradoxalement, ce fichier +est inutile en production, mais utilisé en test, lorsque le dépôt est cloné +ailleurs que dans le dossier /usr/scripts. Il permet alors au script bash +python.sh de retrouver la racine du dépôt pour correctement configurer +la variable PYTHONPATH. diff --git a/python.sh b/python.sh index 0d7a5144..73070854 100644 --- a/python.sh +++ b/python.sh @@ -2,9 +2,21 @@ #!/bin/bash /usr/scripts/python.sh #Ceci permet alors de lancer python avec un PYTHONPATH custom (/usr/scripts) #pour éviter de l'importer dans chaque script -PYTHONPATH=/usr/scripts -for i in /usr/scripts/lib/python2.7/site-packages/*.egg; do - PYTHONPATH=$PYTHONPATH:$i +CPATH=/usr/scripts +readlink -e $1 | grep "^/usr/scripts/" -q || { + f=`readlink -e $1` + p=`dirname "$f"` + while [ "$p" != "/" ]; do + if [ -f "$p/CRANS_SCRIPTS_ROOT" ]; then + CPATH=$p + break + fi + p=`dirname "$p"` + done; + echo "Dépôt custom. PYTHONPATH: $CPATH" +} +for i in $CPATH/lib/python2.7/site-packages/*.egg; do + CPATH=$CPATH:$i done -PYTHONPATH=$PYTHONPATH:/usr/scripts/lib/python2.7/site-packages/ -/usr/bin/env PYTHONPATH=$PYTHONPATH python "$@" +CPATH=$CPATH:/usr/scripts/lib/python2.7/site-packages/ +/usr/bin/env PYTHONPATH=$CPATH python "$@"