apacheconfig: -S peut aussi être utilisé avec --localhosts

This commit is contained in:
Jephté Clain 2015-12-07 11:14:29 +04:00
parent 7c6ad6a08b
commit 26fe7097f6
2 changed files with 25 additions and 19 deletions

View File

@ -49,19 +49,20 @@ OPTIONS
Spécifier le cas échéant le répertoire contenant les certificats à Spécifier le cas échéant le répertoire contenant les certificats à
déployer. Cet argument est requis si le répertoire certsconf/ existe. déployer. Cet argument est requis si le répertoire certsconf/ existe.
-C, --one-conf CONF
Ne déployer que le fichier de configuration spécifié. Cette option
implique --deploy et est utile pour le développement et les tests.
-M, --one-module MODULE
Ne déployer que le fichier de module spécifié. Cette option implique
--deploy et est utile pour le développement et les tests.
-S, --one-site SITE
Ne déployer que le fichier de site spécifié. Cette option implique
--deploy et est utile pour le développement et les tests.
--localhosts --localhosts
Créer dans le fichier /etc/hosts tous les noms d'hôte ayant un suffixe Créer dans le fichier /etc/hosts tous les noms d'hôte ayant un suffixe
.local mentionnés dans les fichiers de site. Cette option est utile pour .local mentionnés dans les fichiers de site. Cette option est utile pour
le développement et les tests." le développement et les tests.
-C, --one-conf CONF
Ne déployer que le fichier de configuration spécifié. Cette option est
utilisée avec --deploy et est utile pour le développement et les tests.
-M, --one-module MODULE
Ne déployer que le fichier de module spécifié. Cette option est utilisée
avec --deploy et est utile pour le développement et les tests.
-S, --one-site SITE
Ne déployer que le fichier de site spécifié. Cette option est utilisée
avec --deploy ou --localhosts et est utile pour le développement et les
tests."
} }
# toujours placer une variable dépendante AVANT la variable maitre # toujours placer une variable dépendante AVANT la variable maitre
@ -177,10 +178,10 @@ args=(
-8,--jessie '$array_add TEMPLATECTL_VARS sysver=jessie' -8,--jessie '$array_add TEMPLATECTL_VARS sysver=jessie'
-u,--update,--deploy action=deploy -u,--update,--deploy action=deploy
-r:,--certsdir: aac_certsdir= -r:,--certsdir: aac_certsdir=
-C:,--one-conf: '$set@ oneconf; action=deploy'
-M:,--one-module: '$set@ onemodule; action=deploy'
-S:,--one-site: '$set@ onesite; action=deploy'
--localhosts action=localhosts --localhosts action=localhosts
-C:,--one-conf: oneconf=
-M:,--one-module: onemodule=
-S:,--one-site: onesite=
) )
parse_args "$@"; set -- "${args[@]}" parse_args "$@"; set -- "${args[@]}"
@ -256,18 +257,19 @@ elif [ "$action" == deploy -o "$action" == localhosts ]; then
if [ "$action" == deploy ]; then if [ "$action" == deploy ]; then
etitle "Mise à jour du système" etitle "Mise à jour du système"
args=( args=(apache_autoconf
apache_autoconf
--ignore "$(basename -- "$config")" --ignore "$(basename -- "$config")"
${oneconf:+--one-conf "$(basename -- "$oneconf")"} ${oneconf:+--one-conf "$(basename -- "$oneconf")"}
${onemodule:+--one-module "$(basename -- "$onemodule")"} ${onemodule:+--one-module "$(basename -- "$onemodule")"}
${onesite:+--one-site "$(basename -- "$onesite")"}
) )
elif [ "$action" == localhosts ]; then elif [ "$action" == localhosts ]; then
etitle "Mise à jour de /etc/hosts" etitle "Mise à jour de /etc/hosts"
args=(apache_autoconf_localhosts) args=(apache_autoconf_localhosts)
fi fi
args=("${args[@]}" "$destdir" "$aac_certsdir") args=("${args[@]}"
"$destdir" "$aac_certsdir"
${onesite:+--one-site "$(basename -- "$onesite")"}
)
for __name in "${TEMPLATE_DYNAMIC_VARS[@]}"; do for __name in "${TEMPLATE_DYNAMIC_VARS[@]}"; do
array_add args "$__name=${!__name}" array_add args "$__name=${!__name}"
done done

View File

@ -533,9 +533,10 @@ s#@@ca@@#$APACHESSLCERTSDIR/$(basename "$ca")#g
function apache_autoconf_localhosts() { function apache_autoconf_localhosts() {
eval "$(utools_local)" eval "$(utools_local)"
local autoconfdir sitesdir local autoconfdir sitesdir onesite
parse_opts "${PRETTYOPTS[@]}" \ parse_opts "${PRETTYOPTS[@]}" \
--sitesdir: sitesdir= \ --sitesdir: sitesdir= \
--one-site: onesite= \
@ args -- "$@" && set -- "${args[@]}" || die "$args" @ args -- "$@" && set -- "${args[@]}" || die "$args"
__apache_autoconf_setup || return 1 __apache_autoconf_setup || return 1
@ -561,9 +562,12 @@ function apache_autoconf_localhosts() {
array_from_lines localips "$(</etc/hosts awk '$1 ~ /127\./ { print $1 }' | sort -u)" array_from_lines localips "$(</etc/hosts awk '$1 ~ /127\./ { print $1 }' | sort -u)"
array_from_lines localhosts "$(</etc/hosts awk '$1 ~ /127\./ { for (i = 2; i <= NF; i++) { if ($i ~ /\.local$/) print $i } }' | sort -u)" array_from_lines localhosts "$(</etc/hosts awk '$1 ~ /127\./ { for (i = 2; i <= NF; i++) { if ($i ~ /\.local$/) print $i } }' | sort -u)"
array_lsfiles confs "$sitesdir" "*.conf"
ac_set_tmpfile tmpconf ac_set_tmpfile tmpconf
array_lsfiles confs "$sitesdir" "*.conf"
for conf in "${confs[@]}"; do for conf in "${confs[@]}"; do
confname="$(basename "$conf")"
[ -z "$onesite" -o "$confname" == "$onesite" ] || continue
__apache_autoconf_fillcopy "$conf" "$tmpconf" __apache_autoconf_fillcopy "$conf" "$tmpconf"
array_from_lines candidates "$(<"$tmpconf" awk ' array_from_lines candidates "$(<"$tmpconf" awk '
$1 == "ServerName" && $2 ~ /\.local$/ { print $2 } $1 == "ServerName" && $2 ~ /\.local$/ { print $2 }