From 93d8262910843f16f0adb8f392f82bf5fe16c0f9 Mon Sep 17 00:00:00 2001 From: Jephte CLAIN Date: Fri, 15 May 2015 16:10:12 +0400 Subject: [PATCH] =?UTF-8?q?rajouter=20le=20script=20nutools=20pour=20v?= =?UTF-8?q?=C3=A9rifier=20la=20version=20install=C3=A9e=20de=20nutools=20r?= =?UTF-8?q?enommer=20la=20fonction=20nutools()=20en=20pconf()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/profile.d/nutools | 3 +- nutools | 78 +++++++++++++++++++++++++++++++++++++++++++ ulib | 13 +++++--- 3 files changed, 88 insertions(+), 6 deletions(-) create mode 100755 nutools diff --git a/lib/profile.d/nutools b/lib/profile.d/nutools index 904cf33..8159ff2 100644 --- a/lib/profile.d/nutools +++ b/lib/profile.d/nutools @@ -39,7 +39,7 @@ function pcd() { dir="$("@@dest@@/uproject" "get$prop")" || return 1 [ -n "$dir" ] && cd "$dir" } -function nutools() { +function pconf() { if [ -n "$1" ]; then case "$1" in 0|d|dis|disable) UTOOLS_AUTO=;; @@ -83,7 +83,6 @@ function nutools() { done fi } -function utools() { nutools "$@"; } if [ -n "$UTOOLS_USSH_ALIAS" ]; then function ssh() { "@@dest@@/ussh" "$@"; } diff --git a/nutools b/nutools new file mode 100755 index 0000000..ef784c2 --- /dev/null +++ b/nutools @@ -0,0 +1,78 @@ +#!/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: configurer ou afficher des informations sur nutools + +USAGE + $scriptname [VERSION] + +OPTIONS + -C, --configure + Faire la configuration pour l'utilisateur courant en appelant uenv -u + -v, --version + Afficher la version de nutools installée. C'est l'option par défaut + -c, --check + Calculer si la version installée correspond à la version spécifiée + -o, --oper OPERATOR + Spécifier l'opérateur à utiliser avec l'option --check (par défaut, + utiliser l'opérateur ge, qui permet de vérifier si la version minimum + spécifiée est installée) + --eq + --ne + --lt + --le + --gt + --ge + --same + --diff + Ces options sont des raccourcis. L'option '--OP' est équivalente à + '--check --op OP'" +} + +action=show +coper= +args=( + --help '$exit_with display_help' + -C,--configure action=configure + -v,--version action=show + -c,--check action=check + -o:,--oper:,--op: '$action=check; set@ coper' + --eq '$action=check; coper=eq' + --ne '$action=check; coper=ne' + --lt '$action=check; coper=lt' + --le '$action=check; coper=le' + --gt '$action=check; coper=gt' + --ge '$action=check; coper=ge' + --same '$action=check; coper=same' + --diff '$action=check; coper=diff' +) +parse_args "$@"; set -- "${args[@]}" + +case "$action" in +configure) + "$scriptdir/uenv" -u + ;; +show) + setx nutoolsver="$scriptdir/pver" -F "$scriptdir/VERSION.txt" --show + setx ulibver="$scriptdir/ulib" -v + if isatty; then + eecho "Répertoire d'installation: $scriptdir" + eecho "Version de nutools: ${COULEUR_BLEUE}$nutoolsver${COULEUR_NORMALE}" + eecho "Version de ulib: ${COULEUR_BLEUE}$ulibver${COULEUR_NORMALE}" + else + echo "$nutoolsver" + fi + ;; +check) + [ -n "$coper" ] || coper=ge + cvers="$1" + [ -n "$cvers" ] || die "Vous devez spécifier la version pour la comparaison" + case "$coper" in + eq|ne|lt|le|gt|ge|same|diff) "$scriptdir/pver" -F "$scriptdir/VERSION.txt" "--$coper" "$cvers";; + *) die "$coper: Opérateur invalide";; + esac + ;; +esac diff --git a/ulib b/ulib index 9e57226..1a91c35 100755 --- a/ulib +++ b/ulib @@ -254,19 +254,24 @@ version) fi if [ "$action" == show ]; then - echo "ulib est en version $pversion" if [ -n "$system" ]; then setx sversion formatversion 0 0 0 sversionfile="/etc/.ulibver" [ -f "$sversionfile" ] && sversion="$(<"$sversionfile")" parseversion "$(<"$versionfile")" s - echo "/etc/ulib est en version $spversion" + fi + if isatty; then + eecho "ulib est en version $pversion" + [ -n "$system" ] && eecho "/etc/ulib est en version $spversion" + else + echo "$pversion" + [ -n "$system" ] && echo "$spversion" fi elif [ "$action" == set ]; then parsepversion "$set_version" formatversion >"$versionfile" - echo "ulib est maintenant en version $pversion" + eecho "ulib est maintenant en version $pversion" elif [ "$action" == inc ]; then case "$inc_version" in @@ -276,7 +281,7 @@ version) esac formatversion >"$versionfile" parseversion "$(<"$versionfile")" - echo "ulib est maintenant en version $pversion" + eecho "ulib est maintenant en version $pversion" elif [ "$action" == check ]; then r=1