Guide du développeur pour l'empaquetage d'applications

Traitement des classes pendant l'installation d'un package

La section suivante décrit le déroulement des opérations système lors de l'installation d'une classe. Les opérations sont répétées une fois pour chaque volume d'un package à l'installation du volume en question.

  1. La commande pkgadd crée une liste de noms de chemin.

    La commande pkgadd crée une liste de noms de chemin sur lesquels le script d'action opère. Chaque ligne de la liste contient des noms de chemin source et de destination séparés par un espace. Le nom de chemin source indique où l'objet à installer réside sur le volume d'installation. Le nom de chemin de destination indique l'emplacement d'installation de l'objet sur le système cible. Le contenu de la liste est restreint par les critères suivants :

    • La liste ne contient que des noms de chemin appartenant à la classe associée.

    • Si la tentative de création des objets du package échoue, les répertoires, tubes nommés, périphériques en mode caractère, périphériques en mode bloc et liens symboliques sont inclus dans la liste avec comme nom de chemin source, /dev/null. En règle générale, ces éléments sont automatiquement créés par la commande pkgadd (s'ils n'existent pas encore) et il leur est attribué des attributs propres (mode, owner, group) tels qu'ils sont définis dans le fichier pkgmap.

    • Les fichiers liés dont le type est l ne sont en aucun cas inclus dans la liste. Les liens physiques de la classe donnée sont créés à l'étape 4.

  2. Si aucun script d'action de classe n'est fourni pour l'installation d'une classe spécifique, les noms de chemin figurant dans la liste générée sont copiés du volume à l'emplacement cible approprié.

  3. Si un script d'action de classe est présent, il est exécuté.

    Le script d'action de classe est appelé avec l'entrée standard contenant la liste générée à l'étape 1. Si ce volume est le dernier du package ou si cette classe ne contient plus d'objets, le script est exécuté avec le seul argument ENDOFCLASS.


    Remarque –

    Même si aucun fichier standard de cette classe ne figure dans le package, le script d'action de classe est appelé au moins une fois avec une liste vide et l'argument ENDOFCLASS.


  4. La commande pkgadd réalise un audit du contenu et des attributs, et crée des liens physiques.

    Une fois l'étape 2 ou l'étape 3 exécutée avec succès, la commande pkgadd vérifie les informations du contenu et des attributs de la liste des noms de chemin. La commande pkgadd crée automatiquement les liens associés à la classe. Toute incohérence d'attributs des noms de chemin est corrigée dans la liste générée.