fonctions pour faciliter la gestion des dépendances sous debian
This commit is contained in:
parent
2c27f03ba0
commit
1864cdf4dd
|
@ -50,6 +50,15 @@ function pkg_installm() {
|
|||
fi
|
||||
}
|
||||
|
||||
function pkg_check_install() {
|
||||
# Si le programme $1 n'existe pas, alors installer les packages $2..$@
|
||||
# S'il n'y a pas d'arguments $2..$@ utiliser $1 comme nom de package
|
||||
# Retourner 0 si au moins un des packages a été installé
|
||||
progexists "$1" && return 1
|
||||
[ $# -gt 1 ] && shift
|
||||
pkg_installm "$@"
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Gestion des services
|
||||
|
||||
|
|
|
@ -479,3 +479,69 @@ function check_sysinfos() {
|
|||
done
|
||||
return $r_
|
||||
}
|
||||
|
||||
# fonctions de support pour tester certaines versions de debian
|
||||
# utilisation:
|
||||
# on_debian
|
||||
# if on_jessie; then
|
||||
# elif on_wheezy; then
|
||||
# elif on_squeeze; then
|
||||
# else
|
||||
# fi
|
||||
# OU:
|
||||
# on_debian:
|
||||
# on_jessie xxx
|
||||
# on_wheezy yyy
|
||||
# on_squeeze zzz
|
||||
# on_default ttt
|
||||
# Sans arguments, on_{jessie,wheezy,squeeze} teste si on sur la version demandée
|
||||
# OU SUPERIEURE. Avec un argument, la version EXACTE est testée, et la commande
|
||||
# est lancée en cas de correspondance
|
||||
function on_debian() {
|
||||
NUTOOLS_ON_DEBIAN=
|
||||
if check_sysinfos -d debian; then
|
||||
urequire debian
|
||||
NUTOOLS_ON_DEBIAN=1
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
function on_debian:() { on_debian "$@"; }
|
||||
function __on_debian() {
|
||||
[ -z "$NUTOOLS_ON_DEBIAN" -o "$NUTOOLS_ON_DEBIAN" != 1 ] && return 1
|
||||
local sysver="$1"; shift
|
||||
if [ $# -gt 0 ]; then
|
||||
if check_sysinfos -d debian -v "$sysver"; then
|
||||
NUTOOLS_ON_DEBIAN="$sysver"
|
||||
"$@"
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
if check_sysinfos -d debian -v "$sysver+"; then
|
||||
NUTOOLS_ON_DEBIAN="$sysver"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function on_stretch() { __on_debian stretch "$@"; }
|
||||
function on_jessie() { __on_debian jessie "$@"; }
|
||||
function on_wheezy() { __on_debian wheezy "$@"; }
|
||||
function on_squeeze() { __on_debian squeeze "$@"; }
|
||||
function on_default() {
|
||||
if [ "$NUTOOLS_ON_DEBIAN" == 1 ]; then
|
||||
if [ $# -gt 0 ]; then
|
||||
"$@"
|
||||
return 0
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
elif [ -n "$NUTOOLS_ON_DEBIAN" ]; then
|
||||
return 1
|
||||
fi
|
||||
#XXX ici, on peut ajouter le code de support pour d'autres systèmes
|
||||
return 1
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue