Guide du constructeur de distribution Oracle Solaris 11 Express

Débogage des erreurs de validation sémantique

Une validation sémantique est également réalisée. La validation sémantique contrôle le contenu à la recherche d'erreurs de "signification" et de contexte, et ne contrôle pas uniquement la syntaxe. Par exemple, les scripts de finalisation répertoriés dans un fichier manifest peuvent être validés pour confirmer qu'ils sont des fichiers exécutables.

L'exemple suivant illustre un cas où le fichier manifest ne passe pas la validation sémantique.


# distro_const build -l my_distro_sem.xml 
/usr/share/distro_const/DC-manifest.defval.xml validates 
/usr/share/distro_const/grub_setup.py either doesn't exist 
or is not an executable file 
validate_node: Content "/usr/share/distro_const/grub_setup.py" 
at img_params/output_image/finalizer/script/name did not validate 
Error validating manifest tree content 

La validation sémantique utilise des fonctions afin de mener à bien la validation. Ces fonctions impriment des messages d'erreur expliquant pourquoi le fichier manifest a échoué à la validation. Dans ce cas, le fichier /usr/share/distro_const/grub_setup.py est absent et le message d'erreur indique directement ce problème. Dans ce cas, grub_setup.py doit être restauré, ou, le cas échéant, la référence à ce fichier doit être supprimée du fichier manifest.

Vous pouvez toujours exécuter ManifestServ avec l'option -v pour obtenir plus de détails sur la validation sémantique. Toutefois, si elle est spécifiée, l'option de commande -v indiquera simplement l'échec parmi de nombreuses réussites, ce qui peut donner une sortie plus difficile à lire.