deb-substvars(5) | dpkg suite | deb-substvars(5) |
deb-substvars - Variables de substitution de source Debian
debian/substvars, debian/paquet-binaire.substvars, variables
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 (a-zA-Z0-9), traits d'union (-) et « deux points » (:) ; ils commencent par une lettre ou un chiffre et sont sensibles à la casse même si ils se réfèrent à d'autres entités qui préservent la casse. 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.
Les variables de substitution peuvent être spécifiées dans un fichier. Ces fichiers consistent en lignes de forme nom=valeur ou nom?=valeur. L'opérateur = assigne une variable de substitution normale, alors que l'opérateur ?= (depuis dpkg 1.21.8) assigne une variable de substitution optionnelle qui n'émettra pas d'avertissement même si elle n'est pas utilisée. Les espaces vides à la fin de chaque ligne, les lignes vides et les lignes commençant par le symbole # (les commentaires) sont ignorés.
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 commune -T).
Quand toutes les substitutions ont été faites, chaque occurrence de la chaîne ${} (laquelle n'est pas une variable de substitution réelle) est remplacée par un signe $. Cela peut être utilisé comme une séquence d'échappement telle que ${}{VARIABLE} qui finira sous la forme ${VARIABLE} sur la sortie.
Quand une variable est référencée mais n'est pas définie, cela produit un avertissement et une valeur vide est supposée.
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 contenu 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 « toto est truc.${Newline}toto est super. » et si vous avez le champ suivant :
Description: application toto ${Description} . Encore du texte.
Le résultat final sera :
Description: application toto toto est truc. toto est super. . Encore du texte.
En outre, les variables standard suivantes sont toujours disponibles :
Remarque : Il faut tenir compte que cela ne peut jamais être qu'une approximation dans la mesure où la taille véritablement occupée sur un système installé dépend largement du système de fichiers utilisé et de ses paramètres, ce qui pourrait finir par l'utilisation de plus ou moins d'espace que ce qui est spécifié dans ce champ.
dpkg(1), dpkg-vendor(1), dpkg-genchanges(1), dpkg-gencontrol(1), dpkg-shlibdeps(1), dpkg-source(1).
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.
2023-05-11 | 1.21.22 |