66 lines
2.1 KiB
Bash
66 lines
2.1 KiB
Bash
# -*- 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
|
|
}
|