From 2c377991b9cc9bcf41e35ae0950a9e99b776d353 Mon Sep 17 00:00:00 2001 From: scith Date: Tue, 17 Jan 2017 18:45:01 +0100 Subject: [PATCH] Ajout de l'option "na" (non applicable) Cette option permet d'ignorer un niveau dans le calcul du niveau final --- README.md | 4 ++-- package_check.sh | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index cc45848..3700dc4 100644 --- a/README.md +++ b/README.md @@ -130,8 +130,8 @@ Si un test est absent de la liste, il sera ignoré. Cela revient à le noter à ### `;;; Levels` Permet de choisir comment [chaque niveau](https://forum.yunohost.org/t/redaction-de-regles-pour-passer-une-app-en-officielle/2256/26) est déterminé. -Chaque niveau fixé à auto sera déterminé par le script. Il est également possible de fixer le niveau à 1 ou à 0 pour respectivement le valider ou l'invalider. -Il est à noter que les niveaux 4, 8, 9 et 10 ne peuvent être fixés à "auto" car ils ne peuvent être testés par le script et nécessitent une vérification manuelle. +Chaque niveau fixé à *auto* sera déterminé par le script. Il est également possible de fixer le niveau à *1* ou à *0* pour respectivement le valider ou l'invalider. +Il est à noter que les niveaux 4, 8, 9 et 10 ne peuvent être fixés à *auto* car ils ne peuvent être testés par le script et nécessitent une vérification manuelle. Il est toutefois possible de les fixer à *na* pour indiquer que le niveau n'est pas applicable (par exemple pour le niveau 4 quand une app ne propose pas de SSO LDAP). Un niveau *na* sera tout simplement ignoré dans le calcul du niveau final. - Niveau 1 : L'application s'installe et se désinstalle correctement. -- Peut être vérifié par package_check - Niveau 2 : L'application s'installe et se désinstalle dans toutes les configurations communes. -- Peut être vérifié par package_check - Niveau 3 : L'application supporte l'upgrade depuis une ancienne version du package. -- Peut être vérifié par package_check diff --git a/package_check.sh b/package_check.sh index 18ff8af..f59b321 100755 --- a/package_check.sh +++ b/package_check.sh @@ -287,10 +287,13 @@ APP_LEVEL () { # Calcule le niveau final for i in {1..10}; do if [ "${level[i]}" == "auto" ]; then - level[i]=0 # Si des levels sont encore à auto, c'est une erreur de syntaxe dans le check_process, ils sont fixé à 0. + level[i]=0 # Si des niveaux sont encore à auto, c'est une erreur de syntaxe dans le check_process, ils sont fixé à 0. + elif [ "${level[i]}" -ge 1 ]; then + level=$i # Si le niveau est validé, il est pris en compte dans le niveau final + elif [ "${level[i]}" != "na" ]; then + break # Enfin, si le niveau n'est ni validé, ni "non applicable" (na), il stoppe la boucle. Le niveau final est donc le niveau précédemment validé fi - if [ "${level[i]}" -ge 1 ]; then level=$i - elif [ $i -ne 4 ]; then break; fi + # Dans les autres cas, il s'agit d'un niveau défini en "non applicable" (na), qui est donc ignoré dans le niveau final done }