debdelta(1) compute changes between Debian packages

SYNOPSIS

debdelta [OPTION]... FROMFILE TOFILE DELTA

DESCRIPTION

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).

OPTIONS

--signing-key KEY
key used to sign the delta (using GnuPG).
--no-md5
do not include MD5 info in delta.
--needsold
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').
-v
verbose (can be added multiple times).
-d
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).

-k
keep temporary files (use for debugging).
--gpg-home
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.

EXAMPLE

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.

SECURITY

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.

EXIT STATUS

0
if OK,
1
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'),
2
if there was a non-retriable problem,
3
if there was an error in a command-line option, or in a configuration file,
4
if there is an internal error, and
5
if exited due to keyboard interrupt.

REPORTING BUGS

Report bugs to <[email protected]>.

AUTHORS

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

COPYING

This is free software. You may redistribute copies of it under the terms of the GNU Library General Public License <http://www.gnu.org/licenses/lgpl-2.0.html>. There is NO WARRANTY, to the extent permitted by law.