BESCHREIBUNG¶
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
BESCHREIBUNG¶
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 kein Argument angegeben wurde, versucht
debdiff den Inhalt des
aktuellen Quellverzeichnisses mit der letzten 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 Dateien verglichen, indem der Inhalt
aller aufgelisteten
.deb-Dateien zusammengenommenen wird. (Es wird
davon ausgegangen, dass die
.deb-Dateien im gleichen Verzeichnis liegen
wie die
.changes-Datei.) Die zweite Art ist, die
.deb-Dateien
von Interesse durch die Syntax
--from …
--to verwenden,
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.
OPTIONEN¶
- --dirs, -d
- Im Standardbetriebsmodus werden Verzeichnisnamen, die in
der Dateiliste auftauchen, ignoriert, sie werden aber, wenn diese Option
angegeben wurde, berücksichtigt.
- --nodirs
- 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.
- --move VON BIS, -m VON BIS
- 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 an und das Zweite den im Zweiten. Alle Dateien in der ersten
Auflistung, deren Namen mit dem ersten Argument beginnen, werden beim
Vergleich der Dateilisten so angesehen, als ob dieses durch das zweite
Argument ersetzt worden wäre. Jede beliebige Anzahl von
--move-Argumenten kann angegeben werden; sie werden in der
Reihenfolge verarbeitet, in der sie erscheinen.
- --move-regex VON BIS
- 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 angewandt
wird. Insbesondere kann BIS Gebrauch von Rückverweisen wie $1
machen.
- --nocontrol
- debdiff wird normalerweise die jeweiligen
Steuerdateien der Pakete mittels wdiff(1) vergleichen. Diese Option
unterdrückt diesen Teil der Verarbeitung.
- --control
- vergleicht die jeweiligen Steuerdateien. Dies ist die
Vorgabe und es kann verwendet werden, um eine Einstellung der
Konfigurationsdatei außer Kraft zu setzen.
- --controlfiles DATEI[,DATEI
…]
- 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.
- --wdiff-source-control
- vergleicht Steuerdateien, wenn Quellpakete verarbeitet
werden, mittels wdiff. Entspricht der Option --control
für Binärpakete.
- --no-wdiff-source-control
- vergleicht keine Steuerdateien in Quellpaketen mittels
wdfiff. Dies ist die Vorgabe.
- --wp, --wl, --wt
- übergibt eine -p-, -l- beziehungsweise
-t-Option an wdiff. (Dies liefert die ganze
wdiff-Ausgabe statt nur den Zeilen mit irgendwelchen
Änderungen).
- --show-moved
- Falls mehrere .deb-Dateien auf der Befehlszeile
angegeben wurden, entweder mittels .changes-Dateien oder 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.)
- --noshow-moved
- das Standardverhalten; kann benutzt werden, um
Konfigurationsdateieinstellungen außer Kraft zu setzen.
- --renamed VON BIS
- 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 MUSTER
- schließt Dateien aus, auf die MUSTER passt. Es
ist erlaubt, diese Option mehrfach zu benutzen.
- --diffstat
- beinhaltet das Ergebnis von diffstat vor dem
erzeugten Diff
- --no-diffstat
- das Standardverhalten; kann benutzt werden, um
Konfigurationsdateieinstellungen außer Kraft zu setzen.
- --auto-ver-sort
- Wenn Quellpakete verglichen werden, soll dies in der
Reihenfolge ihrer Versionen getan werden.
- --no-auto-ver-sort
- 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.
- --unpack-tarballs
- Wenn Quellpakete verglichen werden, werden außerdem
Tarballs entpackt, die auf der obersten Stufe des Quellverzeichnisbaums
liegen, um ihren Inhalt zusammen mit den anderen Dateien zu vergleichen.
Dies ist das Standardverhalten.
- --no-unpack-tarballs
- entpackt keine Tarballs innerhalb von Quellpaketen.
- --no-conf, --noconf
- keine Konfigurationsdateien lesen, Dies kann nur als erste
auf der Befehlszeile angegebene Option benutzt werden.
- --help, -h
- zeigt eine Zusammenfassung der Optionen.
- --version, -v
- zeigt die Version und Copyright-Informationen.
- --quiet, -q
- ist still, wenn keine Unterschiede gefunden wurden.
- --ignore-space, -w
- ignoriert Leerräume in Diffs.
KONFIGURATIONSVARIABLEN¶
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:
- DEBDIFF_DIRS
- Falls dies auf yes gesetzt ist, ist es so, als ob
der Befehlszeilenparameter --dirs benutzt würde.
- DEBDIFF_CONTROL
- Falls dies auf no gesetzt ist, ist es so, als ob der
Befehlszeilenparameter --nocontrol benutzt würde. Die Vorgabe
ist yes.
- DEBDIFF_CONTROLFILES
- welche Steuerdateien zu vergleichen sind, entspricht der
Befehlszeilenoption --controlfiles. Die Vorgabe ist
control.
- DEBDIFF_SHOW_MOVED
- Falls dies auf yes gesetzt ist, ist es so, als ob
der Befehlszeilenparameter --show-moved benutzt würde.
- DEBDIFF_WDIFF_OPT
- Dieses Option wird an wdiff übergeben; sie
sollte entweder -p, -l oder -t sein.
- DEBDIFF_SHOW_DIFFSTAT
- Falls dies auf yes gesetzt ist, ist es so, als ob
der Befehlszeilenparameter --diffstat benutzt würde.
- DEBDIFF_WDIFF_SOURCE_CONTROL
- Falls dies auf yes gesetzt ist, ist es so, als ob
der Befehlszeilenparameter --wdiff-source-control benutzt
würde.
- DEBDIFF_AUTO_VER_SORT
- Falls dies auf yes gesetzt ist, ist es so, als ob
der Befehlszeilenparameter --auto-ver-sort benutzt würde.
- DEBDIFF_UNPACK_TARBALLS
- Falls dies auf yes gesetzt ist, ist es so, als ob
der Befehlszeilenparameter --no-unpack-tarballs benutzt
würde.
RÜCKGABEWERTE¶
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.
SIEHE AUCH¶
diffstat(1),
dpkg-deb(1),
interdiff(1),
wdiff(1) und
devscripts.conf(5)
AUTOR¶
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.