debdiff - Comparer la liste des fichiers de deux paquets
Debian
debdiff [options]
debdiff [options] ... deb1 deb2
debdiff [options] ... changes1 changes2
debdiff [options] ... --from deb1a deb1b ...
--to deb2a deb2b ...
debdiff [options] ... dsc1 dsc2
debdiff prend en argument le nom de deux paquets Debian
(fichiers .deb ou .udeb) et compare leur contenu (en comparant
uniquement les fichiers principaux, sans les scripts de maintenance). Il
affiche quels fichiers ont été ajoutés ou
retirés entre deux paquets. Il est de ce fait utile pour pointer les
fichiers perdus par inadvertance entre deux versions d'un paquet. Il
vérifie également les permissions et propriétaires des
fichiers et compare le fichier control des deux paquets à l'aide du
programme wdiff. Pour une comparaison plus précise de deux
paquets Debian, l’outil diffoscope peut être
utilisé.
Si aucun paramètre n'est donné, debdiff
essaie de comparer le contenu du répertoire source actuel avec la
dernière version du paquet.
debdiff peut aussi gérer les changements entre des
groupes de fichiers .deb de deux façons. La première
consiste à indiquer deux fichiers .changes. Dans ce cas, les
fichiers .deb listés dans les fichiers .changes seront
comparés, en considérant ensemble le contenu de tous les
fichiers .deb. Il est supposé que les fichiers .deb se
trouvent dans le même répertoire que le fichier
.changes. La deuxième façon consiste à indiquer
la liste de fichiers .deb avec la syntaxe --from ... (depuis)
et --to ... (vers). On peut ainsi vérifier que, lorsqu'un
paquet est découpé en paquets plus petits, rien n'est perdu au
passage.
debdiff examine les fichiers de configuration de
devscripts comme décrit ci-dessous. Les options en ligne de
commande permettent de remplacer les paramètres des fichiers de
configuration.
Si deux paquets source (fichiers .dsc) sont fournis
à debdiff, il comparera le contenu des paquets source. Si les
paquets source ne diffèrent que par leur numéro de version
Debian (c'est-à-dire que les fichiers .orig.tar.gz sont
identiques dans les deux fichiers .dsc), alors interdiff(1)
sera utilisé pour comparer les deux fichiers de rustine si ce
programme est disponible sur le système, sinon, diff sera
utilisé sur les deux arborescences des sources.
- --dirs,
-d
- Le mode opératoire par défaut est d'ignorer les noms de
répertoire qui apparaissent dans la liste de fichiers ; mais
avec cette option, ils seront pris en compte.
- --nodirs
- Ignorer les répertoires dont le nom apparaît dans la liste
de fichiers. C'est le comportement par défaut. Cette option permet
de remplacer un paramètre d'un fichier de configuration.
- --move DEPUIS
VERS, -m DEPUIS VERS
- Il arrive parfois que différents fichiers ou répertoires
soient déplacés entre deux versions. On peut régler
le problème en utilisant cette option. Les deux arguments
représentent les emplacements du répertoire ou du fichier
dans le premier et dans le second paquet. Quand les listes de fichiers
sont comparées, tous les fichiers de la première liste dont
le nom commence par le premier argument sont traités comme s'ils
commençaient par le second argument. Vous pouvez donner un nombre
arbitraire d'arguments --move : ils sont
interprétés dans l'ordre d'apparition. Cela affecte
seulement les paquets binaires, pas les paquets source.
- --move-regex
DEPUIS VERS
- Identique à --move, mais DEPUIS est traité
comme une expression rationnelle et la commande de substitution
perl s/^DEPUIS/VERS/ est appliquée aux fichiers. En
particulier, VERS peut avoir des références arrières
telles que $1.
- --nocontrol
- debdiff compare normalement les deux fichiers control respectifs
avec wdiff(1). Cette option permet de désactiver cette
fonctionnalité.
- --control
- Comparer les fichiers control respectifs, ce qui est le
comportement par défaut. Cette option permet de remplacer un
paramètre d'un fichier de configuration.
- --controlfiles
FICHIER[,FICHIER ...]
- Indiquer quels fichiers de contrôle comparer. Par défaut, il
s'agit juste de control, mais peut inclure postinst,
config, etc. Les fichiers ne seront comparés que s'ils sont
présents dans les deux fichiers .deb. La valeur
spéciale ALL compare tous les fichiers de contrôle
présents dans les deux paquets, à l'exception de md5sums.
Cette option peut être utilisée pour remplacer les
paramètres du fichier de configuration.
- --wdiff-source-control
- Lors du traitement des paquets source, comparer les fichiers de
contrôle avec wdiff. C'est équivalent à
l'option --control pour les paquets binaires.
- --no-wdiff-source-control
- Ne pas comparer les fichiers de contrôle des paquets source en
utilisant wdiff. C'est le comportement par défaut.
- --wp, --wl,
--wt
- Passe respectivement les options -p, -l ou -t
à wdiff (cela affiche le wdiff complet, plutôt
que juste les lignes modifiées).
- --show-moved
- Si plusieurs fichiers .deb sont fournis sur la ligne de commande,
que la syntaxe utilisée soit des fichiers .changes soit la
syntaxe --from/--to, alors cette option affichera
également les fichiers (s'il y en a) qui ont été
déplacés entre deux paquets. Les noms des paquets sont
simplement déterminés par les noms des fichiers
.deb.
- --noshow-moved
- Le comportement par défaut ; cette option permet de
remplacer les paramètres d'un fichier de configuration.
- --renamed
DEPUIS VERS
- Si l'option --show-moved est utilisée et qu'un paquet a
été renommé au cours du processus, cette commande
indique à debdiff de traiter le paquet de la première
liste appelé DEPUIS comme s'il s'appelait VERS. Cette
option peut être utilisée plusieurs fois.
- --exclude
MOTIF
- Exclure les fichiers dont le nom de base correspond à
l'expression. La pluralité d'emploi de cette option est
possible. Noter que cette option est passée à diff et
a le même comportement, ainsi seul le nom de base est
considéré : en particulier, --exclude='*.patch'
fonctionnera mais --exclude='debian/patches/*' n'aura pas d'effet
en pratique.
- --diffstat
- Inclure le résultat de diffstat avant de produire le
différentiel.
- --no-diffstat
- Le comportement par défaut ; cette option permet de
remplacer les paramètres d'un fichier de configuration.
- --auto-ver-sort
- Lors de la comparaison de paquets source, comparer dans l'ordre des
versions.
- --no-auto-ver-sort
- Comparer les paquets source dans l'ordre où ils ont
été fournis sur la ligne de commande, même si cela
force la comparaison entre un paquet avec une version supérieure et
un paquet avec une version inférieure. C'est le comportement par
défaut.
- --unpack-tarballs
- Lors de la comparaison des paquets source, ouvrir également les
archives tar trouvées dans la racine des sources pour comparer
leurs contenus en même temps que les autres fichiers. Il s'agit du
comportement par défaut.
- --no-unpack-tarballs
- Ne pas ouvrir les archives tar se trouvant dans les paquets source.
- --apply-patches
- Si l'ancien et/ou le nouveau paquet est au format 3.0 (quilt), applique
les patchs quilt (et supprime .pc/) avant la comparaison.
- --no-apply-patches,
--noapply-patches
- Si l'ancien et/ou le nouveau paquet est au format 3.0 (quilt), n'applique
les patchs quilt avant la comparaison. C'est le comportement par
défaut.
- --no-conf,
--noconf
- Ne lire aucun fichier de configuration. L'option ne peut être
utilisée qu'en première position de la ligne de
commande.
- --debs-dir
répertoire
- Chercher les fichiers .dsc dans le répertoire au lieu
du répertoire parent du répertoire source. Cela doit
être soit un chemin absolu, soit un chemin relatif à la
racine du répertoire source.
- --help,
-h
- Afficher un résumé des options.
- --version,
-v
- Affiche la version et le copyright.
- --quiet,
-q
- Rester silencieux si aucune différence n'est trouvée.
- --ignore-space,
-w
- Ignorer les blancs dans les diffs.
Les deux fichiers de configuration /etc/devscripts.conf et
~/.devscripts sont évalués dans cet ordre par un
interpréteur de commandes ("shell") 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 paramètres des variables
d'environnement sont ignorés à cette fin. Si la
première option donnée en ligne de commande est
--noconf, alors ces fichiers ne sont pas évalués. Les
variables actuellement identifiées sont :
- DEBDIFF_DIRS
- Lui attribuer la valeur yes équivaut à utiliser
l'option --dirs.
- DEBDIFF_CONTROL
- Lui attribuer la valeur no équivaut à utiliser
l'option --nocontrol. La valeur par défaut est
yes.
- DEBDIFF_CONTROLFILES
- Définit les fichiers control à comparer, correspondant
à l'option en ligne de commande --controlfiles. La valeur
par défaut est control.
- DEBDIFF_SHOW_MOVED
- Lui attribuer la valeur yes équivaut à utiliser
l'option --show-moved.
- DEBDIFF_WDIFF_OPT
- Cette option est passée à wdiff ; les valeurs
possibles sont -p, -l ou -t.
- DEBDIFF_SHOW_DIFFSTAT
- Lui attribuer la valeur yes équivaut à utiliser
l'option --diffstat de la ligne de commande.
- DEBDIFF_WDIFF_SOURCE_CONTROL
- Lui attribuer la valeur yes équivaut à utiliser
l'option --wdiff-source-control de la ligne de commande.
- DEBDIFF_AUTO_VER_SORT
- Lui attribuer la valeur yes équivaut à utiliser
l'option --auto-ver-sort de la ligne de commande.
- DEBDIFF_UNPACK_TARBALLS
- Lui attribuer la valeur no équivaut à utiliser
l'option --no-unpack-tarballs de la ligne de commande.
- DEBDIFF_APPLY_PATCHES
- Lui attribuer la valeur yes équivaut à utiliser le
paramètre --apply-patches de la ligne de commande. La valeur
par défaut est no.
- DEBRELEASE_DEBS_DIR
- Indiquer le répertoire dans lequel chercher les fichiers
.dsc, et est soit un chemin absolu ou un chemin relatif à la
racine du répertoire racine. Cela correspond à l'option en
ligne de commande --debs-dir. Cette directive peut être
utilisée par exemple si vous utilisez systématiquement
pbuilder ou svn-buildpackage pour construire vos paquets.
Remarquez que cela concerne également debrelease(1), ce qui
explique le nom étrange de l'option.
Normalement, la valeur de retour est 0 si aucune différence
n'a été trouvée et 1 en cas de différence. Dans
le cas d'une erreur fatale, la valeur de retour sera 255.
debdiff-apply(1), diffstat(1), dpkg-deb(1),
interdiff(1), wdiff(1), devscripts.conf(5),
diffoscope(1)
debdiff a été initialement écrit sous
forme de script shell par Yann Dirson <dirson@debian.org> et a
été réécrit en Perl avec beaucoup plus de
fonctionnalités par Julian Gilbey <jdg@debian.org>. C'est un
logiciel libre qui peut être redistribué suivant les termes de
la licence publique générale GNU, version 2.
Ce document est une traduction, maintenue à l'aide de
l'outil po4a <https://po4a.org/> par l'équipe de
traduction francophone du projet Debian.
Nicolas François, Guillaume Delacour, Cyril Brulebois,
Thomas Huriaux et David Prévot ont réalisé cette
traduction.
L'équipe de traduction a fait le maximum pour
réaliser une adaptation française de qualité. Veuillez
signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de
bogue sur le paquet devscripts.
La version anglaise la plus à jour de ce document est
toujours consultable en ajoutant l'option
« -L C » à la commande
man.