1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
|
.TH DEBDELTAS "1" "aug 2009" "debdeltas" "User Commands"
.SH NAME
debdeltas \- compute deltas between Debian packages
.SH SYNOPSIS
.B debdeltas
[\fIOPTION\fR]... \fIARGS\fR ...
.SH DESCRIPTION
.B debdeltas
computes deltas between the old and new versions
of Debian packages.
The explanation of what a delta is is in
.BR debdelta (1).
.SH COMMAND ARGUMENTS
In all of the following, \fIARGS\fR can
be, a Debian binary file (usually, a file ending in \fI.deb\fR),
or a directory containing such files,
or a \fIPackages\fR file (that is, an index
file such as those found in Debian mirrors - even the zipped ones -
see
.BR apt-ftparchive (1)
).
We will call \fIcmdline\fR
all such args that are not related to an option.
As a first step, \fIdebdeltas\fR builds an internal list
of Debian packages.
To this end, it parses all \fIARGS\fR of the options
\fB\-\-alt\fR , \fB\-\-old \fR, and those
\fIARGS\fR given as non-option arguments (the aforementioned cmdline
args). If the argument is a Debian package, \fIdebdeltas\fR adds it to the
list; if the argument is a directory, \fIdebdeltas\fR scans it for
Debian packages to be added to the list; if the argument is
\fIPackages\fR files, \fIdebdeltas\fR 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 \fIname_oldversion_newversion_architecture.debdelta\fR ; the
location of the delta files is specified by the "--dir" option.
Note that the location of files in a \fIPackages\fR index
is specified relative to the base of the mirror, e.g.
.I Filename: pool/main/x/xxx/xxx_3_i386.deb
For this reason, any \fIPackages\fR argument must presented
with a long path (that contains at least the \fIdists\fR 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.
.SH MAIN OPTIONS
.TP
\fB\-\-dir \fIDIR
force saving of deltas in this DIR
(otherwise they go in the dir of the newer deb_file).
.TP
\fB\-\-alt \fIARGS\fR
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.
.TP
.TP
\fB\-\-old \fIARGS\fR
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 \fIPackages\fR
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.
.TP
\fB\-\-forensicdir \fIDIR
write hashes files; these are to be compared with those produced by
.I debdelta-upgrade --forensic=...
when a delta fails
.SH 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 \fIPackages\fR indexes (as presented in the commandline). If a
package in a index is stored in
\fIpool/main/x/xxx/xxx_3_i386.deb\fR , and --dir is
\fI/tmp/foobar//\fR , then the delta will be saved in
\fI/tmp/foobar/pool/main/x/xxx/xxx_2_3_i386.debdelta\fR. The same is
true for --alt (and is useful to find old versions of a package).
.SH OTHER OPTIONS
.TP
.B --signing-key \fI KEY
key used to sign the deltas (using GnuPG)
.TP
\fB\-n \fIN
how many deltas to produce at maximum for each unique package/arch (default unlimited)
.TP
.B --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).
.TP
\fB\-\-no\-md5
do not include MD5 info in debdelta.
.TP
\fB\-\-needsold\fR
create a patch that can only be used if the old .deb is available.
.TP
\fB\-\-delta-algo\fR \fIALGO
use a specific backend for computing
binary diffs; possible values are: xdelta xdelta-bzip xdelta3 bsdiff
.TP
\fB\-M \fIMb
maximum memory to use (for 'bsdiff' or 'xdelta').
.TP
\fB\--test
check that the patch does apply.
.TP
\fB\-v
verbose (can be added multiple times).
.TP
\fB\-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).
.TP
\fB\-k
keep temporary files (use for debugging).
.TP
.B --gpg-home
specify a different home for GnuPG,
default for root is
.I /etc/debdelta/gnupg
while for other users is unset. See
.I --homedir
in
.BR gpg(1)
for details.
.TP
.BI \--disable-feature \ FEATURE
disable an internal feature. See the documentation in README.features.
.TP
.BI --no-act
Just list the deltas that would be created.
.SH SECURITY
See
.BR debdelta (1)
.SH EXIT STATUS
See
.BR debdelta (1)
.SH EXAMPLES
.I 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/
.I 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
.I /usr/share/debdelta/debmirror-delta-security
and
.I /usr/share/debdelta/debmirror-deltas
.SH "REPORTING BUGS"
Report bugs to <mennucc1@debian.org>.
.SH AUTHORS
Debdelta was written and is copyright \(co 2006-09 Andrea Mennucci.
.br
This man page was written by Jegou Pierre-yves <pierreyves.jeg@voila.fr>.
.SH 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.
.SH "SEE ALSO"
.BR debpatch (1),
.BR debdelta (1),
.BR /usr/share/doc/debdelta/README .
|