57 lines
1.6 KiB
Plaintext
57 lines
1.6 KiB
Plaintext
|
#!/bin/bash
|
||
|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||
|
|
||
|
function display_help() {
|
||
|
uecho "$scriptname: Gestion de la version de ulib
|
||
|
|
||
|
USAGE
|
||
|
$scriptname [options]
|
||
|
|
||
|
OPTIONS
|
||
|
-l, --show
|
||
|
Afficher la version de la librairie (par défaut)
|
||
|
-s, --system
|
||
|
Afficher aussi la version de la librairie système
|
||
|
-c, --check MIN_VERSION
|
||
|
Vérifier que la version de la librairie est au minimum MIN_VERSION, et
|
||
|
afficher un message d'information. Utiliser l'option -q si l'on veut
|
||
|
juste tester la version et ne pas afficher le message d'information."
|
||
|
}
|
||
|
|
||
|
source "$(dirname "$0")/ulib/ulib" &&
|
||
|
urequire DEFAULTS ||
|
||
|
exit 1
|
||
|
|
||
|
action=show
|
||
|
system=
|
||
|
min_version=
|
||
|
parse_opts "${PRETTYOPTS[@]}" \
|
||
|
--help '$exit_with display_help' \
|
||
|
-l,--show action=show \
|
||
|
-s,--system system=1 \
|
||
|
-c:,--check: '$set@ min_version; action=check' \
|
||
|
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||
|
|
||
|
version=0
|
||
|
versionfile="$scriptdir/ulib/.ulib_version"
|
||
|
[ -f "$versionfile" ] && version="$(<"$versionfile")"
|
||
|
|
||
|
if [ "$action" == show ]; then
|
||
|
echo "ulib est en version $version"
|
||
|
if [ -n "$system" ]; then
|
||
|
version=0
|
||
|
versionfile="/etc/.ulib_version"
|
||
|
[ -f "$versionfile" ] && version="$(<"$versionfile")"
|
||
|
echo "/etc/ulib est en version $version"
|
||
|
fi
|
||
|
elif [ "$action" == check ]; then
|
||
|
r=1
|
||
|
[ $version -ge $min_version ] && r=0
|
||
|
if [ $r -eq 0 ]; then
|
||
|
einfo "ulib est en version $version >= $min_version ${COULEUR_VERTE}[OK]${COULEUR_NORMALE}"
|
||
|
else
|
||
|
einfo "ulib est en version $version < $min_version ${COULEUR_ROUGE}[KO]${COULEUR_NORMALE}"
|
||
|
fi
|
||
|
exit $r
|
||
|
fi
|