summaryrefslogtreecommitdiffstats
path: root/scripts/debdiff.1
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scripts/debdiff.1264
1 files changed, 264 insertions, 0 deletions
diff --git a/scripts/debdiff.1 b/scripts/debdiff.1
new file mode 100644
index 0000000..b2781a7
--- /dev/null
+++ b/scripts/debdiff.1
@@ -0,0 +1,264 @@
+.TH DEBDIFF 1 "Debian Utilities" "DEBIAN" \" -*- nroff -*-
+.SH NAME
+debdiff \- compare file lists in two Debian packages
+.SH SYNOPSIS
+\fBdebdiff\fR [\fIoptions\fR] \fR
+.br
+\fBdebdiff\fR [\fIoptions\fR] ... \fIdeb1 deb2\fR
+.br
+\fBdebdiff\fR [\fIoptions\fR] ... \fIchanges1 changes2\fR
+.br
+\fBdebdiff\fR [\fIoptions\fR] ... \fB\-\-from \fIdeb1a deb1b ...
+\fB\-\-to \fIdeb2a deb2b ...\fR
+.br
+\fBdebdiff\fR [\fIoptions\fR] ... \fIdsc1 dsc2\fR
+.SH DESCRIPTION
+\fBdebdiff\fR takes the names of two Debian package files (\fI.deb\fRs
+or \fI.udeb\fRs) on the command line and compares their contents
+(considering only the files in the main package, not the maintenance
+scripts). It shows which files have been introduced and which removed
+between the two package files, and is therefore useful for spotting
+files which may have been inadvertently lost between revisions of the
+package. It also checks the file owners and permissions, and compares
+the control files of the two packages using the \fBwdiff\fR program.
+If you want a deeper comparison of two Debian package files you can
+use the \fBdiffoscope\fR tool.
+.PP
+If no arguments are given, \fBdebdiff\fR tries to compare the content
+of the current source directory with the last version of the package.
+.PP
+\fBdebdiff\fR can also handle changes between groups of \fI.deb\fR
+files in two ways. The first is to specify two \fI.changes\fR files.
+In this case, the \fI.deb\fR files listed in the \fI.changes\fR file
+will be compared, by taking the contents of all of the
+listed \fI.deb\fR files together. (The \fI.deb\fR files listed are
+assumed to be in the same directory as the \fI.changes\fR file.) The
+second way is to list the \fI.deb\fR files of interest specifically
+using the \fB\-\-from\fR ... \fB\-\-to\fR syntax. These both help if
+a package is broken up into smaller packages and one wishes to ensure
+that nothing is lost in the interim.
+.PP
+\fBdebdiff\fR examines the \fBdevscripts\fR configuration files as
+described below. Command line options override the configuration file
+settings, though.
+.PP
+If \fBdebdiff\fR is passed two source packages (\fI.dsc\fR files) it
+will compare the contents of the source packages. If the source
+packages differ only in Debian revision number (that is,
+the \fI.orig.tar.gz\fR files are the same in the two \fI.dsc\fR
+files), then \fBinterdiff\fR(1) will be used to compare the two patch
+files if this program is available on the system, otherwise a
+\fBdiff\fR will be performed between the two source trees.
+.SH OPTIONS
+.TP
+.BR \-\-dirs ", " \-d
+The default mode of operation is to ignore directory names which
+appear in the file list, but they, too, will be considered if this
+option is given.
+.TP
+.B \-\-nodirs
+Ignore directory names which appear in the file list. This is the
+default and it can be used to override a configuration file setting.
+.TP
+.BI \-\-move " FROM TO" "\fR,\fP \-m" " FROM TO"
+It sometimes occurs that various files or directories are moved around
+between revisions. This can be handled using this option. There are
+two arguments, the first giving the location of the directory or file
+in the first package, and the second in the second. Any files in the
+first listing whose names begin with the first argument are treated as
+having that substituted for the second argument when the file lists
+are compared. Any number of \fB\-\-move\fR arguments may be given;
+they are processed in the order in which they appear. This only affects
+comparing binary packages, not source packages.
+.TP
+.BI \-\-move\-regex " FROM TO"
+This is the same as \fB\-\-move\fR, except that \fIFROM\fR is treated
+as a regular expression and the \fBperl\fR substitution command
+\fIs/^FROM/TO/\fR is applied to the files. In particular, TO can make
+use of backreferences such as $1.
+.TP
+.B \-\-nocontrol
+\fBdebdiff\fR will usually compare the respective control files of the
+packages using \fBwdiff\fR(1). This option suppresses this part of
+the processing.
+.TP
+.B \-\-control
+Compare the respective control files; this is the default, and it can
+be used to override a configuration file setting.
+.TP
+.BI \-\-controlfiles " FILE\fR[\fP", "FILE\fR ...]\fP"
+Specify which control files to compare; by default this is just
+\fIcontrol\fR, but could include \fIpostinst\fR, \fIconfig\fR and so
+on. Files will only be compared if they are present in both
+\fI.debs\fR being compared. The special value \fIALL\fR compares all
+control files present in both packages, except for md5sums. This
+option can be used to override a configuration file setting.
+.TP
+.B \-\-wdiff\-source\-control
+When processing source packages, compare control files using \fBwdiff\fR.
+Equivalent to the \fB\-\-control\fR option for binary packages.
+.TP
+.B \-\-no\-wdiff\-source\-control
+Do not compare control files in source packages using \fBwdiff\fR. This
+is the default.
+.TP
+.BR \-\-wp ", " \-\-wl ", " \-\-wt
+Pass a \fB\-p\fR, \fB\-l\fR or \fB\-t\fR option to \fBwdiff\fR
+respectively. (This yields the whole \fBwdiff\fR output rather than
+just the lines with any changes.)
+.TP
+.B \-\-show-moved
+If multiple \fI.deb\fR files are specified on the command line, either
+using \fI.changes\fR files or the \fB\-\-from\fR/\fB\-\-to\fR syntax,
+then this option will also show which files (if any) have moved
+between packages. (The package names are simply determined from the
+names of the \fI.deb\fR files.)
+.TP
+.B \-\-noshow-moved
+The default behaviour; can be used to override a configuration file
+setting.
+.TP
+.BI \-\-renamed " FROM TO"
+If \fB\-\-show-moved\fR is being used and a package has been renamed
+in the process, this command instructs \fBdebdiff\fR to treat the
+package in the first list called \fIFROM\fR as if it were called
+\fITO\fR. Multiple uses of this option are permitted.
+.TP
+.BI \-\-exclude " PATTERN"
+Exclude files whose basenames match \fIPATTERN\fR.
+Multiple uses of this option are permitted.
+Note that this option is passed on to \fBdiff\fR and has the same
+behaviour, so only the basename of the file is considered:
+in particular, \fB--exclude='*.patch'\fR will work, but
+\fB--exclude='debian/patches/*'\fR will have no practical effect.
+.TP
+.B \-\-diffstat
+Include the result of \fBdiffstat\fR before the generated diff.
+.TP
+.B \-\-no\-diffstat
+The default behaviour; can be used to override a configuration file
+setting.
+.TP
+.B \-\-auto\-ver\-sort
+When comparing source packages, do so in version order.
+.TP
+.B \-\-no\-auto\-ver\-sort
+Compare source packages in the order they were passed on the
+command-line, even if that means comparing a package with a higher
+version against one with a lower version. This is the default
+behaviour.
+.TP
+.B \-\-unpack\-tarballs
+When comparing source packages, also unpack tarballs found in the top level
+source directory to compare their contents along with the other files.
+This is the default behaviour.
+.TP
+.B \-\-no\-unpack\-tarballs
+Do not unpack tarballs inside source packages.
+.TP
+.B \-\-apply\-patches
+If the old and/or new package is in 3.0 (quilt) format, apply the
+quilt patches (and remove \fB.pc/\fR) before comparison.
+.TP
+.B \-\-no\-apply\-patches, \-\-noapply\-patches
+If the old and/or new package is in 3.0 (quilt) format, do not apply the
+quilt patches before comparison. This is the default behaviour.
+.TP
+\fB\-\-no-conf\fR, \fB\-\-noconf\fR
+Do not read any configuration files. This can only be used as the
+first option given on the command-line.
+.TP
+\fB\-\-debs\-dir\fR \fIdirectory\fR
+Look for the \fI.dsc\fR files in \fIdirectory\fR
+instead of the parent of the source directory. This should
+either be an absolute path or relative to the top of the source
+directory.
+.TP
+.BR \-\-help ", " \-h
+Show a summary of options.
+.TP
+.BR \-\-version ", " \-v
+Show version and copyright information.
+.TP
+.BR \-\-quiet ", " \-q
+Be quiet if no differences were found.
+.TP
+.BR \-\-ignore\-space ", " \-w
+Ignore whitespace in diffs.
+.SH "CONFIGURATION VARIABLES"
+The two configuration files \fI/etc/devscripts.conf\fR and
+\fI~/.devscripts\fR are sourced by a shell in that order to set
+configuration variables. Command line options can be used to override
+configuration file settings. Environment variable settings are
+ignored for this purpose. The currently recognised variables are:
+.TP
+.B DEBDIFF_DIRS
+If this is set to \fIyes\fR, then it is the same as the
+\fB\-\-dirs\fR command line parameter being used.
+.TP
+.B DEBDIFF_CONTROL
+If this is set to \fIno\fR, then it is the same as the
+\fB\-\-nocontrol\fR command line parameter being used. The default is
+\fIyes\fR.
+.TP
+.B DEBDIFF_CONTROLFILES
+Which control files to compare, corresponding to the
+\fB\-\-controlfiles\fR command line option. The default is
+\fIcontrol\fR.
+.TP
+.B DEBDIFF_SHOW_MOVED
+If this is set to \fIyes\fR, then it is the same as the
+\fB\-\-show\-moved\fR command line parameter being used.
+.TP
+.B DEBDIFF_WDIFF_OPT
+This option will be passed to \fBwdiff\fR; it should be one of
+\fB\-p\fR, \fB\-l\fR or \fB\-t\fR.
+.TP
+.B DEBDIFF_SHOW_DIFFSTAT
+If this is set to \fIyes\fR, then it is the same as the
+\fB\-\-diffstat\fR command line parameter being used.
+.TP
+.B DEBDIFF_WDIFF_SOURCE_CONTROL
+If this is set to \fIyes\fR, then it is the same as the
+\fB\-\-wdiff\-source\-control\fR command line parameter being used.
+.TP
+.B DEBDIFF_AUTO_VER_SORT
+If this is set to \fIyes\fR, then it is the same as the
+\fB\-\-auto\-ver\-sort\fR command line parameter being used.
+.TP
+.B DEBDIFF_UNPACK_TARBALLS
+If this is set to \fIno\fR, then it is the same as the
+\fB\-\-no\-unpack\-tarballs\fR command line parameter being used.
+.TP
+.B DEBDIFF_APPLY_PATCHES
+If this is set to \fIyes\fR, then it is the same as the
+\fB\-\-apply\-patches\fR command line parameter being used.
+The default is \fIno\fR.
+.TP
+.B DEBRELEASE_DEBS_DIR
+This specifies the directory in which to look for the \fI.dsc\fR
+and files, and is either an absolute path or relative to
+the top of the source tree. This corresponds to the
+\fB\-\-debs\-dir\fR command line option. This directive could be
+used, for example, if you always use \fBpbuilder\fR or
+\fBsvn-buildpackage\fR to build your packages. Note that it also
+affects \fBdebrelease\fR(1) in the same way, hence the strange name of
+the option.
+.SH "EXIT VALUES"
+Normally the exit value will be 0 if no differences are reported and 1
+if any are reported. If there is some fatal error, the exit code will
+be 255.
+.SH "SEE ALSO"
+.BR debdiff-apply (1),
+.BR diffstat (1),
+.BR dpkg-deb (1),
+.BR interdiff (1),
+.BR wdiff (1),
+.BR devscripts.conf (5),
+.BR diffoscope (1)
+.SH AUTHOR
+\fBdebdiff\fR was originally written as a shell script by Yann Dirson
+<dirson@debian.org> and rewritten in Perl with many more features by
+Julian Gilbey <jdg@debian.org>. The software may be freely
+redistributed under the terms and conditions of the GNU General Public
+License, version 2.