NOM
debdiff - Comparer la liste des fichiers de deux paquets Debian
SYNOPSIS
debdiff
[options]
debdiff [options] ... deb1 deb2
debdiff [options] ... changes1 changes2
debdiff [options] ... --from deb1a
deb1b ... --to deb2a deb2b ...
debdiff [options] ... dsc1 dsc2
DESCRIPTION
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.
OPTIONS
--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.
VARIABLES DE CONFIGURATION
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.
VALEURS DE RETOUR
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.
VOIR AUSSI
debdiff-apply(1), diffstat(1), dpkg-deb(1), interdiff(1), wdiff(1), devscripts.conf(5), diffoscope(1)
AUTEUR
debdiff a été initialement écrit sous forme de script shell par Yann Dirson <dirson [AT] debian.org> et a été réécrit en Perl avec beaucoup plus de fonctionnalités par Julian Gilbey <jdg [AT] debian.org>. C’est un logiciel libre qui peut être redistribué suivant les termes de la licence publique générale GNU, version 2.
TRADUCTION
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 [AT] lists.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.