57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |