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
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=
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

@ -1 +1 @@
009009000
009010000

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

View File

@ -11,7 +11,7 @@ confs.conf
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
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
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
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
fichier confs.con pour l'activer.
Ce répertoire n'est supporté qu'à partir de debian jessie.
fichier confs.conf pour l'activer.
IMPORTANT: Ce répertoire n'est supporté qu'à partir de debian jessie.
modules/
Répertoire des configurations de modules à installer. Les fichiers de ce

View File

@ -14,8 +14,7 @@ OPTIONS
-c, --create
Créer un nouveau répertoire de configuration pour un hôte
-d, --destdir DESTDIR[=$TEMPLATECTL_NAME]
Nom du répertoire local de configuration. Utiliser 'apacheconfig' par
défaut.
Nom du répertoire local de configuration.
-t, --template [OPT]
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
${exec:+exec} "$ssh" "${options[@]}" "$host" "${args[@]}"
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
des arguments s'arrête à la première valeur qui n'est pas une option, afin de
@ -272,6 +276,7 @@ remove=
remove_only=
exec=1
parse=
uwatch=
parse_opts ${UTOOLS_USSH_RSYNC_SUPPORT:++} "${PRETTYOPTS[@]}" \
--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_"' \
@ -287,6 +292,7 @@ parse_opts ${UTOOLS_USSH_RSYNC_SUPPORT:++} "${PRETTYOPTS[@]}" \
--exec exec=1 \
--no-exec exec= \
--parse '$parse=1; remove=' \
--cc uwatch=1 \
@ args -- "$@" && set -- "${args[@]}" || die "$args"
if [ -n "$remove" ]; then
@ -309,6 +315,9 @@ fi
[ -n "$SSH" ] || SSH=ssh
if [ -n "$parse" ]; then
show_vars "$@"
elif [ -n "$uwatch" ]; then
__update_SSHOPTS -t
do_ssh "/usr/local/nutools/uwatch --cc"
else
do_ssh "$@"
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