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

View File

@ -156,7 +156,7 @@ OPTIONS
}
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"
return 1
fi
@ -236,6 +236,8 @@ function apache_autoconf() {
local -a ignores
local autoconfdir certsdir confdir confsdir oneconf modulesdir onemodule
local sitesdir onesite cgibindir wwwdir certsconfdir rrdir onecms
local sysname sysdist sysver bits
local destconfsdir a2xconf
local restart=1
parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with __display_apache_autoconf_help' \
@ -252,9 +254,30 @@ function apache_autoconf() {
--certsconfdir: certsconfdir= \
--rrdir: rrdir= \
--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"
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
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
autoconfdir="$1"; shift
@ -320,7 +343,7 @@ function apache_autoconf() {
fi
# 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 conf
etitle "Installation des configurations"
@ -331,13 +354,13 @@ function apache_autoconf() {
estep "$conf"
__apache_autoconf_fillcopy \
"$confsdir/$conf" \
"$APACHECONFDIR/conf-available/$conf" && modified=1
"$destconfsdir/$conf" && modified=1
done
eend
fi
# 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 conf
etitle "Installation des configurations des modules"
@ -370,7 +393,7 @@ function apache_autoconf() {
# Sites
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 conf confname destconf certsconf
etitle "Installation des sites"
@ -434,7 +457,7 @@ s#@@ca@@#$APACHESSLCERTSDIR/$(basename "$ca")#g
"$confdir/$conf" \
"$APACHECONFDIR/$conf" && modified=1
done
if [ -f "$confdir/confs.conf" ]; then
if [ -f "$confdir/confs.conf" -a -n "$a2xconf" ]; then
local -a confs
local 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
# pour tester si l'on est sur une distribution debian ou ubuntu *et* sur un
# 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
# 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