Par exemple, cette étude de cas utilise la structure hiérarchique des objets de package illustrée ci-après.
Les objets du package sont installés dans les mêmes fichiers que sur l'illustration du répertoire pkg ci-dessus. Les modules du pilote ( sst et sst.conf) sont installés dans /usr/kernel/drv et le fichier include est installé dans /usr/include/sys/scsi/targets. Les fichiers sst, sst.conf et sst_def.h sont des objets absolus. Le programme test sstest.c et son répertoire SUNWsst sont tous deux réadressables ; leur emplacement d'installation est défini par le paramètre BASEDIR.
Les autres composants du package (tous les fichiers de contrôle) doivent être placés dans le répertoire supérieur du package sur la machine de développement, à l'exception du script de la classe sed . Celui-ci est appelé devlink.tab d'après le nom du fichier qu'il modifie et doit être placé dans etc, répertoire contenant le vrai fichier devlink.tab.
À partir du répertoire pkg, exécutez la commande pkgproto comme suit :
find usr SUNWsst -print | pkgproto > prototype |
Le résultat de la commande ci-dessus est comme suit :
d none usr 0775 pms mts d none usr/include 0775 pms mts d none usr/include/sys 0775 pms mts d none usr/include/sys/scsi 0775 pms mts d none usr/include/sys/scsi/targets 0775 pms mts f none usr/include/sys/scsi/targets/sst_def.h 0444 pms mts d none usr/kernel 0775 pms mts d none usr/kernel/drv 0775 pms mts f none usr/kernel/drv/sst 0664 pms mts f none usr/kernel/drv/sst.conf 0444 pms mts d none SUNWsst 0775 pms mts f none SUNWsst/sstest.c 0664 pms mts |
Le fichier prototype n'est pas encore terminé. Pour terminer le fichier, vous devez lui apporter les modifications suivantes :
Insérez les entrées pour les fichiers de contrôle (type de fichier i) car ils utilisent un format différent des autres objets de package.
Supprimez les entrées correspondant aux répertoires qui se trouvent déjà sur le système cible.
Modifiez les droits d'accès et la propriété de chaque entrée.
Préfixez le nom des objets de package absolus d'une barre oblique.
Fichier prototype final :
i pkginfo i postinstall i preremove i copyright e sed /etc/devlink.tab ? ? ? f none /usr/include/sys/scsi/targets/sst_def.h 0644 bin bin f none /usr/kernel/drv/sst 0755 root sys f none /usr/kernel/drv/sst.conf 0644 root sys d none SUNWsst 0775 root sys f none SUNWsst/sstest.c 0664 root sys |
Les points d'interrogation de l'entrée correspondant au script sed indiquent que les droits d'accès et la propriété du fichier présent sur la machine d'installation ne doivent pas être modifiés.