Vous pouvez utiliser des variables dans les fichiers d'information obligatoires, pkginfo et prototype. Vous pouvez également utiliser une option dans la commande pkgmk destinée à créer un package. Davantage d'informations contextuelles sur les variables sont fournies tout au long de ce chapitre dans les sections traitant de ces fichiers et commandes. Toutefois, avant de vous lancer dans la création de votre package, il est important de connaître les différents types de variables et de comprendre la manière dont ils influencent le bon déroulement de la création d'un package.
Il existe deux types de variables :
Les variables de création commencent par une minuscule et sont évaluées lors de la phase de création, pendant que le package est créé à l'aide de la commande pkgmk.
Les variables d'installation commencent par une majuscule et sont évaluées lors de la phase d'installation, pendant que le package est installé à l'aide de la commande pkgadd.
Dans le fichier pkginfo, la définition d'une variable utilise le format suivant : PARAM=valeur, où la première lettre de PARAM est une majuscule. Ces variables sont évaluées lors de la phase d'installation. Si une ou plusieurs de ces variables ne peuvent être évaluées, l'exécution de la commande pkgadd est suspendue et un message d'erreur est renvoyé.
Dans le fichier prototype, la définition d'une variable peut utiliser le format !PARAM=valeur ou le format $variable. PARAM et variable peuvent tous deux commencer par une majuscule ou une minuscule. Seules les variables dont les valeurs sont connues lors de la phase de création sont évaluées. Si PARAM ou variable est une variable de création ou d'installation dont la valeur est inconnue lors de la phase de création, l'exécution de la commande pkgmk est suspendue et un message d'erreur est renvoyé.
L'option PARAM=valeur peut aussi être incluse dans la commande pkgmk. Cette option fonctionne de la même manière que dans le fichier prototype, excepté qu'elle s'applique à l'ensemble du package. La définition de !PARAM=valeur d'un fichier prototype est locale par rapport à ce fichier et à la section du package à laquelle elle se rapporte.
Si PARAM est une variable d'installation et que variable est une variable d'installation ou de création dont la valeur est connue, la commande pkgmk insère la définition dans le fichier pkginfo pour que celle-ci soit disponible lors de la phase d'installation. Toutefois, la commande pkgmk n'évalue pas les variables PARAM qui sont utilisées dans des chemins spécifiés dans le fichier prototype.
Le tableau suivant récapitule les formats de spécification, l'emplacement et le champ d'application des variables.
Tableau 2–2 Récapitulatif des variables d'environnement d'un package
Emplacement de définition de la variable |
Format de définition de la variable |
Type de variable défini |
Moment d'évaluation de la variable |
Emplacement d'évaluation de la variable |
Éléments que la variable peut remplacer |
---|---|---|---|---|---|
Fichier pkginfo |
PARAM=valeur |
Création |
Ignorée lors de la phase de création |
SO |
Aucune |
Installation |
Phase d'installation |
Dans le fichier pkgmap |
propriétaire, groupe, chemin ou lien cible |
|
|
Fichier prototype |
!PARAM=valeur |
Création |
Phase de création |
Dans le fichier prototype et tout fichier inclus |
mode, propriétaire, groupe ou chemin |
Installation |
Phase de création |
Dans le fichier prototype et tout fichier inclus |
Commandes !search et !command uniquement |
|
|
Ligne de commande pkgmk |
PARAM=valeur |
Création |
Phase de création |
Dans le fichier prototype |
mode, propriétaire, groupe ou chemin |
Installation |
Phase de création |
Dans le fichier prototype |
Commande !search uniquement |
|
|
Phase d'installation |
Dans le fichier pkgmap |
propriétaire, groupe, chemin ou lien cible |
|
|
|