NOM
debchange - Outil pour la maintenance du fichier debian/changelog d'un
paquet source
SYNOPSIS
debchange [options] [texte ...]
dch [options] [texte ...]
debchange ou son alias dch ajoute une nouvelle ligne de commentaire au
fichier debian/changelog dans le rpertoire des sources. Cette commande
doit tre excute depuis ce rpertoire. Si le texte dcrivant le changement
est donn en ligne de commande, debchange s'excutera de faon automatique
et ajoutera simplement le texte, avec les passages la ligne qui
s'imposent et
l'emplacement appropri, dans le fichier debian/changelog (ou le
fichier indiqu par les options, voir ci-dessous). Si aucun texte n'est
renseign, alors debchange excute un diteur (dtermin par
sensible-editor) pour que vous ditiez le fichier. (Les variables
d'environnement VISUAL et EDITOR sont utilises dans cet ordre pour
dterminer l'diteur utiliser.) Pour les diteurs qui acceptent l'option
+n pour dmarrer l'dition une ligne donne, cette option sera utilise
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 supposs tre
cods en UTF-8. Dans le cas contraire, des problmes peuvent se produire.
Veuillez consulter la page de manuel de iconv(1) pour trouver comment
convertir les fichiers changelog cods autrement. Enfin, un fichier
changelog ou debian/NEWS peut tre cr partir de rien en utilisant
l'option --create dcrite ci-dessous.
debchange peut galement crer des entres de changelog permettant de
fermer des bogues, en utilisant l'option --closes. Le BTS, ou Debian
Bug Tracking System (systme de suivi de bogues Debian,
http://bugs.debian.org/), est interrog pour dterminer le titre du bogue
et le paquet dans lequel il apparat. Ce comportement peut tre modifi en
utilisant l'option --noquery ou en positionnant la variable de
configuration DEBCHANGE_QUERY_BTS no, comme dcrit ci-dessus. Dans tous
les cas, l'diteur (voir ci-dessus) est toujours appel pour permettre
une modification de l'entre, mais le fichier changelog est cr, que des
modifications aient t faites ou non. Une entre supplmentaire peut tre
fournie en ligne de commande en plus de l'entre fermant le bogue.
Au plus une des options --append, --increment, --edit, --release, et
--newversion doit tre utilise (voir leurs descriptions ci-dessous). Si
aucune option n'est fournie, debchange devra utiliser des heuristiques
pour deviner si le paquet a bien t distribu ou non, et se comporte
comme si --increment avait t utilise si le paquet a t distribu, ou
autrement comme si --append avait t utilise.
Deux types diffrents d'heuristiques peuvent tre utiliss, contrls par
l'option --release-heuristic ou la variable de configuration
DEBCHANGE_RELEASE_HEURISTIC. L'heuristique par dfaut (log) dtermine si
un paquet a t distribu en cherchant un journal dupload(1) ou dput(1)
appropri. Un message d'alerte sera affich si le fichier du journal est
dtect mais qu'aucun envoi avec succs n'y est enregistr. C'est peut-tre
parce l'envoi prcdent a t excut avec une version de dupload infrieure
2.1 ou parce que l'envoi a chou. L'autre heuristique (changelog)
suppose que le paquet a t distribu moins que le journal des
modifications ne contienne UNRELEASED dans le champ de la distribution.
Si cette heuristique est active alors la distribution sera change en
UNRELEASED dans les nouvelles entres du journal des modifications, et
l'option --mainttrailer dcrite ci-dessus sera active automatiquement.
Ceci peut tre utile si un paquet peut tre distribu par diffrents
responsables, ou si vous ne voulez pas garder les journaux d'envoi.
Si les options --increment ou --newversion sont utilises, le nom et
l'adresse lectronique pour la nouvelle version sont dtermins de la faon
suivante. Si la variable d'environnement DEBFULLNAME est positionne, sa
valeur est utilise comme nom complet du responsable. Si la variable
d'environnement DEBEMAIL est positionne, elle est utilise 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 positionne. Si cette variable d'environnement
n'est pas positionne, le mme test est ralis sur EMAIL. Puis, si le nom
complet n'est toujours pas dtermin, getpwuid(3) est utilis pour
dterminer le nom grce au fichier des mots de passe. En cas d'chec,
l'entre prcdente du fichier changelog est utilise. Pour l'adresse
lectronique, si elle n'a pas t dtermine 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'entre prcdente du
fichier changelog est utilise. Pour simplifier, il est prfrable de
positionner les variables d'environnement DEBEMAIL et DEBFULLNAME
lorsque ce script est utilis.
Les changelogs qui enregistrent les modifications des diffrents
coresponsables d'un paquet sont grs. Si une entre est ajoute celles de
la version courante, et que le responsable est diffrent du responsable
qui est mentionn comme ayant cr les entres prcdentes, alors les lignes
seront ajoutes au changelog pour indiquer quel responsable a fait
quelle modification. Pour le moment, seulement un des diffrents styles
d'enregistrement de ces informations est support, dans lequel le nom du
responsable qui a fait quelques modifications apparat sur une ligne
avant les modifications, entre crochets. Ceci peut-tre activ ou dsactiv
en utilisant l'option --[no]multimaint ou la variable de configuration
DEBCHANGE_MULTIMAINT ; le comportement par dfaut est de l'activer.
noter : si une entre a dj t marque dans ce but, alors cette option sera
ignore de faon silencieuse.
Si le nom du rpertoire de l'arborescence des sources est sous la forme
paquet-version, debchange cherchera galement le renommer si le numro
de version (amont) change. Ceci peut tre empch en utilisant l'option
--preserve en ligne de commande ou avec un paramtre du fichier de
configuration, comme dcrit ci-dessous.
Si --force-bad-version ou --allow-lower-version est utilise, debchange
ne s'arrtera pas si une nouvelle version est infrieure la version
courante. Ceci est particulirement utile lors de la conception de
rtroportages.
Vrification du nom du rpertoire
Comme certains autres scripts du paquet devscripts, debchange parcourt
une arborescence de rpertoires jusqu' ce qu'il trouve un fichier
debian/changelog. Pour viter les problmes poss par les fichiers gars,
il examine le nom du rpertoire parent une fois le fichier
debian/changelog trouv, et vrifie que le nom du rpertoire correspond au
nom du paquet. La mthode prcise utilise est contrle par les deux
variables du fichier de configuration DEVSCRIPTS_CHECK_DIRNAME_LEVEL et
DEVSCRIPTS_CHECK_DIRNAME_REGEX, et les options en ligne de commande
associes --check-dirname-level et --check-dirname-regex.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL peut prendre les valeurs suivantes :
0 Ne vrifie jamais le nom du rpertoire.
1 Ne vrifie le nom du rpertoire que s'il a fallu changer de
rpertoire pour trouver le fichier debian/changelog. C'est le
comportement par dfaut.
2 Vrifie toujours le nom du rpertoire.
Le nom du rpertoire est vrifi en testant si le nom du rpertoire courant
(donn par pwd(1)) correspond l'expression rationnelle donne 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 ancre son dbut et sa fin.
Si elle contient un / , alors elle doit correspondre au chemin
complet. Si elle contient la chane PACKAGE , cette chane sera remplace
par le nom du paquet source dtermin par le fichier changelog. La valeur
par dfaut de cette expression rationnelle est PACKAGE(-.+)? , ce qui
correspond aux rpertoires nomms PACKAGE ou PACKAGE-version.
Le journal des modifications par dfaut diter est debian/changelog ;
cependant, ceci peut tre chang en utilisant les options --changelog ou
--news, ou la variable d'environnement CHANGELOG, comme dcrit plus bas.
OPTIONS
--append, -a
Ajoute une nouvelle entre au fichier changelog la fin des
entres de la version actuelle.
--increment, -i
Incrmente le numro de version Debian ou, dans le cas d'un paquet
Debian natif, le numro de version. Cela cre une nouvelle section
au dbut du fichier changelog avec le bon en-tte et la signature.
De plus, dans le cas d'une nouvelle version d'un paquet natif
Debian, le nom du rpertoire est modifi de manire reflter ce
changement de version.
--newversion version, -v version
Permet de spcifier explicitement le numro de version (avec la
partie relative la version Debian) et se comporte comme
l'option --increment pour les autres aspects. Le nom du
rpertoire sera galement modifi si le numro de version amont a
chang.
--edit, -e
dite le journal des modifications dans un diteur.
--release, -r
Finaliser le fichier changelog pour un envoi. Ceci met jour
l'horodatage du fichier changelog. Si la distribution vaut
UNRELEASED, elle prend la valeur de l'entre prcdente du fichier
(ou de la distribution indique par l'option --distribution).
S'il n'y a pas d'entre prcdente, et qu'aucune distribution n'a t
indique explicitement, la distribution sera unstable.
--force-save-on-release
Quand l'option --release est utilise et qu'un diteur a t ouvert
pour permettre de vrifier le journal des modifications,
l'utilisateur doit enregistrer le journal de modifications
ouvert par l'diteur. Sinon, le journal d'origine ne sera pas
modifi. (option par dfaut)
--no-force-save-on-release
Inverse de --force-save-on-release. Notez qu'une fausse entre de
journal peut tre fournie pour obtenir le mme rsultat - par
exemple avec debchange --release "". L'entre ne sera pas ajoute
au journal des modifications, mais sa prsence vite l'ouverture
de l'diteur.
--create
Ceci crera un nouveau fichier debian/changelog (ou debian/NEWS
si l'option --news est utilise). Vous devez tre dans le
rpertoire de plus haut niveau pour l'utiliser ; aucune
vrification sur le nom du rpertoire ne sera faite. Le nom du
paquet et sa version peuvent tre indiques en utilisant les
options --package et --newversion, dtermins grce au nom du
rpertoire en utilisant l'option --fromdirname ou entrs
manuellement dans le journal des modifications gnr. Le nom du
responsable est dtermin grce aux variables d'environnement si
cela est possible, et la distribution est indique soit en
utilisant l'option --distribution soit dans le journal des
modifications gnr.
--empty
Quand elle est utilise avec l'option --create, elle permet de
supprimer l'ajout automatique d'une entre initial release (de
telle sorte que le prochain appel debchange ajoutera la premire
entre). Notez que dpkg-parsechangelog gnrera des avertissements
du fait de l'absence de description de modifications.
--package paquet
Spcifie le nom du paquet qui devra tre utilis dans le nouveau
journal des modifications ; doit tre utilis seulement en
conjonction avec les options --create, --increment, et
--newversion.
--nmu, -n
Incrmente le numro de version Debian pour un envoi d'un
non-responsable soit en ajoutant .1 une version non-NMU (
moins qu'il s'agisse d'un paquet Debian natif, auquel cas
+nmu1 est ajout) soit en incrmentant un numro de NMU. Ceci se
produit automatiquement si l'auteur du paquet n'est pas dans les
champs Maintainer ou Uploaders de debian/control, moins que
DEBCHANGE_AUTO_NMU soit dfinie no ou que l'option --no-auto-nmu
soit utilise.
--bin-nmu
Incrmente le numro de version Debian pour un envoi binaire d'un
non-responsable soit en ajoutant +b1 une version non-binNMU
soit en incrmentant un numro de binNMU, et ajoute un commentaire
binNMU dans le changelog.
--rebuild, -R
Increment the Debian release number for a no-change rebuild by
appending a "build1" or by incrementing a rebuild version
number.
--qa, -q
Incrmente le numro de publication de Debian pour un envoi par
l'quipe QA de Debian, et ajoute un commentaire QA upload dans
le changelog.
--security, -s
Incrmente le numro de publication de Debian pour un envoi par
l'quipe Scurit de Debian, et ajoute un commentaire Security
Team upload dans le changelog.
--team Incrmente le numro de publication de Debian pour un envoi par
l'quipe, et ajoute un commentaire Team upload dans le
changelog.
--bpo Incrmente le numro de publication de Debian pour un envoi d'un
rtroportage pour Lenny, et ajoute un commentaire pour l'envoi du
rtroportage dans le changelog.
--local, -lsuffix
Ajouter un suffixe au numro de version Debian pour une
construction locale.
--force-bad-version, -b
Force un numro de version tre moins lev que le numro de version
courant (comme c'est le cas par exemple dans le cas d'un
rtroportage).
--allow-lower-version
Permettre un numro de version d'tre infrieur la version en
cours si la nouvelle version satisfait le modle indiqu.
--force-distribution
Forcer l'utilisation de la distribution indique, mme si elle
correspond aucune distribution connue (par exemple pour une
distribution non officielle).
--auto-nmu
Essayer de dterminer automatiquement si une modification dans le
journal des modifications correspond un NMU ( Non Maintainer
Upload ). Il s'agit du comportement par dfaut.
--no-auto-nmu
Dsactiver la dtection automatique des NMU. C'est quivalent
configurer DEBCHANGE_AUTO_NMU avec la valeur no.
--fromdirname, -d
Le numro de version amont sera dtermin en fonction du nom du
rpertoire, qui devra tre de la forme paquet-version. Si le numro
de version amont a augment depuis l'entre la plus rcente du
fichier changelog, la nouvelle entre sera ajoute avec pour numro
de version version-1 (ou version dans le cas d'un paquet Debian
natif), avec le mme temps absolu ( epoch ) que le paquet
prcdent. Si le numro de version amont est le mme, cette option
se comporte de la mme faon que -i.
--closes nnnnn,[nnnnn,...]
Ajoute des entres au fichier changelog pour fermer les bogues
indiqus. Un diteur est galement invoqu aprs avoir ajout ces
entres. Il gnrera des avertissements si le BTS ne peut pas tre
contact (et que l'option --noquery n'a pas t utilise) ou s'il y
a un problme avec un rapport de bogue.
--[no]query
Spcifie si le BTS doit tre interrog lorsqu'une fermeture de
bogue est gnre.
--preserve, -p
Prserve le nom du rpertoire de l'architecture source si le numro
de version amont (ou le numro de version d'un paquet Debian
natif) change. Veuillez galement consulter la section des
variables de configuration ci-dessous.
--no-preserve, --nopreserve
Ne prserve pas le nom du rpertoire de l'arborescence des sources
(comportement par dfaut).
--distribution dist, -D dist
Utilise la distribution indique dans la nouvelle entre du
fichier changelog au lieu d'utiliser la distribution de la
dernire entre ou de l'entre en cours d'dition.
--urgency urgence, -u urgence
Utilise le niveau d'urgence indiqu dans la nouvelle entre du
fichier changelog, s'il y en a une, au lieu du niveau d'urgence
bas ( low ) par dfaut ou de la valeur courante pour les entres
existantes.
--changelog fichier, -c fichier
Ceci ditera le journal des modifications fichier au lieu de
debian/changelog. Cette option remplace la valeur dfinie par la
variable d'environnement CHANGELOG. De plus, aucune traverse ou
contrle de rpertoire ne sera fait quand cette option est
utilise.
--news [newsfile]
Ceci ditera newsfile (debian/NEWS par dfaut) au lieu du journal
des modifications. Une recherche sur le rpertoire sera faite. Le
changelog sera analys pour dterminer la version actuelle du
paquet.
--[no]multimaint
Prcise s'il faut indiquer que diffrentes parties du journal des
modifications ont t faites par diffrents responsables. L'option
par dfaut est --multimaint, regardez la discussion ci-dessus
ainsi que les explications ci-dessous propos de la variable
DEBCHANGE_MULTIMAINT du fichier de configuration.
--[no]multimaint-merge
Should all changes made by the same author be merged into the
same changelog section? Default is no; see the discussion above
and also the DEBCHANGE_MULTIMAINT_MERGE configuration file
option below.
--maintmaint, -m
Ne modifie pas les informations sur le responsable listes
prcdemment dans le journal des modifications. C'est
particulirement utile pour les parrains qui souhaitent ajouter
un message automatiquement sans perturber les informations du
changelog. Notez qu'il peut y avoir des interactions
intressantes quand le mode multiresponsable est utilis : vous
voudrez probablement vrifier le journal des modifications
manuellement avant d'envoyer le paquet l'archive dans ces cas.
--[no]mainttrailer, -t
Si l'option mainttrailer est active, elle vitera la modification
de la ligne de fin des entres du journal des modifications
(c'est--dire les dtails sur le responsable et l'horodatage),
moins qu'une option qui ncessite la modification de cette ligne
de fin soit utilise (par exemple, --create, --release, -i, --qa,
etc.). Cette option diffre de --maintmaint puisque le mode
multi-responsables sera utilis s'il se justifie, l'exception de
l'dition de la ligne de fin. Consultez aussi l'option du fichier
de configuration DEBCHANGE_MAINTTRAILER ci-dessous.
--check-dirname-level N
Veuillez consulter la section ci-dessus Vrification du nom du
rpertoire pour une explication de cette option.
--check-dirname-regex regex
Veuillez consulter la section ci-dessus Vrification du nom du
rpertoire pour une explication de cette option.
--no-conf, --noconf
Ne lit aucun fichier de configuration. L'option ne peut tre
utilise qu'en premire position de la ligne de commande.
--release-heuristic log|changelog
Contrle comment debchange dtermine si le paquet a t distribu,
pour dcider s'il faut crer une nouvelle entre ou rajouter dans
une entre existante du journal des modifications.
--help, -h
Affiche un message d'aide et quitte avec succs.
--version
Affiche la version et le copyright, puis quitte avec succs.
VARIABLES DE CONFIGURATION
Les deux fichiers de configuration /etc/devscripts.conf et
~/.devscripts sont valus dans cet ordre pour rgler les variables de
configuration. Des options de ligne de commande peuvent tre utilises
pour neutraliser les paramtres des fichiers de configuration. Les
variables d'environnement sont ignores cette fin. Les variables
actuellement identifies sont :
DEBCHANGE_PRESERVE
Si elle est positionne yes, quivaut utiliser l'option
--preserve.
DEBCHANGE_QUERY_BTS
Si elle est positionne no, quivaut utiliser l'option
--noquery.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL, DEVSCRIPTS_CHECK_DIRNAME_REGEX
Veuillez consulter la section Vrification du nom du rpertoire
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).
DEBCHANGE_RELEASE_HEURISTIC
Contrle comment debchange dtermine si le paquet a t distribu,
pour dcider s'il faut crer une nouvelle entre ou rajouter dans
une entre existante du journal des modifications. Peut tre soit
log soit changelog.
DEBCHANGE_MULTIMAINT
Si positionn no, debchange n'introduira pas de distinction
multiresponsable lorsqu'un responsable diffrent ajoutera une
entre un journal des modifications existant. Regardez la
discussion ci-dessus. La valeur par dfaut est yes.
DEBCHANGE_MULTIMAINT_MERGE
Si elle est positionne yes, lors de l'ajout de modifications
dans le mode multi-responsables, debchange vrifiera si des
modifications prcdentes ont t ralises par le responsable actuel
et ajoutera les modifications au bloc existant plutt que de crer
un nouveau bloc. La valeur par dfaut est no.
DEBCHANGE_MAINTTRAILER
Si elle est positionne no, alors c'est comme si l'option
--nomainttrailer tait utilise.
DEBCHANGE_TZ
Use this timezone for changelog entries. Default is the
user/system timezone as shown by `date -R` and affected by the
environment variable TZ.
DEBCHANGE_LOWER_VERSION_PATTERN
Si elle est positionne, quivaut utiliser l'option
--allow-lower-version sur la ligne de commande.
DEBCHANGE_AUTO_NMU
Si elle est positionne no alors debchanges n'essaiera pas de
dterminer automatiquement si la modification en cours reprsente
un NMU. La valeur par dfaut est yes. Consultez la discussion sur
l'option --nmu ci-dessus.
DEBCHANGE_FORCE_SAVE_ON_RELEASE
Si elle est positionne no , alors c'est comme si l'option
--no-force-save-on-release tait utilise.
ENVIRONNEMENT
DEBEMAIL, EMAIL, DEBFULLNAME, NAME
Reportez-vous la description prcdente de l'utilisation de ces
variables d'environnement
CHANGELOG
Cette variable indique le journal des modifications diter en
remplacement de debian/changelog. Aucune traverse ou contrle de
rpertoire ne sera fait si cette variable est utilise. Cette
variable est remplace par l'option de la ligne de commande
--changelog.
VISUAL, EDITOR
Ces variables d'environnement dterminent (dans cet ordre) quel
sera l'diteur invoqu par sensible-editor.
VOIR AUSSI
debclean(1), dupload(1), dput(1), debc(1) et devscripts.conf(5).
AUTEUR
L'auteur initial est Christoph Lameter <clameter@debian.org>. Beaucoup
de changements substantiels et d'amliorations ont t apports par Julian
Gilbey <jdg@debian.org>.
TRADUCTION
Ce document est une traduction, ralise par Nicolas Franois, Guillaume
Delacour, Cyril Brulebois et Thomas Huriaux.
L'quipe de traduction a fait le maximum pour raliser une adaptation
franaise de qualit.
La version anglaise la plus jour de ce document est toujours
consultable en ajoutant l'option -L C la commande man.
N'hsitez 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.