# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 # requiere l'utilisation de bash pour lancer ce script use_bash=1 if [ -n "$BASH" ]; then if [ `basename "$BASH"` != sh ]; then use_bash= fi fi if [ -n "$use_bash" ]; then default_bash="`which bash 2>/dev/null`" for bash in "$default_bash" /bin/bash /usr/bin/bash /usr/local/bin/bash; do if [ -x "$bash" ]; then exec "$bash" "$0" "$@" fi done echo "error: Ce script necessite bash" exit 1 fi unset use_bash # Mettre en place l'environnement pour l'utilisation des fonctions de # utools. # répertoire de base des outils utools. UTOOLS_BASEDIR="$(cd "$(dirname "$0")"; pwd)" # lance-t-on ce script en mode développement? testing="@@dest@@" if [ "$testing" == "@@"dest"@@" ]; then export PYTHONPATH="$UTOOLS_BASEDIR/pyutools:$UTOOLS_BASEDIR/pyutools_old:${PYTHONPATH:+:$PYTHONPATH}" export UPDATEINCPATH="$UTOOLS_BASEDIR${UPDATEINCPATH:+:$UPDATEINCPATH}" fi # fonction die(). peut être remplacée par la version de sysinc/base si ce # fichier est inclus. function die() { test -n "$*" && echo "error: $@"; exit 1; } # définir la fonction source_functions() pour charger les fonctions de utools à # partir du bon répertoire UTOOLS_FUNCTIONS="base system_caps functions" function utools_source_functions() { # sourcer un fichier de utools. le mot spécial ALL en première position # signifie tous les fichiers de $UTOOLS_FUNCTIONS, pris dans sysinc/ if [ "$1" = "ALL" ]; then local file for file in $UTOOLS_FUNCTIONS; do source "$UTOOLS_BASEDIR/sysinc/$file" || die done shift fi local script="$(cd "$(dirname "$0")"; pwd)/$(basename "$0")" while [ -n "$1" ]; do if [ -f "$UTOOLS_BASEDIR/lib/${1}_functions.sh" ]; then source "$UTOOLS_BASEDIR/lib/${1}_functions.sh" || die else if [ "$script" == "$UTOOLS_BASEDIR/$1" ]; then die "Inclusion recursive de $1" else source "$UTOOLS_BASEDIR/$1" || die fi fi shift done }