SYNOPSIS
substvarsDESCRIPTION
Avant que dpkg-source, dpkg-gencontrol et dpkg-genchanges n'écrivent leurs informations de contrôle (dans le fichier source de contrôle .dsc pour dpkg-source et sur la sortie standard pour dpkg-gencontrol et dpkg-genchanges), ils réalisent quelques substitutions de variables dans le fichier de sortie.Une substitution de variable est de la forme : ${nom-variable}. Les noms de variable consistent en caractères alphanumériques, traits d'union et « deux points » ; ils commencent par une lettre ou un chiffre. La substitution se fait répétitivement jusqu'à ce qu'il n'en reste aucune à faire ; le texte entier du champ après la substitution est réexaminé pour chercher d'autres substitutions.
Quand toutes les substitutions ont été faites, chaque occurrence de la chaîne ${} (laquelle n'est pas une substitution autorisée) est remplacée par un signe $.
Alors que le remplacement de variables est effectué sur tous les champs de contrôle, certains de ces champs sont utilisés et nécessaires pendant la construction alors même que la substitution n'a pas encore pu être effectuée. Cela explique pourquoi il n'est pas possible d'utiliser de variables dans les champs Package, Source et Architecture.
La substitution de variables se fait dans le contexte des champs après leur analyse. En conséquence, si vous souhaitez qu'une variable soit remplacée sur plusieurs lignes, il n'est pas nécessaire de placer une espace après le retour à la ligne. Cela se fait implicitement quand le champ est affiché. Par exemple, si la variable ${Description} est positionnée sur « foo est bar.${Newline}foo est super. » et si vous avez le champ suivant :
Description: application foo
${Description}
.
Encore du texte.
Le résultat final sera :
Description: application foo
foo est bar.
foo est super.
.
Encore du texte.
On peut définir les variables en utilisant l'option commune -V. On peut aussi se servir du fichier debian/substvars (ou tout autre fichier avec l'option -T). Ce fichier est composé de lignes de la forme suivante : nom=valeur. Les espaces résiduelles sur chaque ligne, les lignes vides et les lignes qui commencent par un symbole # sont ignorées.
En outre, les variables standard suivantes sont disponibles :
- Arch
- The current host architecture (i.e. the architecture the package is being built for, the equivalent of DEB_HOST_ARCH).
- source:Version
- La version du paquet source.
- source:Upstream-Version
- La version amont du paquet source, avec éventuellement l'« epoch » de la version debian.
- binary:Version
- La version du paquet binaire (qui peut être différente de source:Version dans un binNMU par exemple).
- Source-Version
- La version du paquet source, selon le fichier changelog. Cette variable est maintenant déconseillée car sa signification est distincte de sa fonction. Utilisez plutôt source:Version ou binary:Version.
- Installed-Size
-
The approximate total size of the package's installed files. This value is
copied into the corresponding control file field; setting it will modify the
value of that field. If this variable is not set dpkg-gencontrol will
compute the default value by accumulating the size of each regular file and
symlink rounded to 1 KiB used units, and a baseline of 1 KiB for any other
filesystem object type.
Note: Take into account that this can only ever be an approximation, as the actual size used on the installed system will depend greatly on the filesystem used and its parameters, which might end up using either more or less space than the specified in this field.
- Extra-Size
- L'espace disque supplémentaire utilisé pour l'installation du paquet. Quand on fixe cette variable, on ajoute sa valeur à la valeur de la variable Installed-Size (qu'elle soit définie explicitement ou calculée par défaut) avant que la variable Installed-Size ne soit copiée dans le champ du fichier « control ».
- F:fieldname
- La valeur du champ fieldname affiché en sortie et qui doit être classiquement en majuscules. Quand on fixe ces variables, cela ne prend effet que là où elles sont effectivement développées.
- Format
- La version du format du fichier .changes produite par la version des scripts construisant le source. Quand on détermine cette variable, le contenu du champ Format dans le fichier .changes est aussi modifié.
- Newline, Space, Tab
- Ces variables contiennent chacune le caractère correspondant.
- shlibs:dependencyfield
- Les variables déterminées de cette façon sont produites par dpkg-shlibdeps.
- dpkg:Upstream-Version
- La version amont de dpkg.
- dpkg:Version
- La version complète de dpkg.
Quand une variable est référencée mais n'est pas définie, cela produit un avertissement et une valeur nulle est supposée.
FICHIERS
- debian/substvars
- La liste des variables de substitution et leurs valeurs.
TRADUCTION
Ariel VARDI <[email protected]>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <[email protected]>.