Intégration de la branche release-2.24.0

This commit is contained in:
Jephté Clain 2015-12-24 09:58:40 +04:00
commit ab76191789
14 changed files with 146 additions and 14 deletions

View File

@ -1,3 +1,13 @@
## Version 2.24.0 du 24/12/2015-09:58
b288cf2 apacheconfig: support des fichiers de confs --> /etc/apache2/cond.d sur debian wheezy-
2e3fe66 ussh: forcer l'allocation d'un tty avec --cc
58fa40c ussh: ajouter le support de uwatch
7bc63c5 maj doc uwatch
2d2754b ajout de uwatch pour afficher un compte
4376fff maj doc
bb176d7 maj du template pour runsconfig
## Version 2.23.1 du 15/12/2015-11:01 ## Version 2.23.1 du 15/12/2015-11:01
d8d0cc8 cgilsxml: sélectionner automatiquement un groupe seul d8d0cc8 cgilsxml: sélectionner automatiquement un groupe seul

View File

@ -1 +1 @@
2.23.1 2.24.0

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

@ -1 +1 @@
009009000 009010000

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

View File

@ -11,7 +11,7 @@ confs.conf
Si une configuration est de la forme -conf, elle est désactivée. Si une Si une configuration est de la forme -conf, elle est désactivée. Si une
configuration est de la forme +conf, elle est activée. Cette syntaxe permet configuration est de la forme +conf, elle est activée. Cette syntaxe permet
de supporter les configurations dont le nom commencerait par '-' de supporter les configurations dont le nom commencerait par '-'
Ce fichier n'est supporté qu'à partir de debian jessie. IMPORTANT: Ce fichier n'est supporté qu'à partir de debian jessie.
modules.conf modules.conf
Liste des modules qu'il faut activer. Si un module existe mais n'est pas Liste des modules qu'il faut activer. Si un module existe mais n'est pas
@ -30,8 +30,8 @@ confs/
Répertoire des configurations à installer. Les fichiers de ce répertoire Répertoire des configurations à installer. Les fichiers de ce répertoire
sont de la forme CONF.conf et sont installés dans le répertoire sont de la forme CONF.conf et sont installés dans le répertoire
/etc/apache2/conf-available. Il faut mentionner la configuration dans le /etc/apache2/conf-available. Il faut mentionner la configuration dans le
fichier confs.con pour l'activer. fichier confs.conf pour l'activer.
Ce répertoire n'est supporté qu'à partir de debian jessie. IMPORTANT: Ce répertoire n'est supporté qu'à partir de debian jessie.
modules/ modules/
Répertoire des configurations de modules à installer. Les fichiers de ce Répertoire des configurations de modules à installer. Les fichiers de ce

View File

@ -14,8 +14,7 @@ OPTIONS
-c, --create -c, --create
Créer un nouveau répertoire de configuration pour un hôte Créer un nouveau répertoire de configuration pour un hôte
-d, --destdir DESTDIR[=$TEMPLATECTL_NAME] -d, --destdir DESTDIR[=$TEMPLATECTL_NAME]
Nom du répertoire local de configuration. Utiliser 'apacheconfig' par Nom du répertoire local de configuration.
défaut.
-t, --template [OPT] -t, --template [OPT]
Gérer les fichiers du répertoire local avec templatectl. La valeur de Gérer les fichiers du répertoire local avec templatectl. La valeur de

9
ussh
View File

@ -66,6 +66,10 @@ Les options suivantes sont exclusives à ce script:
for host in "${hosts[@]}"; do for host in "${hosts[@]}"; do
${exec:+exec} "$ssh" "${options[@]}" "$host" "${args[@]}" ${exec:+exec} "$ssh" "${options[@]}" "$host" "${args[@]}"
done'" done'"
--cc
Assumer que nutools est installé sur l'hôte distant, et y lancer uwatch
avec l'option --cc, pour permettre de garder la connexion active dans le
cadre d'une redirection de port.
Si la variable UTOOLS_USSH_RSYNC_SUPPORT contient une valeur non vide, l'analyse Si la variable UTOOLS_USSH_RSYNC_SUPPORT contient une valeur non vide, l'analyse
des arguments s'arrête à la première valeur qui n'est pas une option, afin de des arguments s'arrête à la première valeur qui n'est pas une option, afin de
@ -272,6 +276,7 @@ remove=
remove_only= remove_only=
exec=1 exec=1
parse= parse=
uwatch=
parse_opts ${UTOOLS_USSH_RSYNC_SUPPORT:++} "${PRETTYOPTS[@]}" \ parse_opts ${UTOOLS_USSH_RSYNC_SUPPORT:++} "${PRETTYOPTS[@]}" \
--help '$exit_with display_help' \ --help '$exit_with display_help' \
-1,-2,-4,-6,-A,-a,-C,-f,-g,-K,-k,-M,-N,-n,-q,-s,-T,-t,-V,-v,-X,-x,-Y,-y '$__update_SSHOPTS "$option_"' \ -1,-2,-4,-6,-A,-a,-C,-f,-g,-K,-k,-M,-N,-n,-q,-s,-T,-t,-V,-v,-X,-x,-Y,-y '$__update_SSHOPTS "$option_"' \
@ -287,6 +292,7 @@ parse_opts ${UTOOLS_USSH_RSYNC_SUPPORT:++} "${PRETTYOPTS[@]}" \
--exec exec=1 \ --exec exec=1 \
--no-exec exec= \ --no-exec exec= \
--parse '$parse=1; remove=' \ --parse '$parse=1; remove=' \
--cc uwatch=1 \
@ args -- "$@" && set -- "${args[@]}" || die "$args" @ args -- "$@" && set -- "${args[@]}" || die "$args"
if [ -n "$remove" ]; then if [ -n "$remove" ]; then
@ -309,6 +315,9 @@ fi
[ -n "$SSH" ] || SSH=ssh [ -n "$SSH" ] || SSH=ssh
if [ -n "$parse" ]; then if [ -n "$parse" ]; then
show_vars "$@" show_vars "$@"
elif [ -n "$uwatch" ]; then
__update_SSHOPTS -t
do_ssh "/usr/local/nutools/uwatch --cc"
else else
do_ssh "$@" do_ssh "$@"
fi fi

79
uwatch Executable file
View File

@ -0,0 +1,79 @@
#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source "$(dirname "$0")/lib/ulib/ulib" || exit 1
urequire DEFAULTS
function display_help() {
uecho "$scriptname: afficher l'heure
USAGE
$scriptname [options]
OPTIONS
-t, --time
Afficher l'heure (par défaut)
-c, --count
Afficher le temps écoulé depuis le lancement de ce script
-u, --units
Avec l'option --count, afficher l'unité: sec., min. ou heures
-o, --offset NBSEC
Avec l'option --count, spécifier un nombre de secondes à partir duquel
compter
-s, --step NBSECS[=1]
Spécifier la période de rafraichissement de l'affichage
-a, --prefix PREFIX
Spécifier une chaine à afficher avant l'heure
-z, --suffix SUFFIX
Spécifier une chaine à afficher après l'heure
--cc
Equivalent à -c -s 5 -a 'Connecté sur \$MYHOST depuis ' -z '...'
Permet de garantir une activité sur une connexion SSH utilisée
uniquement pour faire une redirection de port"
}
DEFAULT_STEP=1
what=time
units=
offset=
step=
prefix=
suffix=
args=(
--help '$exit_with display_help'
-t,--time what=time
-c,--count what=count
-u,--units units=1
-o:,--offset: offset=
-s:,--step: step=
-a:,--prefix: prefix=
-z:,--suffix: suffix=
--cc '$what=count; units=1; step=5; prefix="Connecté sur $MYHOST depuis "; suffix="..."'
)
parse_args "$@"; set -- "${args[@]}"
[ -n "$step" ] || step="$DEFAULT_STEP"
setx start=date +%s
[ -n "$offset" ] && start=$(($start - $offset))
while true; do
case "$what" in
time)
setx msg=date +%H:%M:%S
;;
count)
setx now=date +%s
TZ= setx msg=date -d "@$(($now - $start))" +%H:%M:%S
msg="${msg#00:}"; msg="${msg#00:}"
if [ -n "$units" ]; then
if [ ${#msg} -ge 8 ]; then msg="$msg heures"
elif [ ${#msg} -eq 5 ]; then msg="$msg min"
elif [ ${#msg} -eq 2 ]; then msg="${msg#0} sec"
fi
fi
[ ${#msg} -eq 2 ] && msg="${msg#0}"
;;
esac
echo -n $'\e[1G\e[K'"$prefix$msg$suffix"
sleep "$step"
done