ulib/sysinfos: implémenter dump_sysinfos, unsupported_system, require_sysinfos
This commit is contained in:
parent
a8fa7227b8
commit
67f29ddea4
|
@ -331,16 +331,17 @@ function ensure_sysinfos() {
|
||||||
__fix_sysinfos_downward
|
__fix_sysinfos_downward
|
||||||
}
|
}
|
||||||
|
|
||||||
function dump_sysinfos_desc() {
|
function dump_sysinfos() {
|
||||||
# Afficher les valeurs de SYSNAME, SYSDIST, SYSVER qui décrivent le système
|
# Afficher les valeurs de SYSNAME, SYSDIST, SYSVER qui décrivent le système
|
||||||
# actuel
|
# actuel
|
||||||
local sysname_="${1:-MYSYSNAME}[*]"
|
local sysname_="${1:-MYSYSNAME}[*]"
|
||||||
local sysdist_="${2:-MYSYSDIST}[*]"
|
local sysdist_="${2:-MYSYSDIST}[*]"
|
||||||
local sysver_="${3:-MYSYSVER}[*]"
|
local sysver_="${3:-MYSYSVER}[*]"
|
||||||
echo "\
|
echo "\
|
||||||
sysname: ${!sysname_}
|
sysname=(${!sysname_})
|
||||||
sysdist: ${!sysdist_}
|
sysdist=(${!sysdist_})
|
||||||
sysver: ${!sysver_}"
|
sysver=(${!sysver_})
|
||||||
|
bits=$MYBITS"
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_sysinfos_desc() {
|
function get_sysinfos_desc() {
|
||||||
|
@ -507,6 +508,32 @@ function check_sysinfos() {
|
||||||
return $r_
|
return $r_
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function unsupported_system() {
|
||||||
|
# Afficher un message d'erreur indiquant que le système actuel n'est pas
|
||||||
|
# supporté, et quitter le script
|
||||||
|
local msg="Ce script n'est pas supporté sur $(get_sysinfos_desc)"
|
||||||
|
[ -n "$*" ] && msg="$msg
|
||||||
|
Il faut au moins l'un des systèmes suivants: $*"
|
||||||
|
die "$msg"
|
||||||
|
}
|
||||||
|
|
||||||
|
function require_sysinfos() {
|
||||||
|
# Vérifier le système actuel avec check_sysinfos(), et afficher un message
|
||||||
|
# d'erreur avec unsupported_system() s'il ne correspond pas à la requête
|
||||||
|
check_sysinfos "$@" && return 0
|
||||||
|
# Construire une description du type de système attendu en fonction des
|
||||||
|
# arguments. Actuellement, on se contente de copier la ligne de commande, en
|
||||||
|
# sautant les options.
|
||||||
|
# XXX améliorer l'algorithme pour décrire précisément le système attendu
|
||||||
|
local -a infos; local info
|
||||||
|
for info in "$@"; do
|
||||||
|
if ! [[ "$info" == -* ]]; then
|
||||||
|
infos=("${infos[@]}" "$info")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
unsupported_system "${infos[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
# fonctions de support pour tester certaines versions de debian
|
# fonctions de support pour tester certaines versions de debian
|
||||||
# utilisation:
|
# utilisation:
|
||||||
# on_debian
|
# on_debian
|
||||||
|
|
|
@ -20,9 +20,5 @@ Sinon, afficher les informations sur le système courant."
|
||||||
if [ -n "$*" ]; then
|
if [ -n "$*" ]; then
|
||||||
check_sysinfos "$@"
|
check_sysinfos "$@"
|
||||||
else
|
else
|
||||||
echo "\
|
dump_sysinfos
|
||||||
sysname=(${MYSYSNAME[*]})
|
|
||||||
sysdist=(${MYSYSDIST[*]})
|
|
||||||
sysver=(${MYSYSVER[*]})
|
|
||||||
bits=$MYBITS"
|
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue