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

Traitement des classes pendant la suppression d'un package

Les objets sont supprimés d'une classe après l'autre. Les classes existant pour un package mais non répertoriées dans le paramètre CLASSES sont supprimées en premier (par exemple, un objet installé à l'aide de la commande installf). Les classes répertoriées dans le paramètre CLASSES sont supprimées dans l'ordre inverse. La classe none est toujours supprimée en dernier. La section suivante décrit le déroulement des opérations système lors de la suppression d'une classe :

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

    La commande pkgrm crée une liste des noms de chemin installés appartenant à la classe indiquée. Les noms de chemin auxquels un autre package fait référence sont exclus de la liste à moins que leur type de fichier ne soit e. Le type de fichier e signifie que le fichier doit être modifié lors de l'installation ou de la suppression.

    Si le package à supprimer a modifié des fichiers de type e lors de l'installation, il ne doit supprimer que les lignes qu'il a ajoutées. Ne supprimez pas un fichier modifiable non vide. Supprimez les lignes ajoutées par le package.

  2. Si aucun script d'action de classe n'est présent, les noms de chemin sont supprimés.

    Si votre package ne contient aucun script d'action de classe de suppression pour la classe, tous les noms de chemin figurant dans la liste générée par la commande pkgrm sont supprimés.


    Remarque –

    Les fichiers de type e (modifiables) ne sont pas attribués à une classe ni à un script d'action de classe associé. Ces fichiers sont à ce stade supprimés, même si le nom de chemin est partagé avec d'autres packages.


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

    La commande pkgrm appelle le script d'action de classe avec une entrée standard pour le script contenant la liste générée à l'étape 1.

  4. La commande pkgrm réalise un audit.

    Après avoir exécuté le script d'action de classe, la commande pkgrm supprime les références aux noms de chemin figurant dans la base de données du package, à l'exception de celles auxquelles un autre package fait référence.