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 <
[email protected]> et a été
réécrit en Perl avec beaucoup plus de fonctionnalités par
Julian Gilbey <
[email protected]>. 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 à <
[email protected]> 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.