Provided by: debdelta_0.45_amd64 bug

NAME

       debdeltas - compute deltas between Debian packages

SYNOPSIS

       debdeltas [OPTION]... ARGS ...

DESCRIPTION

       debdeltas computes deltas between the old and new versions of Debian packages.

       The explanation of what a delta is is in debdelta(1).

COMMAND ARGUMENTS

       In  all  of  the  following,  ARGS can be, a Debian binary file (usually, a file ending in
       .deb), or a directory containing such files, or a  Packages file (that is, an  index  file
       such  as  those  found in Debian mirrors - even the zipped ones - see apt-ftparchive(1) ).
       We will call cmdline all such args that are not related to an option.

       As a first step, debdeltas builds an internal list of Debian packages.  To  this  end,  it
       parses  all   ARGS  of  the  options  --alt   , --old , and those ARGS given as non-option
       arguments (the aforementioned  cmdline  args).  If  the  argument  is  a  Debian  package,
       debdeltas  adds  it  to  the  list; if the argument is a directory, debdeltas scans it for
       Debian packages to be added to the list; if the  argument  is  Packages  files,  debdeltas
       parses it and adds all Debian packages to the list.

       Then debdeltas groups all found Debian packages by name and architecture.

       For  each group, the newest cmdline version is isolated, and then deltas are computed from
       all --old versions to that version.

       These deltas  are  stored  in  many  delta  files  with  appropriate  names  of  the  form
       name_oldversion_newversion_architecture.debdelta  ;  the  location  of  the delta files is
       specified by the "--dir" option.

       Note that the location of files in a Packages index is specified relative to the  base  of
       the  mirror,  e.g.  Filename: pool/main/x/xxx/xxx_3_i386.deb For this reason, any Packages
       argument must presented with a long path (that contains at least the dists directory).

       Note also that the same directory or index can be provided many times, as --old, as --alt,
       and as cmdline argument.

       Note also that debdeltas will skip all packages that are smaller than 10KB.

MAIN OPTIONS

       --dir DIR
              force  saving  of  deltas  in  this  DIR (otherwise they go in the dir of the newer
              deb_file).

       --alt ARGS
              this is parsed as the non-option command line, but the  found  packages  are  never
              considered for a delta.  They are considered though when --clean-deltas is used, to
              decide if to delete a delta; and are useful to find  debs  that  are  deleted  from
              indexes and moved elsewhere. Multiple --alt can be specified.

       --old ARGS
              this  is  parsed  as  the  non-option  command  line,  and  the  found packages are
              considered as the older versions.  Multiple --old can be specified.  Moreover, when
              scanning  a  Packages  index,  it is not an error if files do not exist, as long as
              they have been moved in a --alt directory. Note that, if  no  --old  is  specified,
              then no deltas will be generated.

       --forensicdir DIR
              write  hashes  files;  these  are  to  be compared with those produced by debdelta-
              upgrade --forensic=...  when a delta fails

The double slash

       If a directory path is provided as argument to --dir, and  it  ends  in  //  ,  then  this
       triggers  a specific behaviour related to files found in Packages indexes (as presented in
       the commandline). If a package in a index is stored  in  pool/main/x/xxx/xxx_3_i386.deb  ,
       and    --dir    is    /tmp/foobar//    ,    then    the    delta    will   be   saved   in
       /tmp/foobar/pool/main/x/xxx/xxx_2_3_i386.deb.  The same is true for --alt (and  is  useful
       to find old versions of a package).

OTHER OPTIONS

       --signing-key  KEY
              key used to sign the deltas (using GnuPG)

       -n N   how  many  deltas  to  produce  at  maximum  for  each unique package/arch (default
              unlimited)

       --clean-deltas
              delete deltas that upgrade to packages versions that are not found in  the  cmdline
              ARGS, and are at least two days old (according to mtime).

       --no-md5
              do not include MD5 info in debdelta.

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

       --test check that the patch does apply.

       -v     verbose (can be added multiple times).

       -d     print traceback on 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.

       --no-act
              Just list the deltas that would be created.

SECURITY

       See debdelta(1)

EXIT STATUS

       See debdelta(1)

EXAMPLES

       debdeltas --dir /tmp/ --old ~/mydebs ~/mydebs will generate all deltas to upgrade from the
       old versions in ~/mydebs to the newest version in ~/mydebs , and store the deltas in /tmp/

       debdeltas  --dir  /tmp//   --old   /mirror/debian/dists/lenny/main/binary-i386/Packages.gz
       /mirror/debian/dists/squeeze/main/binary-i386/Packages.gz  will  generate  all  deltas  to
       upgrade main/i386 from lenny to squeeze, and store the deltas in a  pool  structure  under
       /tmp/

       See    also   the   example   scripts   /usr/share/debdelta/debmirror-delta-security   and
       /usr/share/debdelta/debmirror-deltas

REPORTING BUGS

       Report bugs to <mennucc1@debian.org>.

AUTHORS

       Debdelta was written and is copyright © 2006-09 Andrea Mennucci.
       This man page was written by Jegou Pierre-yves  <pierreyves.jeg@voila.fr>.

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.

SEE ALSO

       debpatch(1), debdelta(1), /usr/share/doc/debdelta/README.