info > DEBDIFF

📘 NAME

debdiff - compare file lists in two Debian packages

🚀 Quick Reference

Use CaseCommandDescription
Compare two .deb packagesdebdiff pkg1.deb pkg2.debCompare file lists, owners, permissions, and control files.
Compare two .changes filesdebdiff changes1 changes2Compare all .deb files listed in the changes files.
Compare groups of .deb filesdebdiff --from deb1a deb1b ... --to deb2a deb2b ...Compare specific sets of packages.
Compare source packagesdebdiff pkg1.dsc pkg2.dscCompare source package contents, using interdiff if applicable.
Show moved files between packagesdebdiff --show-moved --from ... --to ...Show which files moved between packages.
Exclude files by patterndebdiff --exclude='*.patch' pkg1.deb pkg2.debExclude files matching pattern from diff.

📖 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 takes the names of two Debian package files (.debs or .udebs) 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 wdiff program. If you want a deeper comparison of two Debian package files you can use the diffoscope tool.

If no arguments are given, debdiff tries to compare the content of the current source directory with the last version of the package.

debdiff can also handle changes between groups of .deb files in two ways. The first is to specify two .changes files. In this case, the .deb files listed in the .changes file will be compared, by taking the contents of all of the listed .deb files together. (The .deb files listed are assumed to be in the same directory as the .changes file.) The second way is to list the .deb files of interest specifically using the --from ... --to 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.

debdiff examines the devscripts configuration files as described below. Command line options override the configuration file settings, though.

If debdiff is passed two source packages (.dsc files) it will compare the contents of the source packages. If the source packages differ only in Debian revision number (that is, the .orig.tar.gz files are the same in the two .dsc files), then interdiff(1) will be used to compare the two patch files if this program is available on the system, otherwise a diff will be performed between the two source trees.

⚙️ OPTIONS

🔧 CONFIGURATION VARIABLES

The two configuration files /etc/devscripts.conf and ~/.devscripts 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:

🚪 Exit Codes

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.

📚 SEE ALSO

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

👤 AUTHOR

debdiff was originally written as a shell script by Yann Dirson <dirson AT debian.org> and rewritten in Perl with many more features by Julian Gilbey <jdg AT debian.org>. The software may be freely redistributed under the terms and conditions of the GNU General Public License, version 2.

DEBDIFF
📘 NAME 🚀 Quick Reference 📖 SYNOPSIS 📝 DESCRIPTION ⚙️ OPTIONS 🔧 CONFIGURATION VARIABLES 🚪 Exit Codes 📚 SEE ALSO 👤 AUTHOR

Generated by phpman v4.9.26-5-g7740029 Author: Che Dong Under GNU General Public License
2026-08-16 10:03 @2600:1f28:365:80b0:7cb9:fb:26c1:e368
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)
Valid XHTML 1.0 Transitional!Valid CSS!