Le constructeur de distribution transmet le socket du lecteur de fichiers manifest comme premier argument dans les scripts de finalisation. Dans un script shell de finalisation, transmettez cet argument en tant que premier argument à /usr/bin/ManifestRead pour accéder aux données du fichier manifest. Dans un module python, transmettez cet argument pour créer une instance d'un objet ManifestRead().
Les exemples de scripts shell suivants appellent ManifestRead afin de demander l'élément name à partir du fichier manifest. ManifestRead renvoie zéro ou plusieurs éléments, chacun sur sa propre ligne. Si ManifestRead doit rechercher plusieurs éléments, les lignes renvoyées contiennent l'élément recherché et un résultat.
MFEST_SOCKET=$1 VOLNAME=`/usr/bin/ManifestRead ${MFEST_SOCKET} "name"` if [ "XX${VOLNAME}" == "XX" ] ; then print -u2 "$0: Error retrieving volume ID" exit 1 fi |
L'exemple suivant montre comment utiliser ManifestRead à partir d'un script Python :
from osol_install.ManifestRead import ManifestRead # get the manifest reader object from the socket manifest_reader_obj = ManifestRead(MFEST_SOCKET) # get boot_archive compression type BR_COMPR_TYPE = get_manifest_value(manifest_reader_obj, "img_params/output_image/boot_archive/compression/type") if (BR_COMPR_TYPE == None): raise Exception, (sys.argv[0] + ": boot_archive compression type missing from manifest") |
Une autre méthode pour transmettre des arguments aux scripts consiste à spécifier une paire clé-valeur. Elle est utile pour transmettre le même argument à plusieurs scripts sans duplication. Un script peut accéder à une valeur codée en spécifiant la clé de /usr/bin/ManifestRead à partir du script. Indiquez le socket de serveur comme premier argument, puis précisez les chemins d'accès du nœud aux éléments dont les valeurs sont nécessaires, comme dans les exemples suivants.
L'exemple suivant appelle ManifestRead à partir d'un script shell pour obtenir une valeur codée.
... MFEST_SOCKET=$1 ... /usr/bin/ManifestRead -k $MFEST_SOCKET iso_sort iso_sort_file=`/usr/bin/ManifestRead $MFEST_SOCKET iso_sort` |
L'exemple suivant appelle ManifestRead à partir d'un script Python pour obtenir la même valeur codée.
from osol_install.ManifestRead import ManifestRead ... IS_KEY = True iso_sort_file = manifest_reader_obj.get_values("iso_sort", IS_KEY) fd = open(iso_sort_file,....) |