8.9 KiB
8.9 KiB
ulib/runs
runs_initdir
Initialiser le répertoire d'hôte. $1 est un nom d'hôte pleinement
qualifié, et les fichiers sont créés dans le premier répertoire de
RUNSHOSTSDIRS qui convient: si un fichier .udir existe avec un tableau
runs_domains qui contient le domaine de l'hôte spécifié, alors c'est ce
répertoire qui est sélectionné. Sinon, on prend le premier répertoire de
RUNSHOSTSDIRS.
$2 spécifie si le fichier doit être créé avec de l'aide (yes) ou avec le
script minimum (no)
$3 est le contenu à placer dans le fichier sysinfos.conf, s'il n'a pas
déjà été provisionné.
Il faut lancer __runs_setpath avant d'utiliser cette fonction et
RUNSHOSTDIRS ne doit pas être vide
runs_create_rscript
Créer un modèle de script. Si $2 est spécifié, c'est un nom d'hôte
pleinement qualifié. Le répertoire d'hôte correspondant *doit* exister.
$3 spécifie si le fichier doit être créé avec de l'aide (yes) ou avec le
script minimum (no)
Si $2!="", il faut lancer __runs_setpath avant d'utiliser cette fonction
et RUNSHOSTDIRS ne doit pas être vide
Le chemin du nouveau script est ajouté au tableau new_rscripts
runs_unsupported_system
Afficher un message d'erreur indiquant que le système actuel n'est pas
supporté, et quitter le script
runs_require_sysinfos
Vérifier le système actuel avec check_sysinfos(), et afficher un message
d'erreur avec runs_unsupported_system() s'il ne correspond pas à la
requête
runs_find_host
runs_add_domain
Si $1 est nom d'hôte pleinement qualifié, retourner cette valeur
Sinon, lui rajouter le domaine RUNSDOMAIN
runs_find_hostfile
Trouver et afficher le fichier d'hôte $1 dans les répertoires du tableau
$3(=RUNSHOSTSDIRS), pour l'hôte $2(=$RUNSHOST). Retourner 0 en cas de
succès, 1 en cas d'échec.
Si host=$2 est une valeur non vide, la recherche est effectuée dans
{$RUNSHOSTSDIRS}/$host et {$RUNSHOSTSDIRS}/$domain/$hostname. Sinon,
retourner 1, car il faut spécifier un nom d'hôte.
runs_find_datafile
Trouver et afficher le fichier de données $1 dans le répertoire $3 s'il
est non vide puis dans les répertoires des tableaux $4(=RUNSSCRIPTSDIRS),
$5(=RUNSMODULESDIRS) et $6(=RUNSHOSTSDIRS), pour l'hôte
$2(=$RUNSHOST). Retourner 0 en cas de succès, 1 en cas d'échec.
- D'abord, si $1 *n'est pas* de la forme "./path" ou "../path", chercher
dans $3.
- Puis si l'hôte est spécifié, chercher dans {$RUNSHOSTSDIRS}/$host et
{$RUNSHOSTSDIRS}/$domain/$hostname.
- Puis chercher dans {$RUNSSCRIPTSDIRS} puis {$RUNSMODULESDIRS}.
- Puis, si $1 est de la forme "./path" ou "../path", chercher dans $3.
- Sinon, retourner 1
runs_initvars
Initialiser les variables RUNSDIR, RUNSSCRIPT, RUNSDIRPATH,
RUNSSCRIPTPATH, RUNSSCRIPTDIR et RUNSSCRIPTNAME pour le script $1.
Les valeurs sont initialisées comme suit:
RUNSSCRIPT="$(abspath "$1")"
RUNSDIR="$2" (le répertoire de $RUNS*PATH dans lequel a été trouvé le
script)
Si $3!="", RUNSDIRPATH="$3" et RUNSSCRIPTPATH="$4"
Sinon, RUNSDIRPATH="$RUNSSCRIPTDIR" et RUNSSCRIPTPATH="$RUNSSCRIPTNAME"
runs_find_scriptfile
Trouver sans l'afficher le script $1 dans les répertoires des tableaux
$3(=RUNSSCRIPTSDIRS), $4(=RUNSMODULESDIRS) et $5(=RUNSHOSTSDIRS), en
considérant que le script sera lancé sur l'hôte $2(=$RUNSHOST), et
initialiser les variables RUNSDIR, RUNSSCRIPT, RUNSSCRIPTDIR,
RUNSSCRIPTNAME, RUNSDIRPATH et RUNSSCRIPTPATH. Retourner 0 en cas de
succès, 1 en cas d'échec.
$6 vaut ".rs" par défaut est c'est une extension à rajouter au nom
spécifié si le fichier sans l'extension n'existe pas
RUNSDIR est le répertoire dans lequel a été trouvé le script (parmi les
valeurs fournies dans les tableaux RUNSSCRIPTSDIRS, RUNSMODULESDIRS,
RUNSHOSTSDIRS), RUNSDIRPATH est le répertoire à partir duquel est exprimé
le chemin du script (i.e RUNSDIRPATH + RUNSSCRIPTPATH == RUNSSCRIPT),
RUNSSCRIPT contient le chemin absolu vers le script, RUNSSCRIPTPATH
contient le chemin du script dans RUNSDIRPATH, RUNSSCRIPTDIR le répertoire
du script, et RUNSSCRIPTNAME le nom du script.
D'abord, si l'hôte est spécifié, chercher dans {$RUNSHOSTSDIRS}/$host et
{$RUNSHOSTSDIRS}/$domain/$hostname. Puis chercher dans {$RUNSSCRIPTSDIRS}
runs_find_scriptfile_reverse
Soit le fichier de script $1, exprimée de façon absolue, trouver le
fichier parmi les tableaux $3(=RUNSSCRIPTSDIRS), $4(=RUNSMODULESDIRS)
et $5(=RUNSHOSTSDIRS), en considérant que le script sera lancé sur l'hôte
$2(=$RUNSHOST), puis initialiser les variables RUNSDIR, RUNSSCRIPT,
RUNSSCRIPTDIR, RUNSSCRIPTNAME, RUNSDIRPATH et RUNSSCRIPTPATH. Retourner 0
en cas de succès, 1 en cas d'échec.
runs_rscript
Lancer le fichier $1 comme un script avec les arguments $2..$*. Retourner
la valeur de retour du script.
runs_recipe
Lancer les scripts de la recette contenue dans le fichier $1. Arrêter au
premier script qui est en erreur
runs_rscriptpath
Lancer le script $1 avec les arguments $2..$*. Le script est cherché dans
les répertoires de RUNSSCRIPTSPATH. Retourner 123 si le script n'est pas
trouvé, sinon retourner la valeur de retour du script.
runs_recipepath
Lancer la recette $1. Le fichier de recette est cherché dans les
répertoires de RUNSSCRIPTSPATH. Retourner 123 si le fichier de recette n'a
pas été trouvé, sinon retourner la valeur de retour de runs_recipe()
runs_before_parse_args
runs_after_parse_args
runs_init
runs_initdomains
Si ce n'est pas déjà le cas, initialiser RUNSDOMAINS en fonction de
/etc/resolv.conf
runs_inithost
runs_initsysinfos
runs_initworkdir
runs_after_export
après l'export, initialiser varsfile avec les valeurs qu'il faut garder
entre le déploiement local et le déploiement distant.
runs_check_runsscript
runs_var
Initialiser les variables selon les directives données en ligne de
commande.
Les arguments peuvent être une suite de définitions de la forme
'scalar=value', 'scalar!=name', 'array+=value', 'array-=value' ou
'array@=name'.
Sinon, le *dernier* argument peut-être de l'une des formes suivantes:
'array value0 [value1...]' pour initialiser un tableau,
'array+ value0 [value1...]' pour ajouter des valeurs à un tableau,
'array- value0 [value1...]' pour enlever des valeurs à un tableau.
Les formes 'scalar!=value' et 'array@=value' sont des indirections et
permettent d'initialiser la variable avec la valeur d'une autre
variable. L'avantage est que la résolution de la valeur est faite
uniquement lors de l'appel de cette fonction, ce qui est utile avec des
fonction comme 'after -r'
runs_conf
Activer les flags $*
runs_indref
fonction de convenance pour créer des références $3..* avec le fichier de
configuration $1 et les variables $2
runs_refcerts
fonction de convenance pour créer une référence à un répertoire contenant
des certificats mentionnés dans le fichier de configuration $1. Si les
références $2..* ne sont pas mentionnées, la variable certsdir dans le
fichier de configuration est utilisée.
runs_refapacheconfig
fonction de convenance pour créer les références à un répertoire de
configuration pour apache.
USAGE: refapacheconfig autoconfdir=path/to/autoconfdir [certsdir=[path/to/certsdir]]
- autoconfdir= est requis et permet de définir à la fois la variable qui
contiendra la référence ainsi que le répertoire à référencer.
- certsdir= est optionel. Si cet argument est spécifié sous la forme
certsdir=path/to/certsdir, il permet de définir à la fois la variable qui
contiendra la référence ainsi que le répertoire à référencer. Si
l'argument est spécifié sous la forme certsdir=, il permet de définir la
variable qui contiendra la référence. C'est cette variable qui sera lue
dans les fichiers de configuration. Si l'argument n'est pas spécifié, on
considère que l'argument 'certsdir=' a été utilisé.
runs_set_lang
Charger la valeur de LANG depuis l'environnement. La variable LANG est
initialisée
runs_set_proxy
Charger la valeur du proxy depuis l'environnement. Les variables
http_proxy, ftp_proxy et no_proxy sont initialisées
runs_check_confs
Vérifier l'état courant par rapport aux flags
runs_after
Vérifier que ce script est lancé après le scriptpath $1, par rapport à
RUNSSTORY
runs_clvars
Traiter les spécifications de variables données en ligne de commande ou
dans un fichier de recettes
runs_indvars
Résoudre les valeurs effectives des variables qui sont des indirections
runs_clvars_cmd
écrire la ligne de recette correspondant au script $1 et aux variables
$2..$*
runs_loadconfs
runs_clearvars
runs_action_desc
runs_action_dump
runs_action_run
runs_action_export
shouldrun
checkdone
requiredone
setdone
resetdone
-- coding: utf-8 mode: markdown -- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary