This commit is contained in:
Jephté Clain 2017-09-14 08:28:40 +04:00
parent f4725018aa
commit 72e0c369c3
1 changed files with 9 additions and 2 deletions

View File

@ -1,6 +1,7 @@
##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 ##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
## Gestion de fichiers de configuration et de répertoires de configuration ## Gestion de fichiers de configuration et de répertoires de configuration
##@cooked nocomments ##@cooked nocomments
uprovide multiconf
function conf_local() { function conf_local() {
# afficher les commandes pour définir comme locales les variables utilisées # afficher les commandes pour définir comme locales les variables utilisées
@ -10,7 +11,6 @@ function conf_local() {
function conf_auto() { function conf_auto() {
# charger la configuration pour l'outil $1 avec les variables $2..@ # charger la configuration pour l'outil $1 avec les variables $2..@
# conf_init n'est appelé que si des variables sont spécifiées, ce qui permet # conf_init n'est appelé que si des variables sont spécifiées, ce qui permet
# d'appeler conf_init au préalable si une configuration spécifique doit être # d'appeler conf_init au préalable si une configuration spécifique doit être
# faite. # faite.
@ -23,6 +23,13 @@ function conf_auto() {
# conf_init VARS... # conf_init VARS...
# conf_resolve __CONF_FILES ~/etc/default/NAME.conf ~/etc/NAME.d/*.conf # conf_resolve __CONF_FILES ~/etc/default/NAME.conf ~/etc/NAME.d/*.conf
# conf_load "${__CONF_FILES[@]}" # conf_load "${__CONF_FILES[@]}"
# Pour supporter les scénarii où les fichiers de configuration sont ailleurs
# que dans ~/etc/default, l'argument NAME peut être un chemin:
# conf_auto PATH/TO/NAME VARS...
# est équivalent à:
# conf_init VARS...
# conf_resolve __CONF_FILES PATH/TO/NAME.conf PATH/TO/NAME.d/*.conf
# conf_load "${__CONF_FILES[@]}"
local __name="$1"; shift local __name="$1"; shift
[ -n "$__name" ] || return 1 [ -n "$__name" ] || return 1
@ -40,7 +47,7 @@ function conf_init() {
# dans l'exemple suivant: # dans l'exemple suivant:
# conf_init NAME VALUE -a SRCDIRS DESTDIRS # conf_init NAME VALUE -a SRCDIRS DESTDIRS
# NAME et VALUE sont scalaires alors que SRCDIRS et DESTDIRS sont tableaux # NAME et VALUE sont scalaires alors que SRCDIRS et DESTDIRS sont tableaux
# Les variables sont initialisées à zéro ou à la valeur spécifiée, e.g # Les variables sont initialisées à la valeur vide ou à la valeur spécifiée:
# conf_init VAR=value # conf_init VAR=value
# L'option -s permet de revenir au mode scalaire # L'option -s permet de revenir au mode scalaire
__CONF_ARRAY_VARS=() __CONF_ARRAY_VARS=()