support de on_debian() avec des arguments

This commit is contained in:
Jephte CLAIN 2016-04-07 14:57:20 +04:00
parent 1a9358f08b
commit d021c97ede
1 changed files with 20 additions and 8 deletions

View File

@ -483,10 +483,10 @@ function check_sysinfos() {
# fonctions de support pour tester certaines versions de debian # fonctions de support pour tester certaines versions de debian
# utilisation: # utilisation:
# on_debian # on_debian
# if on_jessie; then # if on_jessie; then xxx
# elif on_wheezy; then # elif on_wheezy; then yyy
# elif on_squeeze; then # elif on_squeeze; then zzz
# else # else ttt
# fi # fi
# OU: # OU:
# on_debian: # on_debian:
@ -494,14 +494,26 @@ function check_sysinfos() {
# on_wheezy yyy # on_wheezy yyy
# on_squeeze zzz # on_squeeze zzz
# on_default ttt # on_default ttt
# Sans arguments, on_{jessie,wheezy,squeeze} teste si on sur la version demandée # Sans arguments, on_{jessie,wheezy,squeeze} testent si on est sur la version
# OU SUPERIEURE. Avec un argument, la version EXACTE est testée, et la commande # demandée OU SUPERIEURE. Avec un argument, la version EXACTE est testée, et la
# est lancée en cas de correspondance # commande est lancée en cas de correspondance
# la forme 'on_debian CMD' est supporté aussi et permet de lancer CMD si on est
# sur debian, e.g.:
# on_debian pkg_check_install dot graphviz
# on_default ewarn "Il faut installer graphviz manuellement"
function on_debian() { function on_debian() {
# Tester si on est sur debian. charger le module debian si c'est le cas.
# Si une commande $1..@ est spécifiée, la lancer, mais il n'est alors plus
# possible de lancer des tests plus spécifiques avec __on_debian()
NUTOOLS_ON_DEBIAN= NUTOOLS_ON_DEBIAN=
if check_sysinfos -d debian; then if check_sysinfos -d debian; then
urequire debian urequire debian
if [ $# -gt 0 ]; then
NUTOOLS_ON_DEBIAN=debian
"$@"
else
NUTOOLS_ON_DEBIAN=1 NUTOOLS_ON_DEBIAN=1
fi
return 0 return 0
else else
return 1 return 1