# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8

# Mettre en place l'environnement pour l'utilisation des fonctions de utools. La
# fonction utools_source_functions() est définie.

# répertoire de base des outils utools
UTOOLS_BASEDIR="@@dest@@/legacy"

# 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; }

# Vérifier que UTOOLS_BASEDIR a été mis à jour (cas d'une distribution qui a été
# déployée)
if [ "$UTOOLS_BASEDIR" = "@@"destdir"@@" ]; then
    die "Ce script a été construit avec un répertoire de utools non deployé."
fi

# 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
    while [ -n "$1" ]; do
        if [ -f "$UTOOLS_BASEDIR/lib/${1}_functions.sh" ]; then
            source "$UTOOLS_BASEDIR/lib/${1}_functions.sh" || die
        else
            source "$UTOOLS_BASEDIR/$1" || die
        fi
        shift
    done
}
