support des variables dans les templates
This commit is contained in:
parent
04b92d148f
commit
acc03d0b06
191
apacheconfig
191
apacheconfig
|
@ -29,6 +29,15 @@ répertoire de référence appelé répertoire local, avant son déploiement.
|
||||||
-g, --diff
|
-g, --diff
|
||||||
Afficher les différences entre les templates et les fichiers du
|
Afficher les différences entre les templates et les fichiers du
|
||||||
répertoire local.
|
répertoire local.
|
||||||
|
--list-vars
|
||||||
|
Afficher la valeur par défaut des variables prédéfinies
|
||||||
|
--write-vars
|
||||||
|
Forcer l'écriture des valeurs actuelles des variables dans le fichier
|
||||||
|
.apacheconfig, ce qui permet d'éviter de les spécifier à chaque fois
|
||||||
|
avec l'option -v
|
||||||
|
-v, --var NAME=VALUE
|
||||||
|
Spécifier la valeur d'une variable. Il est possible de spécifier des
|
||||||
|
valeurs qui ne sont pas dans la liste prédéfinie.
|
||||||
|
|
||||||
Le répertoire local peut contenir les fichiers et répertoires suivants, qui sont
|
Le répertoire local peut contenir les fichiers et répertoires suivants, qui sont
|
||||||
tous optionnels:
|
tous optionnels:
|
||||||
|
@ -68,7 +77,7 @@ tous optionnels:
|
||||||
Les options suivantes permettent de déployer les fichiers du répertoire local.
|
Les options suivantes permettent de déployer les fichiers du répertoire local.
|
||||||
IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que
|
IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que
|
||||||
sur debian
|
sur debian
|
||||||
-u, --update
|
-u, --update, --deploy
|
||||||
Mettre à jour la configuration système à partir du répertoire local.
|
Mettre à jour la configuration système à partir du répertoire local.
|
||||||
-r, --certsdir CERTSDIR
|
-r, --certsdir CERTSDIR
|
||||||
Spécifier le cas échéant le répertoire contenant les certificats à
|
Spécifier le cas échéant le répertoire contenant les certificats à
|
||||||
|
@ -125,87 +134,161 @@ function parent_apacheconfig() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
update=
|
setx host=myhost
|
||||||
certsdir=
|
setx hostname=myhostname
|
||||||
confdir=
|
aliases="$hostname"
|
||||||
modulesdir=
|
admin=supervision-gdrsi@listes.univ-reunion.fr
|
||||||
sitesdir=
|
certsdir=renater
|
||||||
cgibindir=
|
caname=terena.crt
|
||||||
wwwdir=
|
certname=
|
||||||
certsconfdir=
|
keyname=
|
||||||
rrdir=
|
TEMPLATE_VARS=(
|
||||||
restart=1
|
host hostname aliases admin
|
||||||
|
certsdir caname certname keyname
|
||||||
|
)
|
||||||
|
function update_template_var() {
|
||||||
|
# mettre à jour la valeur d'une variable en tenant compte de certaines
|
||||||
|
# dépendances. par exemple, si on modifie host, il faut mettre à jour
|
||||||
|
# hostname.
|
||||||
|
local __orig_value="${!1}"
|
||||||
|
array_addu TEMPLATE_VARS "$1"
|
||||||
|
setv "$1" "$2"
|
||||||
|
|
||||||
|
local __update_aliases
|
||||||
|
case "$1" in
|
||||||
|
host)
|
||||||
|
[ "$aliases" == "$hostname" ] && __update_aliases=1
|
||||||
|
hostname="${host%%.*}"
|
||||||
|
[ -n "$__update_aliases" ] && aliases="$hostname"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
[ "$2" != "$__orig_value" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
__vars=()
|
||||||
|
__list_vars=
|
||||||
|
__write_vars=
|
||||||
|
__deploy=
|
||||||
|
__certsdir=
|
||||||
|
__confdir=
|
||||||
|
__modulesdir=
|
||||||
|
__sitesdir=
|
||||||
|
__cgibindir=
|
||||||
|
__wwwdir=
|
||||||
|
__certsconfdir=
|
||||||
|
__rrdir=
|
||||||
|
__restart=1
|
||||||
__TEMPLATECTL_SUPPLOPTS=(
|
__TEMPLATECTL_SUPPLOPTS=(
|
||||||
-u,--update update=1
|
-v:,--var: __vars
|
||||||
-r:,--certsdir: certsdir=
|
--list-vars __list_vars=1
|
||||||
--confdir: confdir=
|
--write-vars __write_vars=1
|
||||||
--modulesdir: modulesdir=
|
-u,--update,--deploy __deploy=1
|
||||||
--sitesdir: sitesdir=
|
-r:,--certsdir: __certsdir=
|
||||||
--cgibindir: cgibindir=
|
--confdir: __confdir=
|
||||||
--wwwdir: wwwdir=
|
--modulesdir: __modulesdir=
|
||||||
--certsconfdir: certsconfdir=
|
--sitesdir: __sitesdir=
|
||||||
--rrdir: rrdir=
|
--cgibindir: __cgibindir=
|
||||||
--restart restart=1
|
--wwwdir: __wwwdir=
|
||||||
--no-restart restart=
|
--certsconfdir: __certsconfdir=
|
||||||
|
--rrdir: __rrdir=
|
||||||
|
--restart __restart=1
|
||||||
|
--no-restart __restart=
|
||||||
)
|
)
|
||||||
__templatectl_parseopts "$@" && \
|
__templatectl_parseopts "$@" && \
|
||||||
set -- "${args[@]}" || die "$args"
|
set -- "${args[@]}" || die "$args"
|
||||||
|
|
||||||
# répertoire source
|
# répertoire source
|
||||||
setx srcdir=templatesrc apacheconfig
|
setx __templatectl_srcdir=templatesrc apacheconfig
|
||||||
# répertoire de référence
|
# répertoire de référence
|
||||||
autocreate=
|
__autocreate=
|
||||||
if [ -z "$destdir" ]; then
|
if [ -z "$__templatectl_destdir" ]; then
|
||||||
if [ -d apacheconfig ]; then
|
if [ -d apacheconfig ]; then
|
||||||
destdir=apacheconfig
|
__templatectl_destdir=apacheconfig
|
||||||
elif setx destdir=parent_apacheconfig; then
|
elif setx __templatectl_destdir=parent_apacheconfig; then
|
||||||
estepn "Sélection automatique de $(ppath "$destdir")"
|
estepn "Sélection automatique de $(ppath "$__templatectl_destdir")"
|
||||||
elif [ -e apacheconfig ]; then
|
elif [ -e apacheconfig ]; then
|
||||||
die "Vous devez spécifier le répertoire de référence avec -d"
|
die "Vous devez spécifier le répertoire de référence avec -d"
|
||||||
else
|
else
|
||||||
destdir=apacheconfig
|
__templatectl_destdir=apacheconfig
|
||||||
autocreate=1
|
__autocreate=1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$update" -a -z "$templatectl_opt" ]; then
|
# charger les variables
|
||||||
|
__apacheconfig_vars="$__templatectl_destdir/.apacheconfig"
|
||||||
|
if [ -f "$__apacheconfig_vars" ]; then
|
||||||
|
source "$__apacheconfig_vars"
|
||||||
|
for __var in "${__apacheconfig[@]}"; do
|
||||||
|
splitvar "$__var" __name __value
|
||||||
|
update_template_var "$__name" "$__value"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# mettre à jour les variables
|
||||||
|
__modified=
|
||||||
|
for __var in "${__vars[@]}"; do
|
||||||
|
splitvar "$__var" __name __value
|
||||||
|
update_template_var "$__name" "$__value" && __modified=1
|
||||||
|
done
|
||||||
|
|
||||||
|
# enregistrer les valeurs des variables
|
||||||
|
if [ -n "$__modified" -o "$__write_vars" ]; then
|
||||||
|
>"$__apacheconfig_vars"
|
||||||
|
echo "__apacheconfig=(" >>"$__apacheconfig_vars"
|
||||||
|
for __var in "${TEMPLATE_VARS[@]}"; do
|
||||||
|
echo_setv "$__var=${!__var}" >>"$__apacheconfig_vars"
|
||||||
|
done
|
||||||
|
echo ")" >>"$__apacheconfig_vars"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# afficher les variables
|
||||||
|
if [ -n "$__list_vars" ]; then
|
||||||
|
for __var in "${TEMPLATE_VARS[@]}"; do
|
||||||
|
echo_setv "$__var=${!__var}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Gérer les templates et fichiers locaux
|
||||||
|
if [ -z "$templatectl_opt" -a -z "$__list_vars" -a -z "$__write_vars" -a -z "$__deploy" ]; then
|
||||||
templatectl_opt=1
|
templatectl_opt=1
|
||||||
templatectl_auto=1
|
templatectl_auto=1
|
||||||
fi
|
fi
|
||||||
if [ -n "$templatectl_opt" ]; then
|
if [ -n "$templatectl_opt" ]; then
|
||||||
if [ -n "$autocreate" -a ! -d "$destdir" ]; then
|
if [ -n "$__autocreate" -a ! -d "$__templatectl_destdir" ]; then
|
||||||
estepn "Création automatique de $(ppath "$destdir")"
|
estepn "Création automatique de $(ppath "$__templatectl_destdir")"
|
||||||
mkdir -p "$destdir" || die
|
mkdir -p "$__templatectl_destdir" || die
|
||||||
fi
|
fi
|
||||||
[ -d "$destdir" ] || die "$destdir: répertoire introuvable"
|
[ -d "$__templatectl_destdir" ] || die "$__templatectl_destdir: répertoire introuvable"
|
||||||
__templatectl_do "$@"
|
__templatectl_do "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$update" ]; then
|
# déploiement
|
||||||
|
if [ -n "$__deploy" ]; then
|
||||||
args=(
|
args=(
|
||||||
-d "$destdir"
|
-d "$__templatectl_destdir"
|
||||||
-u
|
-u
|
||||||
${certsdir:+-r "$certsdir"}
|
${__certsdir:+-r "$__certsdir"}
|
||||||
${confdir:+--confdir "$confdir"}
|
${__confdir:+--confdir "$__confdir"}
|
||||||
${modulesdir:+--modulesdir "$modulesdir"}
|
${__modulesdir:+--modulesdir "$__modulesdir"}
|
||||||
${sitesdir:+--sitesdir "$sitesdir"}
|
${__sitesdir:+--sitesdir "$__sitesdir"}
|
||||||
${cgibindir:+--cgibindir "$cgibindir"}
|
${__cgibindir:+--cgibindir "$__cgibindir"}
|
||||||
${wwwdir:+--wwwdir "$wwwdir"}
|
${__wwwdir:+--wwwdir "$__wwwdir"}
|
||||||
${certsconfdir:+--certsconfdir "$certsconfdir"}
|
${__certsconfdir:+--certsconfdir "$__certsconfdir"}
|
||||||
${rrdir:+--rrdir "$rrdir"}
|
${__rrdir:+--rrdir "$__rrdir"}
|
||||||
)
|
)
|
||||||
run_as_root "${args[@]}"
|
run_as_root "${args[@]}"
|
||||||
|
|
||||||
etitle "Mise à jour du système"
|
etitle "Mise à jour du système"
|
||||||
[ -d "$destdir" ] || die "$destdir: répertoire introuvable"
|
[ -d "$__templatectl_destdir" ] || die "$__templatectl_destdir: répertoire introuvable"
|
||||||
args=("$destdir" "$certsdir"
|
args=("$__templatectl_destdir" "$__certsdir"
|
||||||
${confdir:+--confdir "$confdir"}
|
${__confdir:+--confdir "$__confdir"}
|
||||||
${modulesdir:+--modulesdir "$modulesdir"}
|
${__modulesdir:+--modulesdir "$__modulesdir"}
|
||||||
${sitesdir:+--sitesdir "$sitesdir"}
|
${__sitesdir:+--sitesdir "$__sitesdir"}
|
||||||
${cgibindir:+--cgibindir "$cgibindir"}
|
${__cgibindir:+--cgibindir "$__cgibindir"}
|
||||||
${wwwdir:+--wwwdir "$wwwdir"}
|
${__wwwdir:+--wwwdir "$__wwwdir"}
|
||||||
${certsconfdir:+--certsconfdir "$certsconfdir"}
|
${__certsconfdir:+--certsconfdir "$__certsconfdir"}
|
||||||
${rrdir:+--rrdir "$rrdir"}
|
${__rrdir:+--rrdir "$__rrdir"}
|
||||||
)
|
)
|
||||||
apache_autoconf "${args[@]}" || die
|
apache_autoconf "${args[@]}" || die
|
||||||
eend
|
eend
|
||||||
|
|
|
@ -46,6 +46,48 @@ function __template_plsort() {
|
||||||
|
|
||||||
# liste des variables qu'il faut remplacer dans les fichiers sources
|
# liste des variables qu'il faut remplacer dans les fichiers sources
|
||||||
TEMPLATE_VARS=()
|
TEMPLATE_VARS=()
|
||||||
|
function __template_setup_tmpfile() {
|
||||||
|
if [ ${#TEMPLATE_VARS[*]} -gt 0 ]; then
|
||||||
|
# S'il y a des variables à remplacer, préparer un fichier temporaire
|
||||||
|
ac_set_tmpfile tmpfile
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function __template_clean_tmpfile() {
|
||||||
|
if [ ${#TEMPLATE_VARS[*]} -gt 0 ]; then
|
||||||
|
ac_clean "$tmpfile"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function __template_fillvars() {
|
||||||
|
# Pour chacune des variables VAR de TEMPLATE_VARS, remplacer dans le fichier
|
||||||
|
# $1 les occurences de @@VAR@@ par la valeur $VAR
|
||||||
|
# Afficher le chemin vers le fichier temporaire qui contient le fichier
|
||||||
|
# modifié. Si $2 est spécifié, prendre ce chemin comme fichier temporaire.
|
||||||
|
# Sinon, créer un nouveau fichier temporaire. Si le fichier ne contient
|
||||||
|
# aucune occurence de variable, afficher le chemin original $1.
|
||||||
|
[ ${#TEMPLATE_VARS[*]} -eq 0 ] && { echo "$1"; return; }
|
||||||
|
|
||||||
|
# chercher si le fichier contient au moins un des tags de TEMPLATE_VARS
|
||||||
|
local __var __tag __found
|
||||||
|
for __var in "${TEMPLATE_VARS[@]}"; do
|
||||||
|
__tag="@@${__var}@@"
|
||||||
|
if quietgrep "$__tag" "$1"; then
|
||||||
|
__found=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
[ -n "$__found" ] || { echo "$1"; return; }
|
||||||
|
|
||||||
|
# construire le script sed pour le remplacement des variables
|
||||||
|
local __script __first=1
|
||||||
|
for __var in "${TEMPLATE_VARS[@]}"; do
|
||||||
|
[ -n "$__first" ] || __script="$__script"$'\n'
|
||||||
|
__first=
|
||||||
|
__script="${__script}s/@@${__var}@@/$(qseds "${!__var}")/g"
|
||||||
|
done
|
||||||
|
|
||||||
|
sed "$__script" <"$1" >"$2"
|
||||||
|
echo "$2"
|
||||||
|
}
|
||||||
|
|
||||||
function template_list() {
|
function template_list() {
|
||||||
# Lister les fichiers du répertoire source $1 qui seraient fusionnées avec
|
# Lister les fichiers du répertoire source $1 qui seraient fusionnées avec
|
||||||
|
@ -67,7 +109,9 @@ function template_list() {
|
||||||
[ -n "$rel2pwd" ] && set -- . || set -- "$destdir"
|
[ -n "$rel2pwd" ] && set -- . || set -- "$destdir"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local spec srcspec src dest list
|
local tmpfile; __template_setup_tmpfile
|
||||||
|
|
||||||
|
local spec srcspec src content dest list
|
||||||
local -a srcfiles
|
local -a srcfiles
|
||||||
for spec in "$@"; do
|
for spec in "$@"; do
|
||||||
setx srcspec=__template_prel_abspath "$spec" "$destdir"
|
setx srcspec=__template_prel_abspath "$spec" "$destdir"
|
||||||
|
@ -77,13 +121,14 @@ function template_list() {
|
||||||
[ -e "$srcdir$srcspec" ] || continue
|
[ -e "$srcdir$srcspec" ] || continue
|
||||||
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)"
|
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)"
|
||||||
for src in "${srcfiles[@]}"; do
|
for src in "${srcfiles[@]}"; do
|
||||||
|
setx content=__template_fillvars "$src" "$tmpfile"
|
||||||
dest="$destdir/${src#$srcdir/}"
|
dest="$destdir/${src#$srcdir/}"
|
||||||
|
|
||||||
list=
|
list=
|
||||||
if [ -L "$dest" ]; then
|
if [ -L "$dest" ]; then
|
||||||
:
|
:
|
||||||
elif [ -f "$dest" ]; then
|
elif [ -f "$dest" ]; then
|
||||||
testsame "$src" "$dest" && list=1
|
testsame "$content" "$dest" && list=1
|
||||||
else
|
else
|
||||||
list=1
|
list=1
|
||||||
fi
|
fi
|
||||||
|
@ -96,6 +141,8 @@ function template_list() {
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done | csort -u
|
done | csort -u
|
||||||
|
|
||||||
|
__template_clean_tmpfile
|
||||||
}
|
}
|
||||||
|
|
||||||
function template_merge() {
|
function template_merge() {
|
||||||
|
@ -112,7 +159,9 @@ function template_merge() {
|
||||||
|
|
||||||
[ $# -gt 0 ] || set -- "$destdir"
|
[ $# -gt 0 ] || set -- "$destdir"
|
||||||
|
|
||||||
local spec srcspec src dest
|
local tmpfile; __template_setup_tmpfile
|
||||||
|
|
||||||
|
local spec srcspec src content dest
|
||||||
local srcfiles
|
local srcfiles
|
||||||
for spec in "$@"; do
|
for spec in "$@"; do
|
||||||
setx srcspec=__template_prel_abspath "$spec"
|
setx srcspec=__template_prel_abspath "$spec"
|
||||||
|
@ -127,25 +176,28 @@ function template_merge() {
|
||||||
s=0
|
s=0
|
||||||
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)"
|
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)"
|
||||||
for src in "${srcfiles[@]}"; do
|
for src in "${srcfiles[@]}"; do
|
||||||
|
setx content=__template_fillvars "$src" "$tmpfile"
|
||||||
dest="$destdir/${src#$srcdir/}"
|
dest="$destdir/${src#$srcdir/}"
|
||||||
|
|
||||||
if [ -L "$dest" ]; then
|
if [ -L "$dest" ]; then
|
||||||
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
|
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
|
||||||
elif [ -f "$dest" ]; then
|
elif [ -f "$dest" ]; then
|
||||||
if testsame "$src" "$dest"; then
|
if testsame "$content" "$dest"; then
|
||||||
show_debug && edot 0 "ALREADY COPIED: $(ppath "$dest")"
|
show_debug && edot 0 "ALREADY COPIED: $(ppath "$dest")"
|
||||||
else
|
else
|
||||||
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
|
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
mkdirof "$dest"
|
mkdirof "$dest"
|
||||||
cp "$src" "$dest"; r=$?
|
cp "$content" "$dest"; r=$?
|
||||||
edot $r "COPY: $(ppath "$dest")"
|
edot $r "COPY: $(ppath "$dest")"
|
||||||
[ $r -eq 0 ] || s=$r
|
[ $r -eq 0 ] || s=$r
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
eend $s
|
eend $s
|
||||||
done
|
done
|
||||||
|
|
||||||
|
__template_clean_tmpfile
|
||||||
}
|
}
|
||||||
|
|
||||||
function template_unmerge() {
|
function template_unmerge() {
|
||||||
|
@ -163,7 +215,9 @@ function template_unmerge() {
|
||||||
|
|
||||||
[ $# -gt 0 ] || set -- "$destdir"
|
[ $# -gt 0 ] || set -- "$destdir"
|
||||||
|
|
||||||
local spec srcspec src dest
|
local tmpfile; __template_setup_tmpfile
|
||||||
|
|
||||||
|
local spec srcspec src content dest
|
||||||
local srcfiles
|
local srcfiles
|
||||||
for spec in "$@"; do
|
for spec in "$@"; do
|
||||||
setx srcspec=__template_prel_abspath "$spec"
|
setx srcspec=__template_prel_abspath "$spec"
|
||||||
|
@ -178,12 +232,13 @@ function template_unmerge() {
|
||||||
ebegin "$(ppath "$destdir$srcspec")"
|
ebegin "$(ppath "$destdir$srcspec")"
|
||||||
array_from_lines files "$(find "$srcdir$srcspec" -type f)"
|
array_from_lines files "$(find "$srcdir$srcspec" -type f)"
|
||||||
for src in "${files[@]}"; do
|
for src in "${files[@]}"; do
|
||||||
|
setx content=__template_fillvars "$src" "$tmpfile"
|
||||||
dest="$destdir/${src#$srcdir/}"
|
dest="$destdir/${src#$srcdir/}"
|
||||||
|
|
||||||
if [ -L "$dest" ]; then
|
if [ -L "$dest" ]; then
|
||||||
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
|
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
|
||||||
elif [ -f "$dest" ]; then
|
elif [ -f "$dest" ]; then
|
||||||
if testsame "$src" "$dest"; then
|
if testsame "$content" "$dest"; then
|
||||||
rm -f "$dest"; r=$?
|
rm -f "$dest"; r=$?
|
||||||
edot $r "REMOVE: $(ppath "$dest")"
|
edot $r "REMOVE: $(ppath "$dest")"
|
||||||
[ $r -eq 0 ] || s=$r
|
[ $r -eq 0 ] || s=$r
|
||||||
|
@ -196,6 +251,8 @@ function template_unmerge() {
|
||||||
done
|
done
|
||||||
eend $s
|
eend $s
|
||||||
done
|
done
|
||||||
|
|
||||||
|
__template_clean_tmpfile
|
||||||
}
|
}
|
||||||
|
|
||||||
function template_cleandest() {
|
function template_cleandest() {
|
||||||
|
@ -219,15 +276,20 @@ function template_diff() {
|
||||||
__template_check_destdir "$destdir" || return 1
|
__template_check_destdir "$destdir" || return 1
|
||||||
setx destdir=abspath "$destdir"
|
setx destdir=abspath "$destdir"
|
||||||
|
|
||||||
local src dest
|
local tmpfile; __template_setup_tmpfile
|
||||||
|
|
||||||
|
local src content dest
|
||||||
local -a srcfiles
|
local -a srcfiles
|
||||||
array_from_lines srcfiles "$(find "$srcdir" -type f)"
|
array_from_lines srcfiles "$(find "$srcdir" -type f)"
|
||||||
for src in "${srcfiles[@]}"; do
|
for src in "${srcfiles[@]}"; do
|
||||||
|
setx content=__template_fillvars "$src" "$tmpfile"
|
||||||
dest="$destdir/${src#$srcdir/}"
|
dest="$destdir/${src#$srcdir/}"
|
||||||
if [ -f "$dest" ] && testdiff "$src" "$dest"; then
|
if [ -f "$dest" ] && testdiff "$content" "$dest"; then
|
||||||
diff -uwB "$src" "$dest"
|
diff -uwB "$content" "$dest"
|
||||||
fi
|
fi
|
||||||
done | page_maybe -S
|
done | page_maybe -S
|
||||||
|
|
||||||
|
__template_clean_tmpfile
|
||||||
}
|
}
|
||||||
|
|
||||||
function templatesrc() {
|
function templatesrc() {
|
||||||
|
@ -246,28 +308,28 @@ __TEMPLATECTL_SUPPLOPTS=()
|
||||||
function __templatectl_parseopts() {
|
function __templatectl_parseopts() {
|
||||||
parse_opts "${PRETTYOPTS[@]}" \
|
parse_opts "${PRETTYOPTS[@]}" \
|
||||||
--help '$exit_with __templatectl_display_help' \
|
--help '$exit_with __templatectl_display_help' \
|
||||||
-s:,--srcdir: srcdir= \
|
-s:,--srcdir: __templatectl_srcdir= \
|
||||||
-d:,--destdir: destdir= \
|
-d:,--destdir: __templatectl_destdir= \
|
||||||
-l,--list '$list=1; templatectl_opt=1' \
|
-l,--list '$__templatectl_list=1; templatectl_opt=1' \
|
||||||
-m,--merge '$merge=1; templatectl_opt=1' \
|
-m,--merge '$__templatectl_merge=1; templatectl_opt=1' \
|
||||||
-z,--unmerge '$unmerge=1; templatectl_opt=1' \
|
-z,--unmerge '$__templatectl_unmerge=1; templatectl_opt=1' \
|
||||||
-C,--clean '$clean=1; templatectl_opt=1' \
|
-C,--clean '$__templatectl_clean=1; templatectl_opt=1' \
|
||||||
-g,--diff '$diff=1; templatectl_opt=1' \
|
-g,--diff '$__templatectl_diff=1; templatectl_opt=1' \
|
||||||
"${__TEMPLATECTL_SUPPLOPTS[@]}" \
|
"${__TEMPLATECTL_SUPPLOPTS[@]}" \
|
||||||
@ args -- "$@"
|
@ args -- "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
function __templatectl_do() {
|
function __templatectl_do() {
|
||||||
__template_check_srcdir "$srcdir" || return 1
|
__template_check_srcdir "$__templatectl_srcdir" || return 1
|
||||||
[ -n "$destdir" ] || destdir=.
|
[ -n "$__templatectl_destdir" ] || __templatectl_destdir=.
|
||||||
__template_check_destdir "$destdir" || return 1
|
__template_check_destdir "$__templatectl_destdir" || return 1
|
||||||
[ -n "$templatectl_auto" ] && list=1
|
[ -n "$templatectl_auto" ] && __templatectl_list=1
|
||||||
|
|
||||||
[ -n "$list" ] && template_list "$srcdir" "$destdir" "$@"
|
[ -n "$__templatectl_list" ] && template_list "$__templatectl_srcdir" "$__templatectl_destdir" "$@"
|
||||||
[ -n "$merge" ] && template_merge "$srcdir" "$destdir" "$@"
|
[ -n "$__templatectl_merge" ] && template_merge "$__templatectl_srcdir" "$__templatectl_destdir" "$@"
|
||||||
[ -n "$unmerge" ] && template_unmerge "$srcdir" "$destdir" "$@"
|
[ -n "$__templatectl_unmerge" ] && template_unmerge "$__templatectl_srcdir" "$__templatectl_destdir" "$@"
|
||||||
[ -n "$clean" ] && template_cleandest "$destdir" "$@"
|
[ -n "$__templatectl_clean" ] && template_cleandest "$__templatectl_destdir" "$@"
|
||||||
[ -n "$diff" ] && template_diff "$srcdir" "$destdir" "$@"
|
[ -n "$__templatectl_diff" ] && template_diff "$__templatectl_srcdir" "$__templatectl_destdir" "$@"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -275,8 +337,8 @@ function templatectl() {
|
||||||
# fonction de haut niveau qui facilite l'utilisation des fonctions template_*
|
# fonction de haut niveau qui facilite l'utilisation des fonctions template_*
|
||||||
# définir la fonction override_display_templatectl_help() pour l'affichage de l'aide
|
# définir la fonction override_display_templatectl_help() pour l'affichage de l'aide
|
||||||
local -a args
|
local -a args
|
||||||
local list merge unmerge clean diff templatectl_opt templatectl_auto
|
local __templatectl_list __templatectl_merge __templatectl_unmerge __templatectl_clean __templatectl_diff templatectl_opt templatectl_auto
|
||||||
local destdir
|
local __templatectl_destdir
|
||||||
|
|
||||||
__templatectl_parseopts "$@" && set -- "${args[@]}" || { eerror "$args"; return 1; }
|
__templatectl_parseopts "$@" && set -- "${args[@]}" || { eerror "$args"; return 1; }
|
||||||
[ -z "$templatectl_opt" ] && templatectl_auto=1
|
[ -z "$templatectl_opt" ] && templatectl_auto=1
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
# Ce fichier permet de configurer quels certificats du répertoire $certsdir il
|
# Ce fichier permet de configurer quels certificats du répertoire $certsdir il
|
||||||
# faut installer sur le serveur.
|
# faut installer sur le serveur.
|
||||||
certsdir=renater
|
certsdir=@@certsdir@@
|
||||||
|
|
||||||
# Fichier contenant les certificats racines qui valident le certificat à
|
# Fichier contenant les certificats racines qui valident le certificat à
|
||||||
# installer, ainsi que les certificats qui sont rencontrés dans le dialogue avec
|
# installer, ainsi que les certificats qui sont rencontrés dans le dialogue avec
|
||||||
# d'autres serveurs web
|
# d'autres serveurs web
|
||||||
ca=terena.crt
|
ca=@@caname@@
|
||||||
|
|
||||||
# Certificat et clé privée à installer
|
# Certificat et clé privée à installer
|
||||||
cert=host-20130523.pem
|
cert=@@certname@@
|
||||||
key=host-20130523.key
|
key=@@keyname@@
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
# -*- coding: utf-8 mode: conf -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
# -*- coding: utf-8 mode: conf -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||||
|
|
||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName host.univ.run
|
ServerName @@host@@
|
||||||
ServerAlias host host1.univ.run host1
|
ServerAlias @@aliases@@
|
||||||
ServerAdmin sysrezo@support.univ-reunion.fr
|
ServerAdmin @@admin@@
|
||||||
|
|
||||||
DocumentRoot /var/www
|
DocumentRoot /var/www
|
||||||
<Directory />
|
<Directory />
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
<IfModule mod_ssl.c>
|
<IfModule mod_ssl.c>
|
||||||
<VirtualHost _default_:443>
|
<VirtualHost _default_:443>
|
||||||
ServerName host.univ.run
|
ServerName @@host@@
|
||||||
ServerAlias host host1.univ.run host1
|
ServerAlias @@aliases@@
|
||||||
ServerAdmin sysrezo@support.univ-reunion.fr
|
ServerAdmin @@admin@@
|
||||||
|
|
||||||
DocumentRoot /var/www
|
DocumentRoot /var/www
|
||||||
<Directory />
|
<Directory />
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
worker.list=prod,dev
|
worker.list=prod,dev
|
||||||
|
|
||||||
worker.prod.port=8009
|
worker.prod.port=8009
|
||||||
worker.prod.host=host.univ.run
|
worker.prod.host=@@prod_host@@
|
||||||
worker.prod.type=ajp13
|
worker.prod.type=ajp13
|
||||||
worker.prod.lbfactor=1
|
worker.prod.lbfactor=1
|
||||||
worker.prod.connection_pool_timeout=600
|
worker.prod.connection_pool_timeout=600
|
||||||
|
@ -9,7 +9,7 @@ worker.prod.socket_keepalive=1
|
||||||
worker.prod.socket_timeout=60
|
worker.prod.socket_timeout=60
|
||||||
|
|
||||||
worker.dev.port=8009
|
worker.dev.port=8009
|
||||||
worker.dev.host=hostdev.univ.run
|
worker.dev.host=@@dev_host@@
|
||||||
worker.dev.type=ajp13
|
worker.dev.type=ajp13
|
||||||
worker.dev.lbfactor=1
|
worker.dev.lbfactor=1
|
||||||
worker.dev.connection_pool_timeout=600
|
worker.dev.connection_pool_timeout=600
|
||||||
|
|
|
@ -33,10 +33,10 @@ __templatectl_parseopts "$@" && \
|
||||||
set -- "${args[@]}" || die "$args"
|
set -- "${args[@]}" || die "$args"
|
||||||
|
|
||||||
# répertoire source
|
# répertoire source
|
||||||
setx srcdir=templatesrc runsconfig
|
setx __templatectl_srcdir=templatesrc runsconfig
|
||||||
# répertoire d'hôte
|
# répertoire d'hôte
|
||||||
[ -n "$destdir" ] || destdir=.
|
[ -n "$__templatectl_destdir" ] || __templatectl_destdir=.
|
||||||
|
|
||||||
[ -n "$templatectl_opt" ] || templatectl_auto=1
|
[ -n "$templatectl_opt" ] || templatectl_auto=1
|
||||||
[ -d "$destdir" ] || die "$destdir: répertoire introuvable"
|
[ -d "$__templatectl_destdir" ] || die "$__templatectl_destdir: répertoire introuvable"
|
||||||
__templatectl_do "$@"
|
__templatectl_do "$@"
|
||||||
|
|
Loading…
Reference in New Issue