apacheconfig: support des fichiers de confs --> /etc/apache2/cond.d sur debian wheezy-

This commit is contained in:
Jephté Clain 2015-12-24 09:58:09 +04:00
parent 2e3fe66208
commit b288cf2d88
3 changed files with 42 additions and 7 deletions

View File

@ -154,6 +154,7 @@ destdir=
nohideconfig= nohideconfig=
templateopt= templateopt=
aac_certsdir= aac_certsdir=
bits=
oneconf= oneconf=
onemodule= onemodule=
onesite= onesite=
@ -176,6 +177,7 @@ args=(
-6,--squeeze '$array_add TEMPLATECTL_VARS sysver=squeeze' -6,--squeeze '$array_add TEMPLATECTL_VARS sysver=squeeze'
-7,--wheezy '$array_add TEMPLATECTL_VARS sysver=wheezy' -7,--wheezy '$array_add TEMPLATECTL_VARS sysver=wheezy'
-8,--jessie '$array_add TEMPLATECTL_VARS sysver=jessie' -8,--jessie '$array_add TEMPLATECTL_VARS sysver=jessie'
--bits: bits=
-u,--update,--deploy action=deploy -u,--update,--deploy action=deploy
-r:,--certsdir: aac_certsdir= -r:,--certsdir: aac_certsdir=
--localhosts action=localhosts --localhosts action=localhosts
@ -192,15 +194,17 @@ templatectl_loadvars "$config" && modified=1
if [ -n "$sysname" -o -n "$sysdist" -o -n "$sysver" ]; then if [ -n "$sysname" -o -n "$sysdist" -o -n "$sysver" ]; then
ensure_sysinfos sysname sysdist sysver ensure_sysinfos sysname sysdist sysver
custom_sysinfos=1
else else
sysname="$MYSYSNAME" sysname="$MYSYSNAME"
sysdist="$MYSYSDIST" sysdist="$MYSYSDIST"
sysver="$MYSYSVER" sysver="$MYSYSVER"
bits="$MYBITS"
custom_sysinfos=
fi fi
__template_set_var sysname "$sysname" __template_set_var sysname "$sysname"
__template_set_var sysdist "$sysdist" __template_set_var sysdist "$sysdist"
__template_set_var sysver "$sysver" __template_set_var sysver "$sysver"
bits=
if check_sysinfos --vars sysname sysdist sysver bits -d debian -v jessie+; then if check_sysinfos --vars sysname sysdist sysver bits -d debian -v jessie+; then
array_add TEMPLATECTL_SRCDIRS apacheconfig8 array_add TEMPLATECTL_SRCDIRS apacheconfig8
elif check_sysinfos --vars sysname sysdist sysver bits -d debian; then elif check_sysinfos --vars sysname sysdist sysver bits -d debian; then
@ -248,6 +252,7 @@ elif [ "$action" == deploy -o "$action" == localhosts ]; then
${oneconf:+--one-conf "$oneconf"} ${oneconf:+--one-conf "$oneconf"}
${onemodule:+--one-module "$onemodule"} ${onemodule:+--one-module "$onemodule"}
${onesite:+--one-site "$onesite"} ${onesite:+--one-site "$onesite"}
${custom_sysinfos:+--sysname "$sysname" --sysdist "$sysdist" --sysver "$sysver" --bits "$bits"}
) )
for __name in "${TEMPLATE_DYNAMIC_VARS[@]}"; do for __name in "${TEMPLATE_DYNAMIC_VARS[@]}"; do
array_add args -v "$__name=${!__name}" array_add args -v "$__name=${!__name}"
@ -261,6 +266,7 @@ elif [ "$action" == deploy -o "$action" == localhosts ]; then
--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")"}
${custom_sysinfos:+--sysname "$sysname" --sysdist "$sysdist" --sysver "$sysver" --bits "$bits"}
) )
elif [ "$action" == localhosts ]; then elif [ "$action" == localhosts ]; then
etitle "Mise à jour de /etc/hosts" etitle "Mise à jour de /etc/hosts"

View File

@ -156,7 +156,7 @@ OPTIONS
} }
function __apache_autoconf_setup() { function __apache_autoconf_setup() {
if ! check_sysinfos -s linux -d debian; then if ! check_sysinfos --vars sysname sysdist sysver bits -s linux64 linux32 linux -d debian; then
eerror "apache_autoconf n'est supporté que sur Debian linux" eerror "apache_autoconf n'est supporté que sur Debian linux"
return 1 return 1
fi fi
@ -236,6 +236,8 @@ function apache_autoconf() {
local -a ignores local -a ignores
local autoconfdir certsdir confdir confsdir oneconf modulesdir onemodule local autoconfdir certsdir confdir confsdir oneconf modulesdir onemodule
local sitesdir onesite cgibindir wwwdir certsconfdir rrdir onecms local sitesdir onesite cgibindir wwwdir certsconfdir rrdir onecms
local sysname sysdist sysver bits
local destconfsdir a2xconf
local restart=1 local restart=1
parse_opts "${PRETTYOPTS[@]}" \ parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with __display_apache_autoconf_help' \ --help '$exit_with __display_apache_autoconf_help' \
@ -252,9 +254,30 @@ function apache_autoconf() {
--certsconfdir: certsconfdir= \ --certsconfdir: certsconfdir= \
--rrdir: rrdir= \ --rrdir: rrdir= \
--no-restart restart= \ --no-restart restart= \
--sysname: sysname= \
--sysdist: sysdist= \
--sysver: sysver= \
-6,--squeeze sysver=squeeze \
-7,--wheezy sysver=wheezy \
-8,--jessie sysver=jessie \
--bits: bits= \
@ args -- "$@" && set -- "${args[@]}" || die "$args" @ args -- "$@" && set -- "${args[@]}" || die "$args"
if [ -n "$sysname" -o -n "$sysdist" -o -n "$sysver" ]; then
ensure_sysinfos sysname sysdist sysver
else
sysname=("${MYSYSNAME[@]}")
sysdist=("${MYSYSDIST[@]}")
sysver=("${MYSYSVER[@]}")
bits="$MYBITS"
fi
__apache_autoconf_setup || return 1 __apache_autoconf_setup || return 1
if check_sysinfos --vars sysname sysdist sysver bits -d debian -v jessie+; then
destconfsdir="$APACHECONFDIR/conf-available"
a2xconf=1
elif check_sysinfos --vars sysname sysdist sysver bits -d debian; then
destconfsdir="$APACHECONFDIR/conf.d"
fi
# Configuration # Configuration
autoconfdir="$1"; shift autoconfdir="$1"; shift
@ -320,7 +343,7 @@ function apache_autoconf() {
fi fi
# Gestion des configurations # Gestion des configurations
if [ -d "$confsdir" -a \( -z "$onecms" -o "$oneconf" \) ]; then if [ -d "$confsdir" -a \( -z "$onecms" -o -n "$oneconf" \) ]; then
local -a confs local -a confs
local conf local conf
etitle "Installation des configurations" etitle "Installation des configurations"
@ -331,13 +354,13 @@ function apache_autoconf() {
estep "$conf" estep "$conf"
__apache_autoconf_fillcopy \ __apache_autoconf_fillcopy \
"$confsdir/$conf" \ "$confsdir/$conf" \
"$APACHECONFDIR/conf-available/$conf" && modified=1 "$destconfsdir/$conf" && modified=1
done done
eend eend
fi fi
# Gestion des modules # Gestion des modules
if [ -d "$modulesdir" -a \( -z "$onecms" -o "$onemodule" \) ]; then if [ -d "$modulesdir" -a \( -z "$onecms" -o -n "$onemodule" \) ]; then
local -a confs local -a confs
local conf local conf
etitle "Installation des configurations des modules" etitle "Installation des configurations des modules"
@ -370,7 +393,7 @@ function apache_autoconf() {
# Sites # Sites
local -a enablesites disablesites local -a enablesites disablesites
if [ -d "$sitesdir" -a \( -z "$onecms" -o "$onesite" \) ]; then if [ -d "$sitesdir" -a \( -z "$onecms" -o -n "$onesite" \) ]; then
local -a confs local -a confs
local conf confname destconf certsconf local conf confname destconf certsconf
etitle "Installation des sites" etitle "Installation des sites"
@ -434,7 +457,7 @@ s#@@ca@@#$APACHESSLCERTSDIR/$(basename "$ca")#g
"$confdir/$conf" \ "$confdir/$conf" \
"$APACHECONFDIR/$conf" && modified=1 "$APACHECONFDIR/$conf" && modified=1
done done
if [ -f "$confdir/confs.conf" ]; then if [ -f "$confdir/confs.conf" -a -n "$a2xconf" ]; then
local -a confs local -a confs
local conf local conf
array_from_lines confs "$(<"$confdir/confs.conf" filter_conf)" array_from_lines confs "$(<"$confdir/confs.conf" filter_conf)"

View File

@ -337,6 +337,12 @@ function check_sysinfos() {
# check_sysinfos -d debian ubuntu -b 64 # check_sysinfos -d debian ubuntu -b 64
# pour tester si l'on est sur une distribution debian ou ubuntu *et* sur un # pour tester si l'on est sur une distribution debian ou ubuntu *et* sur un
# système 64 bits # système 64 bits
# Note: avec l'option --vars, il peut arriver que sysname, sysdist ou sysver
# ne soient pas des tableaux mais des variables scalaires, surtout si elles
# sont fournies par l'utilisateur. Il est conseillé dans ce cas de tester
# toutes les possibilités quand on vérifie une valeur, e.g.:
# check_sysinfos --vars sysname sysdist sysver bits -s linux64 linux32 linux
# pour tester si on est sur un système linux
# Avec l'option -v, il est possible de suffixer la valeur avec + ou - selon # Avec l'option -v, il est possible de suffixer la valeur avec + ou - selon
# que l'on veut toutes les versions situées après ou avant la version # que l'on veut toutes les versions situées après ou avant la version
# spécifiée. Attention, à cause d'une limitation de l'implémentation, il # spécifiée. Attention, à cause d'une limitation de l'implémentation, il