diff --git a/CHANGES.txt b/CHANGES.txt index 37e622b..e667ece 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,11 @@ +## Version 2.7.0 du 17/07/2015-22:03 + +7e2a6c3 update-nutools ignore par défaut l'eventuel proxy défini par http_proxy +13215c3 apacheconfig: améliorer l'affichage de l'aide et support du répertoire .apacheconfig +27f5f7a pyulib honore maintenant UTOOLS_NO_COLORS +3ee6cb4 diminuer l'indentation pour les fonctions e* +d4ac5f7 modifier l'affichage des fonction e* + ## Version 2.6.0 du 10/07/2015-17:32 efa6b3a Intégration de la branche ftps diff --git a/VERSION.txt b/VERSION.txt index e70b452..24ba9a3 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -2.6.0 +2.7.0 diff --git a/apacheconfig b/apacheconfig index 0d24d46..f7af26a 100755 --- a/apacheconfig +++ b/apacheconfig @@ -10,6 +10,14 @@ USAGE $scriptname [options] OPTIONS + --help-template + Afficher toutes les options qui concernent la gestion des templates + --help-files + Afficher une description des fichiers qui peuvent se trouver dans le + répertoire local + --help-deploy + Afficher l'aide sur les options avancées pour le déploiement + Les options suivantes servent à mettre à jour la configuration apache dans un répertoire de référence appelé répertoire local, avant son déploiement. -d, --destdir DESTDIR @@ -21,35 +29,62 @@ répertoire de référence appelé répertoire local, avant son déploiement. Copier les templates spécifiés dans le répertoire local s'il n'y existent pas déjà. Les templates ayant l'extension '.template' doivent être demandés explicitement. Sinon, ils sont ignorés. - -z, --unmerge - Supprimer les fichiers du répertoire local s'ils n'ont pas été modifiés - par rapport aux templates. - -C, --clean - Supprimer les répertoires vides dans le répertoire local. Peut être - utile après -z - -g, --diff - Afficher les différences entre les templates et les fichiers du - répertoire local. - --list-vars - Afficher pour information les valeurs par défaut des variables de - template. - --write-vars - Ecrire dans le fichier .apacheconfig les valeurs par défaut des - variables, ce qui permet après édition du fichier d'éviter de les - spécifier à chaque fois avec l'option -v - Le fichier n'est pas écrasé s'il existe déjà. - -v, --var NAME=VALUE - Spécifier la valeur d'une variable. Il est possible de spécifier des - valeurs qui ne sont pas dans la liste prédéfinie. Par défaut, il s'agit - d'une variable de template, utilisée pour mettre à jour la copie locale - d'un template avec l'option --merge - Dans le fichier .apacheconfig, les valeurs des variables de template - n'est pas censée changer. Lors de la copie des templates avec --merge, - chaque occurence de @@VAR@@ dans un template est remplacée dans la copie - locale par la valeur de la variable de template VAR - Les variables dynamiques sont remplacées lors du déploiement du fichier - avec l'option --update +Les options suivantes permettent de déployer les fichiers du répertoire local. +IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que +sur debian + -u, --update, --deploy + Mettre à jour la configuration système à partir du répertoire local. + Lors du déploiement de la configuration, les valeurs de variables + dynamiques sont remplacées dans les fichiers destination. + -r, --certsdir CERTSDIR + Spécifier le cas échéant le répertoire contenant les certificats à + déployer." +} +function __templatectl_display_help() { display_help; } +function display_template_help() { + uecho "\ +Les options suivantes servent à mettre à jour la configuration apache dans un +répertoire de référence appelé répertoire local, avant son déploiement. + +-d, --destdir DESTDIR + Spécifier le répertoire local dans lequel copier la configuration apache. +-l, --list + Lister les templates disponibles. +-m, --merge + Copier les templates spécifiés dans le répertoire local s'il n'y existent + pas déjà. Les templates ayant l'extension '.template' doivent être demandés + explicitement. Sinon, ils sont ignorés. +-z, --unmerge + Supprimer les fichiers du répertoire local s'ils n'ont pas été modifiés par + rapport aux templates. +-C, --clean + Supprimer les répertoires vides dans le répertoire local. Peut être utile + après -z +-g, --diff + Afficher les différences entre les templates et les fichiers du répertoire + local. +--list-vars + Afficher pour information les valeurs par défaut des variables de template. +--write-vars + Ecrire dans le fichier .apacheconfig les valeurs par défaut des variables, + ce qui permet après édition du fichier d'éviter de les spécifier à chaque + fois avec l'option -v + Le fichier n'est pas écrasé s'il existe déjà. +-v, --var NAME=VALUE + Spécifier la valeur d'une variable. Il est possible de spécifier des valeurs + qui ne sont pas dans la liste prédéfinie. Par défaut, c'est une variable de + template, utilisée pour mettre à jour la copie locale d'un template avec + l'option --merge + Dans le fichier .apacheconfig, les valeurs des variables de template n'est + pas censée changer. Lors de la copie des templates avec --merge, chaque + occurence de @@VAR@@ dans un template est remplacée dans la copie locale par + la valeur de la variable de template VAR + Les variables dynamiques sont remplacées lors du déploiement du fichier avec + l'option --update" +} +function display_files_help() { + uecho "\ Le répertoire local peut contenir les fichiers et répertoires suivants, qui sont tous optionnels: @@ -83,48 +118,38 @@ tous optionnels: Les fichiers de ce répertoire sont de la forme NAME-certs.conf et chacun d'eux correspondant en principe à un fichier NAME.ssl.conf dans sites/ - RewriteRules/ le répertoire qui contient la configuration de réécriture. Tous - les fichiers RewriteRules*.conf de ce répertoire sont copiés dans /etc/apache2 - -Les options suivantes permettent de déployer les fichiers du répertoire local. -IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que -sur debian - -u, --update, --deploy - Mettre à jour la configuration système à partir du répertoire local. - Lors du déploiement de la configuration, les valeurs de variables - dynamiques sont remplacées dans les fichiers destination. - -r, --certsdir CERTSDIR - Spécifier le cas échéant le répertoire contenant les certificats à - déployer. - -OPTIONS AVANCEES - --confdir CONFDIR - Spécifier l'emplacement des fichiers de configuration apache ainsi que - les fichiers 'modules.conf' et 'sites.conf'. Par défaut, prendre le - répertoire local. - --modulesdir MODULESDIR - Spécifier l'emplacement des fichiers de configuration des modules. Par - défaut, utiliser DESTDIR/modules si ce répertoire existe. - --sitesdir SITESDIR - Spécifier l'emplacement des fichiers de configuration des sites. Par - défaut, utiliser DESTDIR/sites si ce répertoire existe. - --cgibindir CGIBINDIR - Spécifier l'emplacement des scripts cgi à installer. Par défaut, - utiliser DESTDIR/cgi-bin si ce répertoire existe. - --wwwdir WWWDIR - Spécifier l'emplacement des fichiers du serveur web. Par défaut, - utiliser DESTDIR/www si ce répertoire existe. - --certsconfdir CERTSCONFDIR - Spécifier l'emplacement des fichiers de configuration des certificats. - Par défaut, utiliser DESTDIR/certsconf si ce répertoire existe. Il faut - alors spécifier aussi CERTSDIR, l'emplacement des certificats à - installer. - --rrdir RRDIR - Spécifier l'emplacement des fichiers de réécriture. Par défaut, - utiliser DESTDIR/RewriteRules si ce répertoire existe. - --no-restart - Ne pas redémarrer apache en cas de modification de la configuration" + les fichiers RewriteRules*.conf de ce répertoire sont copiés dans /etc/apache2" +} +function display_deploy_help() { + uecho "\ +Les options suivantes sont des options avancées pour le déploiment des fichiers: + +--confdir CONFDIR + Spécifier l'emplacement des fichiers de configuration apache ainsi que les + fichiers 'modules.conf' et 'sites.conf'. Par défaut, prendre le répertoire + local. +--modulesdir MODULESDIR + Spécifier l'emplacement des fichiers de configuration des modules. Par + défaut, utiliser DESTDIR/modules si ce répertoire existe. +--sitesdir SITESDIR + Spécifier l'emplacement des fichiers de configuration des sites. Par défaut, + utiliser DESTDIR/sites si ce répertoire existe. +--cgibindir CGIBINDIR + Spécifier l'emplacement des scripts cgi à installer. Par défaut, utiliser + DESTDIR/cgi-bin si ce répertoire existe. +--wwwdir WWWDIR + Spécifier l'emplacement des fichiers du serveur web. Par défaut, utiliser + DESTDIR/www si ce répertoire existe. +--certsconfdir CERTSCONFDIR + Spécifier l'emplacement des fichiers de configuration des certificats. Par + défaut, utiliser DESTDIR/certsconf si ce répertoire existe. Il faut alors + spécifier aussi CERTSDIR, l'emplacement des certificats à installer. +--rrdir RRDIR + Spécifier l'emplacement des fichiers de réécriture. Par défaut, utiliser + DESTDIR/RewriteRules si ce répertoire existe. +--no-restart + Ne pas redémarrer apache en cas de modification de la configuration" } -function __templatectl_display_help() { display_help; } # Valeurs par défaut des variables de template DEFAULT_TEMPLATE_VARS=( @@ -144,7 +169,7 @@ function parent_apacheconfig() { local dir="$(pwd)" dirname while true; do - dirname="$(basename -- "$dir")" + setx dirname=basename -- "$dir" if [ "$dir" == / ]; then # s'arrêter à la racine return 1 @@ -154,8 +179,11 @@ function parent_apacheconfig() { elif [ "$dirname" == apacheconfig ]; then echo "$dir" return 0 + elif [ "$dirname" == .apacheconfig ]; then + echo "$dir" + return 0 fi - dir="$(dirname -- "$dir")" + setx dir=dirname -- "$dir" done } @@ -204,6 +232,9 @@ __certsconfdir= __rrdir= __restart=1 __TEMPLATECTL_SUPPLOPTS=( + --help-template '$exit_with display_template_help' + --help-files '$exit_with display_files_help' + --help-deploy '$exit_with display_deploy_help' -v:,--var: __vars --list-vars __list_vars=1 --write-vars __write_vars=1 @@ -219,8 +250,7 @@ __TEMPLATECTL_SUPPLOPTS=( --restart __restart=1 --no-restart __restart= ) -__templatectl_parseopts "$@" && \ - set -- "${args[@]}" || die "$args" +__templatectl_parseopts "$@" && set -- "${args[@]}" || die "$args" # répertoire de template setx __templatectl_srcdir=templatesrc apacheconfig @@ -230,6 +260,8 @@ __autocreate= if [ -z "$__templatectl_destdir" ]; then if [ -d apacheconfig ]; then __templatectl_destdir=apacheconfig + elif [ -d .apacheconfig ]; then + __templatectl_destdir=.apacheconfig elif setx __templatectl_destdir=parent_apacheconfig; then estepn "Sélection automatique de $(ppath "$__templatectl_destdir")" elif [ -e apacheconfig ]; then diff --git a/lib/pyulib/src/ulib/base/output.py b/lib/pyulib/src/ulib/base/output.py index e3ab2be..4eed0cf 100644 --- a/lib/pyulib/src/ulib/base/output.py +++ b/lib/pyulib/src/ulib/base/output.py @@ -40,7 +40,7 @@ OUT_ISATTY = _isatty(OUT) ERR = sys.stderr ERR_ISATTY = _isatty(ERR) -USE_COLORS = OUT_ISATTY and ERR_ISATTY +USE_COLORS = OUT_ISATTY and ERR_ISATTY and not os.environ.get('UTOOLS_NO_COLORS', '') RESET = '0' BLACK = '30'; RED = '31'; GREEN = '32'; YELLOW = '33' BLUE = '34'; MAGENTA = '35'; CYAN = '36'; WHITE = '37' @@ -210,18 +210,18 @@ def eerror(msg=None, flush=None, show_tb=False): if msg is None or show_tb: cls, obj, tb = sys.exc_info() msg, nl = __add_suffix(msg, cls, obj, tb, show_tb) - eprint((('error: ', 'r,@'), msg), V_ERROR, nl, flush, ERR) -def ewarn(msg, flush=None): eprint((('warning: ', 'y,@'), msg), V_WARNING, True, flush, ERR) -def enote(msg, flush=None): eprint((('note: ', 'g,@'), msg), V_INFO, True, flush, ERR) -def eimportant(msg, flush=None): eprint((('important: ', 'r,@'), msg), V_ERROR, True, flush, ERR) -def eattention(msg, flush=None): eprint((('attention: ', 'y,@'), msg), V_WARNING, True, flush, ERR) -def einfo(msg, flush=None): eprint((('info: ', 'b,@'), msg), V_INFO, True, flush, ERR) + eprint((('E ', 'r,@'), msg), V_ERROR, nl, flush, ERR) +def ewarn(msg, flush=None): eprint((('W ', 'y,@'), msg), V_WARNING, True, flush, ERR) +def enote(msg, flush=None): eprint((('N ', 'g,@'), msg), V_INFO, True, flush, ERR) +def eimportant(msg, flush=None): eprint((('! ', 'r,@'), msg), V_ERROR, True, flush, ERR) +def eattention(msg, flush=None): eprint((('* ', 'y,@'), msg), V_WARNING, True, flush, ERR) +def einfo(msg, flush=None): eprint((('I ', 'b,@'), msg), V_INFO, True, flush, ERR) def eecho(msg, flush=None): eprint(msg, V_INFO, True, flush, ERR) def eecho_(msg, flush=None): eprint(msg, V_INFO, False, flush, ERR) -def edebug(msg, flush=None): eprint((('debug: ', 'w,@'), msg), V_DEBUG, True, flush, ERR) +def edebug(msg, flush=None): eprint((('D ', 'w,@'), msg), V_DEBUG, True, flush, ERR) -def get_ntlevel(): return len(get_tlevel()) / 4 -def set_ntlevel(l): set_tlevel(l * ' ') +def get_ntlevel(): return len(get_tlevel()) / 2 +def set_ntlevel(l): set_tlevel(l * ' ') def inc_ntlevel(): if get_estack() != '': set_ntlevel(get_ntlevel() + 1) def dec_ntlevel(): @@ -262,19 +262,19 @@ def etitle(title, func_or_result=None, *args, **kw): estack = get_estack() inc_ntlevel() add_estack('t') - eprint((('+++ ', 'b,@'), (title, 'b,@,_')), V_INFO, True, True, ERR) + eprint((('T ', 'b,@'), (title, 'b,@,_')), V_INFO, True, True, ERR) if func_or_result is not None: eend(func_or_result, *args, **kw) def estep(msg, func_or_result=None, flush=None): r, msg, exc_info = _result(msg, func_or_result) - eprint((('* ', 'w,@'), msg), V_INFO, True, flush, ERR) + eprint((('. ', 'w,@'), msg), V_INFO, True, flush, ERR) _raise(exc_info) def estep_(msg, func_or_result=None, flush=None): r, msg, exc_info = _result(msg, func_or_result) - eprint((('* ', 'w,@'), msg), V_INFO, False, flush, ERR) + eprint((('. ', 'w,@'), msg), V_INFO, False, flush, ERR) _raise(exc_info) def ebegin(title, func_or_result=None, *args, **kw): add_estack('b') - eprint((('* ', 'w,@'), title + ': '), V_INFO, False, True, ERR) + eprint((('. ', 'w,@'), title + ': '), V_INFO, False, True, ERR) if func_or_result is not None: eend(func_or_result, *args, **kw) def _edoto(): eprint('.', V_INFO, False, True, ERR) def _edotx(): eprint((('x', 'r,@'),), V_INFO, False, True, ERR) diff --git a/lib/ulib/base b/lib/ulib/base index c6218ef..a48f49f 100644 --- a/lib/ulib/base +++ b/lib/ulib/base @@ -2966,9 +2966,9 @@ function __indent() { fi } # fonctions à surcharger pour modifier la façon dont les messages sont affichés -function __eerror() { tooenc "$(__edate)${__tlevel}* error: $(__indent "$1")"; } -function __ewarn() { tooenc "$(__edate)${__tlevel}* warning: $(__indent "$1")"; } -function __enote() { tooenc "$(__edate)${__tlevel}* note: $(__indent "$1")"; } +function __eerror() { tooenc "$(__edate)${__tlevel}E $(__indent "$1")"; } +function __ewarn() { tooenc "$(__edate)${__tlevel}W $(__indent "$1")"; } +function __enote() { tooenc "$(__edate)${__tlevel}N $(__indent "$1")"; } function __ebanner() { local maxi="${COLUMNS:-80}" local -a lines @@ -2990,24 +2990,24 @@ function __ebanner() { done tooenc "$psfix" } -function __eimportant() { tooenc "$(__edate)${__tlevel}* important: $(__indent "$1")"; } -function __eattention() { tooenc "$(__edate)${__tlevel}* attention: $(__indent "$1")"; } -function __einfo() { tooenc "$(__edate)${__tlevel}* info: $(__indent "$1")"; } +function __eimportant() { tooenc "$(__edate)${__tlevel}! $(__indent "$1")"; } +function __eattention() { tooenc "$(__edate)${__tlevel}* $(__indent "$1")"; } +function __einfo() { tooenc "$(__edate)${__tlevel}I $(__indent "$1")"; } function __eecho() { tooenc "$(__edate)${__tlevel}$(__indent "$1")"; } function __eecho_() { tooenc_ "$(__edate)${__tlevel}$(__indent "$1")"; } -function __edebug() { tooenc "$(__edate)${__tlevel}* debug: $(__indent "$1")"; } -function __estep() { tooenc "$(__edate)${__tlevel}* $(__indent "$1")"; } +function __edebug() { tooenc "$(__edate)${__tlevel}D $(__indent "$1")"; } +function __estep() { tooenc "$(__edate)${__tlevel}. $(__indent "$1")"; } function __estepe() { __estep "$@"; } function __estepw() { __estep "$@"; } function __estepn() { __estep "$@"; } function __estepi() { __estep "$@"; } -function __estep_() { tooenc_ "$(__edate)${__tlevel}* $(__indent "$1")"; } +function __estep_() { tooenc_ "$(__edate)${__tlevel}. $(__indent "$1")"; } function __estepe_() { __estep_ "$@"; } function __estepw_() { __estep_ "$@"; } function __estepn_() { __estep_ "$@"; } function __estepi_() { __estep_ "$@"; } -function __etitle() { tooenc "$(__edate)${__tlevel}+++ $(__indent "$1")"; } -function __ebegin() { tooenc_ "$(__edate)${__tlevel}* $(__indent "$1"): "; } +function __etitle() { tooenc "$(__edate)${__tlevel}T $(__indent "$1")"; } +function __ebegin() { tooenc_ "$(__edate)${__tlevel}. $(__indent "$1"): "; } function __edoto() { echo_ "."; } function __edotw() { echo_ "w"; } function __edotx() { echo_ "x"; } @@ -3167,7 +3167,7 @@ function __t_etitle() { local __t_title="$1"; shift local __t_s=0 # etitle - [ -n "$__estack" ] && __tlevel="${__tlevel} " + [ -n "$__estack" ] && __tlevel="${__tlevel} " __estack="$__estack:t" if show_info; then if [ -n "$__t_deferred" ]; then @@ -3351,7 +3351,7 @@ function eend() { elif [ "${__estack%:t}" != "$__estack" ]; then # terminer etitle -s __estack="${__estack%:t}" - __tlevel="${__tlevel% }" + __tlevel="${__tlevel% }" fi } function __elinedots() { diff --git a/lib/ulib/pretty b/lib/ulib/pretty index 75acb9e..31f962b 100644 --- a/lib/ulib/pretty +++ b/lib/ulib/pretty @@ -67,9 +67,9 @@ function __set_no_colors() { } __set_no_colors -function __eerror() { tooenc "$(__edate)${__tlevel}${COULEUR_ROUGE}* error:${COULEUR_NORMALE} $(__indent "$1")"; } -function __ewarn() { tooenc "$(__edate)${__tlevel}${COULEUR_JAUNE}* warning:${COULEUR_NORMALE} $(__indent "$1")"; } -function __enote() { tooenc "$(__edate)${__tlevel}${COULEUR_VERTE}* note:${COULEUR_NORMALE} $(__indent "$1")"; } +function __eerror() { tooenc "$(__edate)${__tlevel}${COULEUR_ROUGE}E${COULEUR_NORMALE} $(__indent "$1")"; } +function __ewarn() { tooenc "$(__edate)${__tlevel}${COULEUR_JAUNE}W${COULEUR_NORMALE} $(__indent "$1")"; } +function __enote() { tooenc "$(__edate)${__tlevel}${COULEUR_VERTE}N${COULEUR_NORMALE} $(__indent "$1")"; } function __ebanner() { local maxi="${COLUMNS:-80}" local -a lines @@ -91,22 +91,22 @@ function __ebanner() { done tooenc "$psfix$COULEUR_NORMALE" } -function __eimportant() { tooenc "$(__edate)${__tlevel}${COULEUR_ROUGE}* important:${COULEUR_NORMALE} $(__indent "$1")"; } -function __eattention() { tooenc "$(__edate)${__tlevel}${COULEUR_JAUNE}* attention:${COULEUR_NORMALE} $(__indent "$1")"; } -function __einfo() { tooenc "$(__edate)${__tlevel}${COULEUR_BLEUE}* info:${COULEUR_NORMALE} $(__indent "$1")"; } -function __edebug() { tooenc "$(__edate)${__tlevel}${COULEUR_BLANCHE}* debug:${COULEUR_NORMALE} $(__indent "$1")"; } -function __estep() { tooenc "$(__edate)${__tlevel}${COULEUR_BLANCHE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estepe() { tooenc "$(__edate)${__tlevel}${COULEUR_ROUGE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estepw() { tooenc "$(__edate)${__tlevel}${COULEUR_JAUNE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estepn() { tooenc "$(__edate)${__tlevel}${COULEUR_VERTE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estepi() { tooenc "$(__edate)${__tlevel}${COULEUR_BLEUE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estep_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_BLANCHE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estepe_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_ROUGE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estepw_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_JAUNE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estepn_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_VERTE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __estepi_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_BLEUE}*${COULEUR_NORMALE} $(__indent "$1")"; } -function __etitle() { tooenc "$(__edate)${__tlevel}${COULEUR_BLEUE}+++ $(get_color _)$(__indent "$1")${COULEUR_NORMALE}"; } -function __ebegin() { tooenc_ "$(__edate)${__tlevel}${COULEUR_BLANCHE}*${COULEUR_NORMALE} $(__indent "$1"): "; } +function __eimportant() { tooenc "$(__edate)${__tlevel}${COULEUR_ROUGE}!${COULEUR_NORMALE} $(__indent "$1")"; } +function __eattention() { tooenc "$(__edate)${__tlevel}${COULEUR_JAUNE}*${COULEUR_NORMALE} $(__indent "$1")"; } +function __einfo() { tooenc "$(__edate)${__tlevel}${COULEUR_BLEUE}I${COULEUR_NORMALE} $(__indent "$1")"; } +function __edebug() { tooenc "$(__edate)${__tlevel}${COULEUR_BLANCHE}D${COULEUR_NORMALE} $(__indent "$1")"; } +function __estep() { tooenc "$(__edate)${__tlevel}${COULEUR_BLANCHE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estepe() { tooenc "$(__edate)${__tlevel}${COULEUR_ROUGE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estepw() { tooenc "$(__edate)${__tlevel}${COULEUR_JAUNE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estepn() { tooenc "$(__edate)${__tlevel}${COULEUR_VERTE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estepi() { tooenc "$(__edate)${__tlevel}${COULEUR_BLEUE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estep_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_BLANCHE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estepe_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_ROUGE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estepw_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_JAUNE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estepn_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_VERTE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __estepi_() { tooenc_ "$(__edate)${__tlevel}${COULEUR_BLEUE}.${COULEUR_NORMALE} $(__indent "$1")"; } +function __etitle() { tooenc "$(__edate)${__tlevel}${COULEUR_BLEUE}T $(get_color _)$(__indent "$1")${COULEUR_NORMALE}"; } +function __ebegin() { tooenc_ "$(__edate)${__tlevel}${COULEUR_BLANCHE}.${COULEUR_NORMALE} $(__indent "$1"): "; } function __edoto() { echo_ "."; } function __edotw() { echo_ "${COULEUR_JAUNE}w${COULEUR_NORMALE}"; } function __edotx() { echo_ "${COULEUR_ROUGE}x${COULEUR_NORMALE}"; } diff --git a/update-nutools b/update-nutools index aafc055..4cf3ace 100755 --- a/update-nutools +++ b/update-nutools @@ -8,6 +8,8 @@ PUB_REPO=http://vcs.univ-reunion.fr/anongit/modules/nutools.git NAME=nutools ################################################################################ +[ -z "$update_nutools_use_proxy" ] && export http_proxy= + CURL="$(which curl 2>/dev/null)" WGET="$(which wget 2>/dev/null)" if [ -n "$NUTOOLS_REPO" ]; then