Pour créer un fichier de base de données lors de l'installation et enregistrer une copie lors de la suppression, vous devez pour cette étude de cas effectuer les opérations suivantes :
Définir trois classes.
Les trois classes suivantes doivent être définies dans le paramètre CLASSES pour le package de cette étude de cas :
La classe standard none qui contient un groupe de processus appartenant au sous-répertoire bin ;
La classe admin qui contient un fichier exécutable config et un répertoire contenant des fichiers de données ;
La classe cfgdata qui contient un répertoire.
Faire du package un package réadressable collectivement.
Remarquez dans le fichier prototype qu'aucun des noms de chemin ne commence par une barre oblique ni par une variable d'environnement. Ceci indique qu'ils sont réadressables collectivement.
Calculer la quantité d'espace requise par le fichier de la base de données et créer un fichier space à fournir avec le package. Ce fichier informe la commande pkgadd que le package nécessite de l'espace supplémentaire et indique la quantité requise.
Créer un script d'action de classe pour la classe admin (i.admin).
L'exemple de script initialise une base de données à l'aide des fichiers de données appartenant à la classe admin. Pour effectuer cette opération, il procède comme suit :
Il copie le fichier de données source à l'emplacement de destination approprié.
Il crée un fichier vide nommé config.data et l'attribue à une classe cfgdata.
Il exécute la commande bin/config, qui est fournie avec le package et est déjà installée, pour renseigner le fichier de base de données config.data à l'aide des fichiers de données appartenant à la classe admin.
Il exécute la commande installf -f pour terminer l'installation de config.data.
Aucune opération particulière n'est nécessaire vis à vis de la classe admin lors de la phase de suppression et pour cette raison, aucun script d'action de classe de suppression n'est créé. Tous les fichiers et répertoires de la classe admin sont donc supprimés du système.
Créer un script d'action de classe pour la classe cfgdata (r.cfgdata).
Le script de suppression crée une copie du fichier de la base de données avant sa suppression. Aucune opération particulière n'est nécessaire vis à vis de cette classe lors de la phase d'installation et pour cette raison, aucun script d'action de classe d'installation n'est nécessaire.
N'oubliez pas que les valeurs à indiquer dans un script de suppression correspondent à la liste des noms de chemin à supprimer. Les noms de chemin s'affichent toujours par ordre alphabétique inverse. Ce script de suppression copie les fichiers dans le répertoire nommé $PKGSAV. Une fois tous les noms de chemin traités, le script supprime tous les répertoires et fichiers associés à la classe cfgdata.
Le résultat de cette suppression est la copie de config.data dans $PKGSAV, suivie de la suppression du fichier config.data et du répertoire de données.