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 à
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
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
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
@ -177,10 +178,10 @@ args=(
-8,--jessie '$array_add TEMPLATECTL_VARS sysver=jessie'
-u,--update,--deploy action=deploy
-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
-C:,--one-conf: oneconf=
-M:,--one-module: onemodule=
-S:,--one-site: onesite=
)
parse_args "$@"; set -- "${args[@]}"
@ -256,18 +257,19 @@ elif [ "$action" == deploy -o "$action" == localhosts ]; then
if [ "$action" == deploy ]; then
etitle "Mise à jour du système"
args=(
apache_autoconf
args=(apache_autoconf
--ignore "$(basename -- "$config")"
${oneconf:+--one-conf "$(basename -- "$oneconf")"}
${onemodule:+--one-module "$(basename -- "$onemodule")"}
${onesite:+--one-site "$(basename -- "$onesite")"}
)
elif [ "$action" == localhosts ]; then
etitle "Mise à jour de /etc/hosts"
args=(apache_autoconf_localhosts)
fi
args=("${args[@]}" "$destdir" "$aac_certsdir")
args=("${args[@]}"
"$destdir" "$aac_certsdir"
${onesite:+--one-site "$(basename -- "$onesite")"}
)
for __name in "${TEMPLATE_DYNAMIC_VARS[@]}"; do
array_add args "$__name=${!__name}"
done

View File

@ -533,9 +533,10 @@ s#@@ca@@#$APACHESSLCERTSDIR/$(basename "$ca")#g
function apache_autoconf_localhosts() {
eval "$(utools_local)"
local autoconfdir sitesdir
local autoconfdir sitesdir onesite
parse_opts "${PRETTYOPTS[@]}" \
--sitesdir: sitesdir= \
--one-site: onesite= \
@ args -- "$@" && set -- "${args[@]}" || die "$args"
__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 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
array_lsfiles confs "$sitesdir" "*.conf"
for conf in "${confs[@]}"; do
confname="$(basename "$conf")"
[ -z "$onesite" -o "$confname" == "$onesite" ] || continue
__apache_autoconf_fillcopy "$conf" "$tmpconf"
array_from_lines candidates "$(<"$tmpconf" awk '
$1 == "ServerName" && $2 ~ /\.local$/ { print $2 }