DOKK / manpages / debian 11 / devscripts / debdiff.1.de
DEBDIFF(1) General Commands Manual DEBDIFF(1)

debdiff - vergleicht Dateilisten in zwei Debian-Paketen

ÜBERSICHT

debdiff [Optionen]
debdiff [Optionen] … deb1 deb2
debdiff [Optionen] … Änderungen1 Änderungen2
debdiff [Optionen] … --from deb1a deb1b … --to deb2a deb2b
debdiff [Optionen] … dsc1 dsc2

debdiff nimmt die Namen zweier Debian-Pakete (.debs oder .udebs) auf der Befehlszeile entgegen und vergleicht ihren Inhalt (dabei werden nur die Dateien im Hauptpaket berücksichtigt, nicht die Betreuerskripte). Es zeigt, welche Dateien eingeführt und welche zwischen den beiden Dateien entfernt wurden. Es ist daher nützlich, um Dateien ausfindig zu machen, die möglicherweise versehentlich zwischen zwei Revisionen des Pakets verloren gingen. Es prüft außerdem die Dateibesitzer und Zugriffsrechte und vergleicht die Steuerdateien der beiden Pakete mittels des Programms wdiff. Falls Sie zwei Debian-Pakete genauer vergleichen wollen, können Sie das Werkzeug diffoscope benutzen.

Falls kein Argument angegeben wurde, versucht debdiff, den Inhalt des aktuellen Quellverzeichnisses mit der neuesten Version des Pakets zu vergleichen.

debdiff kann außerdem Änderungen zwischen Gruppen von .deb-Dateien auf zwei Arten handhaben. Die erste ist, zwei .changes-Dateien anzugeben. In diesem Fall werden die in der .changes-Datei aufgeführten .deb-Dateien verglichen, indem der Inhalt aller aufgelisteten .deb-Dateien zusammengenommenen wird. (Es wird davon ausgegangen, dass die .deb-Dateien im gleichen Verzeichnis wie die .changes-Datei liegen.) Die zweite Art besteht darin, die .deb-Dateien von Interesse insbesondere mit der Syntax --from--to aufzulisten. Diese beiden helfen, falls ein Paket in mehrere kleinere Pakete zerteilt wurde und sichergestellt werden soll, dass zwischenzeitlich nichts verloren ging.

debdiff untersucht die devscripts-Konfigurationsdateien wie nachfolgend beschrieben. Befehlszeilenoptionen setzten jedoch die Konfigurationsdateieinstellungen außer Kraft.

Falls debdiff zwei Quellpakete (.dsc-Dateien) übergeben wurden, wird es den Inhalt der Quellpakete vergleichen. Falls sich die Quellpakete nur in der Debian-Revisionsnummer unterscheiden (sprich, die .orig.tar.gz-Dateien sind in beiden .dsc-Dateien gleich), dann wird interdiff(1) benutzt, um die beiden Patch-Dateien zu vergleichen, falls das Programm auf dem System verfügbar ist. Andernfalls wird ein diff zwischen beiden Quellverzeichnisbäumen durchgeführt.

Im Standardbetriebsmodus werden Verzeichnisnamen, die in der Dateiliste auftauchen, ignoriert, sie werden aber, wenn diese Option angegeben wurde, berücksichtigt.
ignoriert Verzeichnisnamen, die in der Dateiliste erscheinen. Dies ist die Vorgabe und kann benutzt werden, um die Einstellungen der Konfigurationsdatei außer Kraft zu setzen.
Manchmal kommt es vor, dass unterschiedliche Dateien oder Verzeichnisse zwischen Revisionen hin- und hergeschoben werden. Dies kann mithilfe dieser Option gehandhabt werden. Es gibt zwei Argumente, das erste gibt den Speicherort des Verzeichnisses oder der Datei im ersten Paket und das Zweite den im Zweiten an. Alle Dateien in der ersten Auflistung, deren Name mit dem ersten Argument beginnt, werden beim Vergleich der Dateilisten so angesehen, als ob dies durch das zweite Argument ersetzt worden wäre. Es kann eine beliebige Anzahl von --move-Argumenten angegeben werden; sie werden in der Reihenfolge verarbeitet, in der sie erscheinen. Dies betrifft nur das Vergleichen von Binärpaketen, nicht das von Quellpaketen.
Dies ist identisch mit --move, außer dass VON als ein regulärer Ausdruck angesehen wird und der perl-Ersetzungsbefehl s/^VON/BIS/ auf die Dateien angewendet wird. Insbesondere kann BIS Gebrauch von Rückverweisen wie $1 machen.
debdiff wird normalerweise die jeweiligen Steuerdateien der Pakete mittels wdiff(1) vergleichen. Diese Option unterdrückt diesen Teil der Verarbeitung.
vergleicht die jeweiligen Steuerdateien. Dies ist die Vorgabe und es kann verwendet werden, um eine Einstellung der Konfigurationsdatei außer Kraft zu setzen.
gibt an, welche Steuerdateien verglichen werden sollen; standardmäßig ist dies nur control, könnte aber auch postinst, config und so weiter umfassen. Dateien werden nur verglichen, falls sie in beiden verglichenen .debs enthalten sind. Der Spezialwert ALL vergleicht alle Steuerdateien, die es in beiden Paketen gibt, außer md5sums. Diese Option kann benutzt werden, um eine Konfigurationsdateieinstellung außer Kraft zu setzen.
vergleicht Steuerdateien, wenn Quellpakete verarbeitet werden, mittels wdiff. Entspricht der Option --control für Binärpakete.
vergleicht keine Steuerdateien in Quellpaketen mittels wdiff. Dies ist die Vorgabe.
übergibt eine -p-, -l- beziehungsweise -t-Option an wdiff. (Dies liefert die ganze wdiff-Ausgabe statt nur den Zeilen mit irgendwelchen Änderungen).
Falls mehrere .deb-Dateien auf der Befehlszeile angegeben wurden, entweder mit den .changes-Dateien oder mit der --from-/--to-Syntax, wird diese Option außerdem (falls vorhanden) Dateien anzeigen, die zwischen Paketen verschoben wurden. (Die Paketnamen werden einfach aus den Namen der .deb-Dateien bestimmt.)
das Standardverhalten; kann benutzt werden, um Konfigurationsdateieinstellungen außer Kraft zu setzen.
Falls --show-moved verwendet wird und ein Paket in dem Prozess umbenannt wurde, weist dieser Befehl debdiff an, das Paket in der ersten, VON genannten Liste, so zu betrachten, als ob es BIS genannt würde. Es ist erlaubt, diese Option mehrfach zu benutzen.
Exclude files whose basenames match PATTERN. Multiple uses of this option are permitted. Note that this option is passed on to diff and has the same behaviour, so only the basename of the file is considered: in particular, --exclude='*.patch' will work, but --exclude='debian/patches/*' will have no practical effect.
beinhaltet das Ergebnis von diffstat vor dem erzeugten Diff
das Standardverhalten; kann benutzt werden, um Konfigurationsdateieinstellungen außer Kraft zu setzen.
Wenn Quellpakete verglichen werden, soll dies in der Reihenfolge ihrer Versionen getan werden.
vergleicht zwei Quellpakete in der Reihenfolge, in der sie auf der Befehlszeile übergeben wurden, sogar, wenn dies bedeutet, dass ein Paket mit einer höheren Versionsnummer mit einem mit einer niedrigeren Version verglichen wird. Dies ist das Standardverhalten.
Wenn Quellpakete verglichen werden, werden außerdem Tarbälle entpackt, die auf der obersten Stufe des Quellverzeichnisbaums liegen, um ihren Inhalt zusammen mit den anderen Dateien zu vergleichen. Dies ist das Standardverhalten.
entpackt keine Tarbälle innerhalb von Quellpaketen.
keine Konfigurationsdateien lesen, Dies kann nur als erste auf der Befehlszeile angegebene Option benutzt werden.
sucht nach .dsc-Dateien in Verzeichnis statt im übergeordneten Verzeichnis des Quellverzeichnisses. Dies sollte entweder ein absoluter Pfad oder relativ zur Wurzel des Quellverzeichnisses sein.
zeigt eine Zusammenfassung der Optionen.
zeigt die Version und Copyright-Informationen.
ist still, wenn keine Unterschiede gefunden wurden.
ignoriert Leerräume in Diffs.

Die beiden Konfigurationsdateien /etc/devscripts.conf und ~/.devscripts werden durch eine Shell eingelesen, um Konfigurationsvariablen zu setzen. Befehlszeilenoptionen können benutzt werden, um Konfigurationsdateieinstellungen außer Kraft zu setzen. Einstellungen aus Umgebungsvariablen werden zu diesem Zweck ignoriert. Die derzeit bekannten Variablen sind:

Falls dies auf yes gesetzt ist, ist es so, als ob der Befehlszeilenparameter --dirs benutzt würde.
Falls dies auf no gesetzt ist, ist es so, als ob der Befehlszeilenparameter --nocontrol benutzt würde. Die Vorgabe ist yes.
welche Steuerdateien zu vergleichen sind, entspricht der Befehlszeilenoption --controlfiles. Die Vorgabe ist control.
Falls dies auf yes gesetzt ist, ist es so, als ob der Befehlszeilenparameter --show-moved benutzt würde.
Dieses Option wird an wdiff übergeben; sie sollte entweder -p, -l oder -t sein.
Falls dies auf yes gesetzt ist, ist es so, als ob der Befehlszeilenparameter --diffstat benutzt würde.
Falls dies auf yes gesetzt ist, ist es so, als ob der Befehlszeilenparameter --wdiff-source-control benutzt würde.
Falls dies auf yes gesetzt ist, ist es so, als ob der Befehlszeilenparameter --auto-ver-sort benutzt würde.
Falls dies auf no gesetzt ist, ist es so, als ob der Befehlszeilenparameter --no-unpack-tarballs benutzt würde.
Dies gibt das Verzeichnis an, in dem nach den .dsc-Dateien gesucht werden soll. Es ist entweder ein absoluter Pfad oder relativ zur obersten Ebene des Quellverzeichnisbaums. Dies entspricht der Befehlszeilenoption --debs-dir. Diese Direktive kann zum Beispiel benutzt werden, falls Sie immer pbuilder oder svn-buildpackage verwenden, um Ihre Pakete zu bauen. Beachten Sie, dass es außerdem debrelease(1) auf die gleiche Weise beeinflusst, daher der merkwürdige Name der Option.

Normalerweise wird der Rückgabewert 0 sein, wenn keine Unterschiede gemeldet werden und 1, falls doch. Falls es irgendeinen schwerwiegenden Fehler gibt, wird der Rückgabewert 255 sein.

debdiff-apply(1), diffoscope(1), diffstat(1), dpkg-deb(1), interdiff(1), wdiff(1), devscripts.conf(5)

debdiff wurde ursprünglich als ein Shell-Skript von Yann Dirson <dirson@debian.org> verfasst und neu in Perl mit viel mehr Funktionalitäten durch Julian Gilbey <jdg@debian.org> geschrieben. Die Software kann frei unter den Bestimmungen und Bedingungen der GNU General Public License, Version 2 weitergegeben werden.

ÜBERSETZUNG

Diese Übersetzung wurde mit dem Werkzeug po4a <URL:https://po4a.alioth.debian.org/> durch Chris Leick c.leick@vollbio.de im Juli 2012 erstellt und vom deutschen Debian-Übersetzer-Team korrekturgelesen. Bitte melden Sie alle Fehler in der Übersetzung an debian-l10n-german@lists.debian.org oder als Fehlerbericht an das Paket devscripts. Sie können mit dem folgenden Befehl das englische Original anzeigen »man -L C Abschnitt deutsche_Handbuchseite«.

Debian-Hilfswerkzeuge DEBIAN