Scroll to navigation

deb-substvars(5) dpkg suite deb-substvars(5)

NOM

deb-substvars - Variables de substitution de source Debian

SYNOPSIS

debian/substvars, debian/paquet-binaire.substvars, variables

DESCRIPTION

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.

Syntaxe des variables

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.

Syntaxe des fichiers

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.

Substitution

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.

Variables internes

En outre, les variables standard suivantes sont toujours disponibles :

L'architecture de l'hôte actuel (c'est-à-dire l'architecture pour laquelle le paquet est construit, équivalent de DEB_HOST_ARCH).
Le nom du fabriquant actuel (depuis dpkg 1.20.0). Cette valeur vient du champ Vendor du fichier d'origine du fabricant actuel, comme dpkg-vendor(1) pourrait le récupérer.
L'identifiant du fabricant actuel (depuis dpkg 1.20.0). C'est simplement la variante en bas de casse de vendor:Name.
Version du paquet source (depuis dpkg 1.13.19).
La version amont du paquet source, avec éventuellement l'« epoch » de la version Debian (depuis dpkg 1.13.19).
La version du paquet binaire (qui peut être différente de source:Version dans un binNMU par exemple ; depuis dpkg 1.13.19).
La version du paquet source, selon le fichier changelog. Cette variable est maintenant obsolète et produit une erreur lors de son utilisation, car sa signification est distincte de sa fonction. Utilisez plutôt source:Version ou binary:Version.
Le synopsis du paquet source, extrait du champ Description du paragraphe source, s'il existe (depuis dpkg 1.19.0).
La description étendue du paquet source, extraite du champ Description du paragraphe source, s'il existe (depuis dpkg 1.19.0).
La taille approximative de tous les fichiers installés du paquet. Cette valeur est copiée dans le champ adéquat du fichier « control » ; quand on fixe cette variable, cela modifie la valeur de ce champ. Quand elle est indéterminée, dpkg-gencontrol calcule la valeur par défaut en additionnant la taille de chaque fichier ordinaire et lien symbolique arrondie en unité d'un kio utilisée et sur la base d'un kio pour n'importe quel type d'objet du système de fichiers, les liens physiques étant comptés une seule fois comme des fichiers ordinaires.

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.

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 qu'elle soit copiée dans le champ Installed-Size du fichier « control ».
La valeur du champ nom-de-champ du paragraphe source (qui doit être classiquement en majuscules, depuis dpkg 1.18.11). Quand on fixe ces variables, cela ne prend effet que là où elles sont explicitement développées. Ces variables ne sont disponibles que lors de la création des fichiers de contrôle binaires.
La valeur du champ nom-de-champ affichée en sortie (qui doit être classiquement en majuscules). Quand on fixe ces variables, cela ne prend effet que là où elles sont explicitement développées.
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é.
Ces variables contiennent chacune le caractère correspondant.
Les variables déterminées de cette façon sont produites par dpkg-shlibdeps.
La version amont de dpkg (depuis dpkg 1.13.19).
La version complète de dpkg (depuis dpkg 1.13.19).

FICHIERS

La liste des variables de substitution et leurs valeurs.

VOIR AUSSI

dpkg(1), dpkg-vendor(1), dpkg-genchanges(1), dpkg-gencontrol(1), dpkg-shlibdeps(1), dpkg-source(1).

TRADUCTION

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