File: debdeltas.1

package info (click to toggle)
debdelta 0.50%2B2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 900 kB
  • sloc: python: 4,383; perl: 1,398; sh: 1,009; xml: 727; ansic: 215; makefile: 102; awk: 21
file content (208 lines) | stat: -rw-r--r-- 6,305 bytes parent folder | download | duplicates (7)
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 .