debdelta(1) compute changes between Debian packages




This program computes changes between Debian packages FROMFILE and TOFILE. These changes are stored in the file DELTA. The DELTA file may later be used by the "debpatch" program to recreate TOFILE from FROMFILE. In a sense, the pair of programs "debdelta"/"debpatch" operate on Debian packages similar to how the pair "diff"/"patch" operate on text files; indeed, the output of "debdelta" may be used to store and transmit only the changes between Debian packages; but, contrary to the "diff" output, the output of "debdelta" is not human readable, but rather it is intended to be as small as possible (to optimize for less disk usage and/or faster transmission).


--signing-key KEY
key used to sign the delta (using GnuPG).
do not include MD5 info in delta.
create a patch that can only be used if the old .deb is available.
--delta-algo ALGO
use a specific backend for computing binary diffs; possible values are: xdelta xdelta-bzip xdelta3 bsdiff
-M Mb
maximum memory to use (for 'bsdiff' or 'xdelta').
verbose (can be added multiple times).
print full traceback on Python errors; save useful info in temporary files in case that a backend crashes.

(If '-d' is added multiple times, it also adds to the patches other extra debugging checks: only for advanced bug tracking).

keep temporary files (use for debugging).
specify a different home for GnuPG, default for root is /etc/debdelta/gnupg while for other users is unset. See --homedir in gpg(1) for details.
--disable-feature FEATURE
disable an internal feature. See the documentation in README.features.


The command
debdelta libglib_2.12_all.deb libglib_2.14_all.deb /tmp/glib.debdelta
will express the difference between two versions of libglib in /tmp/glib.debdelta ; the command
debpatch -A /tmp/glib.debdelta libglib_2.12_all.deb /tmp/glib.deb
will create in /tmp/glib.deb a perfect copy of libglib_2.14_all.deb.


A Debian package that is recreated using debpatch is byte-by-byte identical to the original one; so the cryptographic archive authentication support for APT (see apt-secure(8) ) may be used to assert that it can be trusted to be installed. Moreover, if a GnuPG key is specified using --signing-key then the delta file itself is cryptograhically protected using GnuPG, MD5 and SHA1 (using the same method as dpkg-sig(1) ). Note that, for non-root users, the master debdelta keyring /usr/share/keyrings/debian-debdelta-archive-keyring.gpg is added to the list of keyrings for gnupg.


if OK,
if there was a retriable problem (e.g., out-of-disk-space, or an auxiliary program such 'lzma' is missing and the user is asked to install the package 'lzma'),
if there was a non-retriable problem,
if there was an error in a command-line option, or in a configuration file,
if there is an internal error, and
if exited due to keyboard interrupt.


Report bugs to <[email protected]>.


Debdelta was written and is copyright © 2006-09 Andrea Mennucci.
This man page was written by Jegou Pierre-yves <[email protected]>.


This is free software. You may redistribute copies of it under the terms of the GNU Library General Public License <>. There is NO WARRANTY, to the extent permitted by law.