man debchange (Commandes) - outil pour la maintenance du fichier debian/changelog d'un paquet source
NOM
debchange - outil pour la maintenance du fichier debian/changelog d'un paquet source
SYNOPSIS
debchange [options] [texte ...]
dch [options] [texte ...]
DESCRIPTION
debchange ou son alias dch ajoute une nouvelle ligne de commentaire au fichier debian/changelog dans le répertoire des sources. Cette commande doit être exécutée depuis ce répertoire. Si le texte décrivant le changement est donné en ligne de commande, debchange s'exécutera de façon automatique et ajoutera simplement le texte, avec les passages à la ligne qui s'imposent et à l'emplacement approprié, dans le fichier debian/changelog. Si aucun texte n'est spécifié, alors debchange exécute un éditeur (déterminé par sensible-editor) pour que vous éditiez le fichier. (Les variables d'environnement VISUAL et EDITOR sont utilisée dans cet ordre pour déterminer l'éditeur à utiliser). Pour les éditeurs qui acceptent l'option +n pour démarrer l'édition à une ligne spécifiée, cette option sera utilisée pour positionner l'édition à la bonne ligne. Si l'éditeur est quitté sans avoir modifié le fichier temporaire, debchange quittera sans modifier le fichier changelog. Notez que les fichiers changelog sont supposés être codés en UTF-8. Dans le cas contraire, des problèmes peuvent arriver. Veuillez consulter la page de manuel de iconv(1) pour trouver comment convertir les fichiers changelog codés autrement.
debchange peut également créer des entrées de changelog permettant de fermer des bogues, en utilisant l'option --closes. Le BTS, ou Debian Bug Tracking System (système de suivi de bogues Debian, http://bugs.debian.org/), est interrogé pour déterminer le titre du bogue et le paquet dans lequel il apparaît. Ce comportement peut être modifié en utilisant l'option --noquery ou en positionnant la variable de configuration DEBCHANGE_QUERY_BTS à no, comme décrit ci-dessous. Dans tous les cas, l'éditeur (voir ci-dessus) est toujours appelé pour permettre une modification de l'entrée, mais le fichier changelog est créé que des modifications aient été faites ou non. Une entrée supplémentaire peut être fournie en ligne de commande en plus de l'entrée fermant le bogue.
Une seule des options --append, --increment et --newversion peut être spécifiée. Si aucune option n'est spécifiée, dch recherchera un fichier journal de dupload(1) ou de dput(1) dans le répertoire parent pour déterminer si cette version du paquet a été téléchargée (« uploadée ») avec succès. Il se comportera comme si l'option --increment avait été fournie quand le succès du téléchargement a été enregistré ; dans le cas contraire il se comportera comme si l'option --append avait été spécifiée. Un avertissement est affiché si le fichier journal est trouvé, mais que le succès du téléchargement n'a pas été enregistré. Ceci peut être dû au fait que la version de dupload utilisée pour le précédent téléchargement est antérieure à la version 2.1 ou parce que le téléchargement a échoué.
Si les options --increment ou --newversion sont utilisées, le nom et l'adresse électronique pour la nouvelle version sont déterminés de la façon suivante. Si la variable d'environnement DEBFULLNAME est positionnée, sa valeur est utilisée comme nom complet du responsable. Si la variable d'environnement DEBEMAIL est positionnée, elle est utilisée comme adresse électronique. Si cette variable est de la forme « nom <adresse> », alors le nom est pris dans cette variable si la variable d'environnement DEBFULLNAME n'est pas positionnée. Si cette variable d'environnement n'est pas positionnée, le même test et réalisé sur EMAIL. Puis, si le nom complet n'est toujours pas déterminé, getpwuid(3) est utilisé pour déterminer le nom grâce au fichier des mots de passe. En cas d'échec, l'entrée précédente du fichier changelog est utilisée. Pour l'adresse électronique, si elle n'a pas été déterminée avec DEBEMAIL ou EMAIL, /etc/mailname est utilisé, puis il tente de la construire à partir du nom d'utilisateur et du FQDN, sinon, l'adresse de l'entrée précédente du fichier changelog est utilisée. Pour simplifier, il est préférable de positionner les variables d'environnement DEBEMAIL et DEBFULLNAME lorsque ce script est utilisé.
Si le nom du répertoire de l'arborescence des sources est sous la forme paquet-version, debchange cherchera également à le renommer si le numéro de version (amont) change. Ceci peut être empêché en utilisant l'option --preserve en ligne de commande ou avec un paramètre du fichier de configuration, comme décrit ci-dessous.
Vérification du nom du répertoire
Comme certains autres scripts du paquet devscripts, debchange parcourt une arborescence de répertoires jusqu'à ce qu'il trouve un fichier debian/changelog. Pour éviter les problèmes posés par les fichiers égarés, il examine le nom du répertoire parent une fois qu'il a trouvé le fichier debian/changelog, et vérifie que le nom du répertoire correspond au nom du paquet. La façon précise utilisée est contrôlée par les deux variables du fichier de configuration DEVSCRIPTS_CHECK_DIRNAME_LEVEL et DEVSCRIPTS_CHECK_DIRNAME_REGEX, et les options en ligne de commande associées --check-dirname-level et --check-dirname-regex.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL peut prendre les valeurs suivantes :
- 0
- Ne vérifie jamais le nom du répertoire.
- 1
- Ne vérifie le nom du répertoire que s'il a fallu changer de répertoire pour trouver le fichier debian/changelog. C'est le comportement par défaut.
- 2
- Vérifie toujours le nom du répertoire.
Le nom du répertoire est vérifié en testant si le nom du répertoire courant (donné par pwd(1)) correspond à l'expression rationnelle donnée par la variable DEVSCRIPTS_CHECK_DIRNAME_REGEX du fichier de configuration ou par l'option --check-dirname-regex regex. Il s'agit d'une expression rationnelle Perl (voir perlre(1)), qui sera ancrée à son début et sa fin. Si elle contient un « / », alors elle doit correspondre au chemin complet. Si elle contient la chaîne « PACKAGE », cette chaîne sera remplacée par le nom du paquet source déterminé par le fichier changelog. La valeur par défaut de cette expression rationnelle est « PACKAGE(-.*)? », ce qui correspond aux répertoires nommés PACKAGE ou PACKAGE-version.
OPTIONS
- --increment, -i
- Incrémente le numéro de version Debian ou, dans le cas d'un paquet Debian natif, le numéro de version. Cela crée une nouvelle section au début du fichier changelog avec le bon en-tête et la signature. De plus, dans le cas d'une nouvelle version d'un paquet natif Debian, le nom du répertoire est modifié de manière à refléter ce changement de version.
- --append, -a
- Ajoute une nouvelle entrée au fichier changelog à la fin de l'entrée de la version actuelle.
- --newversion version, -v version
- Permet de spécifier explicitement le numéro de version (avec la partie relative à la version Debian) et se comporte comme l'option --increment pour les autres aspects. Le nom du répertoire sera également modifié si le numéro de version amont a changé.
- --fromdirname, -d
- Le numéro de version amont sera déterminé en fonction du nom du répertoire, qui devra être de la forme paquet-version. Si le numéro de version amont a augmenté depuis l'entrée la plus récente du fichier changelog, la nouvelle entrée sera ajoutée avec pour numéro de version version-1 (ou version dans le cas d'un paquet Debian natif), avec le même temps absolu (« epoch ») que le paquet précédent. Si le numéro de version amont est le même, cette option se comporte de la même façon que -i.
- --closesnnnnn,[nnnnn,...]
- Ajoute une entrée au fichier changelog pour fermer les bogues spécifiés. Un éditeur est également invoqué après avoir ajouté ces entrées. Il génèrera des avertissements si le BTS ne peut pas être contacté (et que l'option --noquery n'a pas été spécifiée) ou s'il y a un problème avec un rapport de bogue.
- --[no]query
- Spécifie si le BTS doit être interrogé lorsqu'une fermeture de bogue est générée.
- --preserve, -p
- Préserve le nom du répertoire de l'architecture source si le numéro de version amont (ou le numéro de version d'un paquet Debian natif) change. Veuillez également consulter la section des variables de configuration ci-dessous.
- --no-preserve
- Ne préserve pas le nom du répertoire de l'arborescence des sources (comportement par défaut).
- --distribution dist, -D dist
- Utilise la distribution spécifiée dans la nouvelle entrée du fichier changelog, s'il y en a une, au lieu d'utiliser la distribution de la dernière entrée.
- --urgency urgency, -u urgency
- Utilise le niveau d'urgence spécifié dans la nouvelle entrée du fichier changelog, s'il y en a une, au lieu du niveau d'urgence bas (« low ») par défaut.
- --check-dirname-level N
- Veuillez consulter la section « Vérification du nom du répertoire » pour une explication de cette option.
- --check-dirname-regex regex
- Veuillez consulter la section « Vérification du nom du répertoire » pour une explication de cette option.
- --no-conf, --noconf
- Ne lit aucun fichier de configuration. L'option ne peut être utilisée qu'en première position de la ligne de commande.
- --help, -h
- Affiche un message d'aide et quitte avec succès.
- --version
- Affiche la version et le copyright, puis quitte avec succès.
VARIABLES DE CONFIGURATION
Les deux fichiers de configuration /etc/devscripts.conf et ~/.devscripts sont évalués dans cet ordre pour placer les variables de configuration. Des options de ligne de commande peuvent être utilisées pour neutraliser les paramètres des fichiers de configuration. Les variables d'environnement sont ignorées à cette fin. Les variables actuellement identifiées sont :
- DEBCHANGE_PRESERVE
- Si elle est positionnée à yes, c'est comme si l'option --preserve était utilisée.
- DEBCHANGE_QUERY_BTS
- Si elle est positionnée à no, c'est comme si l'option --noquery était utilisée.
- DEVSCRIPTS_CHECK_DIRNAME_LEVEL, DEVSCRIPTS_CHECK_DIRNAME_REGEX
- Veuillez consulter la section « Vérification du nom du répertoire » ci-dessus pour une explication de ces variables. Notez que ce sont des variables de configuration pour tous les outils du paquet devscripts ; elles impacteront tous les scripts qui les utilisent, comme indiqué dans leurs pages de manuel respectives et dans devscripts.conf(5).
ENVIRONNEMENT
- DEBEMAIL, EMAIL, DEBFULLNAME
- Reportez-vous à la description précédente de l'utilisation de ces variables d'environnement
- VISUAL, EDITOR
- Ces variables d'environnement déterminent (dans cet ordre) quel sera l'éditeur invoqué par sensible-editor.
VOIR AUSSI
AUTEUR
L'auteur originel est Christoph Lameter <clameter@debian.org>. Beaucoup de changements substantiels et d'améliorations ont été apportés par Julian Gilbey <jdg@debian.org>.
TRADUCTION
Ce document est une traduction, réalisée par Nicolas FRANÇOIS le 21 janvier 2005.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité.
La version anglaise la plus à jour de ce document est toujours consultable en ajoutant l'option « -L C » à la commande man.
N'hésitez pas à signaler à l'auteur ou à la liste de traduction <debian-l10-french@lists.debian.org>, selon le cas, toute erreur dans cette page de manuel.