nutools/nutools

79 lines
2.3 KiB
Bash
Executable File

#!/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