]>
Commit | Line | Data |
---|---|---|
1 | <?xml version="1.0" encoding="utf-8" standalone="no"?> | |
2 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | |
3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ | |
4 | ||
5 | <!ENTITY % aptent SYSTEM "apt.ent"> | |
6 | %aptent; | |
7 | ||
8 | <!ENTITY % aptverbatiment SYSTEM "apt-verbatim.ent"> | |
9 | %aptverbatiment; | |
10 | ||
11 | ]> | |
12 | ||
13 | <refentry> | |
14 | ||
15 | <refentryinfo> | |
16 | &apt-author.jgunthorpe; | |
17 | &apt-author.team; | |
18 | &apt-email; | |
19 | &apt-product; | |
20 | <!-- The last update date --> | |
21 | <date>17 August 2009</date> | |
22 | </refentryinfo> | |
23 | ||
24 | <refmeta> | |
25 | <refentrytitle>apt-ftparchive</refentrytitle> | |
26 | <manvolnum>1</manvolnum> | |
27 | <refmiscinfo class="manual">APT</refmiscinfo> | |
28 | </refmeta> | |
29 | ||
30 | <!-- Man page title --> | |
31 | <refnamediv> | |
32 | <refname>apt-ftparchive</refname> | |
33 | <refpurpose>Utility to generate index files</refpurpose> | |
34 | </refnamediv> | |
35 | ||
36 | <!-- Arguments --> | |
37 | <refsynopsisdiv> | |
38 | <cmdsynopsis> | |
39 | <command>apt-ftparchive</command> | |
40 | <arg><option>-hvdsq</option></arg> | |
41 | <arg><option>--md5</option></arg> | |
42 | <arg><option>--delink</option></arg> | |
43 | <arg><option>--readonly</option></arg> | |
44 | <arg><option>--contents</option></arg> | |
45 | <arg><option>--arch <replaceable>architecture</replaceable></option></arg> | |
46 | <arg><option>-o <replaceable>config</replaceable>=<replaceable>string</replaceable></option></arg> | |
47 | <arg><option>-c=<replaceable>file</replaceable></option></arg> | |
48 | <group choice="req"> | |
49 | <arg>packages<arg choice="plain" rep="repeat"><replaceable>path</replaceable></arg><arg><replaceable>override</replaceable><arg><replaceable>pathprefix</replaceable></arg></arg></arg> | |
50 | <arg>sources<arg choice="plain" rep="repeat"><replaceable>path</replaceable></arg><arg><replaceable>override</replaceable><arg><replaceable>pathprefix</replaceable></arg></arg></arg> | |
51 | <arg>contents <arg choice="plain"><replaceable>path</replaceable></arg></arg> | |
52 | <arg>release <arg choice="plain"><replaceable>path</replaceable></arg></arg> | |
53 | <arg>generate <arg choice="plain"><replaceable>config-file</replaceable></arg> <arg choice="plain" rep="repeat"><replaceable>section</replaceable></arg></arg> | |
54 | <arg>clean <arg choice="plain"><replaceable>config-file</replaceable></arg></arg> | |
55 | </group> | |
56 | </cmdsynopsis> | |
57 | </refsynopsisdiv> | |
58 | ||
59 | <refsect1><title>Description</title> | |
60 | <para><command>apt-ftparchive</command> is the command line tool that generates the index | |
61 | files that APT uses to access a distribution source. The index files should | |
62 | be generated on the origin site based on the content of that site.</para> | |
63 | ||
64 | <para><command>apt-ftparchive</command> is a superset of the &dpkg-scanpackages; program, | |
65 | incorporating its entire functionality via the <literal>packages</literal> command. | |
66 | It also contains a contents file generator, <literal>contents</literal>, and an | |
67 | elaborate means to 'script' the generation process for a complete | |
68 | archive.</para> | |
69 | ||
70 | <para>Internally <command>apt-ftparchive</command> can make use of binary databases to | |
71 | cache the contents of a .deb file and it does not rely on any external | |
72 | programs aside from &gzip;. When doing a full generate it automatically | |
73 | performs file-change checks and builds the desired compressed output files.</para> | |
74 | ||
75 | <para>Unless the <option>-h</option>, or <option>--help</option> option is given one of the | |
76 | commands below must be present.</para> | |
77 | ||
78 | <variablelist> | |
79 | <varlistentry><term>packages</term> | |
80 | <listitem><para> | |
81 | The packages command generates a package file from a directory tree. It | |
82 | takes the given directory and recursively searches it for .deb files, | |
83 | emitting a package record to stdout for each. This command is | |
84 | approximately equivalent to &dpkg-scanpackages;.</para> | |
85 | ||
86 | <para>The option <option>--db</option> can be used to specify a binary caching DB.</para></listitem> | |
87 | </varlistentry> | |
88 | ||
89 | <varlistentry><term>sources</term> | |
90 | <listitem><para> | |
91 | The <literal>sources</literal> command generates a source index file from a directory tree. | |
92 | It takes the given directory and recursively searches it for .dsc files, | |
93 | emitting a source record to stdout for each. This command is approximately | |
94 | equivalent to &dpkg-scansources;.</para> | |
95 | <para> | |
96 | If an override file is specified then a source override file will be | |
97 | looked for with an extension of .src. The --source-override option can be | |
98 | used to change the source override file that will be used.</para></listitem> | |
99 | </varlistentry> | |
100 | ||
101 | <varlistentry><term>contents</term> | |
102 | <listitem><para> | |
103 | The <literal>contents</literal> command generates a contents file from a directory tree. It | |
104 | takes the given directory and recursively searches it for .deb files, | |
105 | and reads the file list from each file. It then sorts and writes to stdout | |
106 | the list of files matched to packages. Directories are not written to | |
107 | the output. If multiple packages own the same file then each package is | |
108 | separated by a comma in the output.</para> | |
109 | <para> | |
110 | The option <option>--db</option> can be used to specify a binary caching DB.</para></listitem> | |
111 | </varlistentry> | |
112 | ||
113 | <varlistentry><term>release</term> | |
114 | <listitem><para> | |
115 | The <literal>release</literal> command generates a Release file from a | |
116 | directory tree. It recursively searches the given directory for uncompressed | |
117 | <filename>Packages</filename> and <filename>Sources</filename> files and the ones | |
118 | compressed with <command>gzip</command>, <command>bzip2</command> or <command>lzma</command> | |
119 | as well as <filename>Release</filename> and <filename>md5sum.txt</filename> files by default | |
120 | (<literal>APT::FTPArchive::Release::Default-Patterns</literal>). Additional filename patterns | |
121 | can be added by listing them in <literal>APT::FTPArchive::Release::Patterns</literal>. | |
122 | It then writes to stdout a Release file containing a MD5, SHA1 and SHA256 digest | |
123 | for each file.</para> | |
124 | <para> | |
125 | Values for the additional metadata fields in the Release file are | |
126 | taken from the corresponding variables under | |
127 | <literal>APT::FTPArchive::Release</literal>, | |
128 | e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The supported fields | |
129 | are: <literal>Origin</literal>, <literal>Label</literal>, <literal>Suite</literal>, | |
130 | <literal>Version</literal>, <literal>Codename</literal>, <literal>Date</literal>, | |
131 | <literal>Valid-Until</literal>, <literal>Architectures</literal>, | |
132 | <literal>Components</literal>, <literal>Description</literal>.</para></listitem> | |
133 | ||
134 | </varlistentry> | |
135 | ||
136 | <varlistentry><term>generate</term> | |
137 | <listitem><para> | |
138 | The <literal>generate</literal> command is designed to be runnable from a cron script and | |
139 | builds indexes according to the given config file. The config language | |
140 | provides a flexible means of specifying which index files are built from | |
141 | which directories, as well as providing a simple means of maintaining the | |
142 | required settings.</para></listitem> | |
143 | </varlistentry> | |
144 | ||
145 | <varlistentry><term>clean</term> | |
146 | <listitem><para> | |
147 | The <literal>clean</literal> command tidies the databases used by the given | |
148 | configuration file by removing any records that are no longer necessary.</para></listitem> | |
149 | </varlistentry> | |
150 | </variablelist> | |
151 | </refsect1> | |
152 | ||
153 | <refsect1><title>The Generate Configuration</title> | |
154 | <para> | |
155 | The <literal>generate</literal> command uses a configuration file to describe the | |
156 | archives that are going to be generated. It follows the typical ISC | |
157 | configuration format as seen in ISC tools like bind 8 and dhcpd. | |
158 | &apt-conf; contains a description of the syntax. Note that the generate | |
159 | configuration is parsed in sectional manner, but &apt-conf; is parsed in a | |
160 | tree manner. This only effects how the scope tag is handled.</para> | |
161 | ||
162 | <para> | |
163 | The generate configuration has 4 separate sections, each described below.</para> | |
164 | ||
165 | <refsect2><title>Dir Section</title> | |
166 | <para> | |
167 | The <literal>Dir</literal> section defines the standard directories needed to | |
168 | locate the files required during the generation process. These | |
169 | directories are prepended certain relative paths defined in later | |
170 | sections to produce a complete an absolute path.</para> | |
171 | <variablelist> | |
172 | <varlistentry><term>ArchiveDir</term> | |
173 | <listitem><para> | |
174 | Specifies the root of the FTP archive, in a standard | |
175 | Debian configuration this is the directory that contains the | |
176 | <filename>ls-LR</filename> and dist nodes.</para></listitem> | |
177 | </varlistentry> | |
178 | ||
179 | <varlistentry><term>OverrideDir</term> | |
180 | <listitem><para> | |
181 | Specifies the location of the override files.</para></listitem> | |
182 | </varlistentry> | |
183 | ||
184 | <varlistentry><term>CacheDir</term> | |
185 | <listitem><para> | |
186 | Specifies the location of the cache files</para></listitem> | |
187 | </varlistentry> | |
188 | ||
189 | <varlistentry><term>FileListDir</term> | |
190 | <listitem><para> | |
191 | Specifies the location of the file list files, | |
192 | if the <literal>FileList</literal> setting is used below.</para></listitem> | |
193 | </varlistentry> | |
194 | </variablelist> | |
195 | </refsect2> | |
196 | ||
197 | <refsect2><title>Default Section</title> | |
198 | <para> | |
199 | The <literal>Default</literal> section specifies default values, and settings | |
200 | that control the operation of the generator. Other sections may override | |
201 | these defaults with a per-section setting.</para> | |
202 | <variablelist> | |
203 | <varlistentry><term>Packages::Compress</term> | |
204 | <listitem><para> | |
205 | Sets the default compression schemes to use | |
206 | for the Package index files. It is a string that contains a space | |
207 | separated list of at least one of: '.' (no compression), 'gzip' and | |
208 | 'bzip2'. The default for all compression schemes is '. gzip'.</para></listitem> | |
209 | </varlistentry> | |
210 | ||
211 | <varlistentry><term>Packages::Extensions</term> | |
212 | <listitem><para> | |
213 | Sets the default list of file extensions that are package files. | |
214 | This defaults to '.deb'.</para></listitem> | |
215 | </varlistentry> | |
216 | ||
217 | <varlistentry><term>Sources::Compress</term> | |
218 | <listitem><para> | |
219 | This is similar to <literal>Packages::Compress</literal> | |
220 | except that it controls the compression for the Sources files.</para></listitem> | |
221 | </varlistentry> | |
222 | ||
223 | <varlistentry><term>Sources::Extensions</term> | |
224 | <listitem><para> | |
225 | Sets the default list of file extensions that are source files. | |
226 | This defaults to '.dsc'.</para></listitem> | |
227 | </varlistentry> | |
228 | ||
229 | <varlistentry><term>Contents::Compress</term> | |
230 | <listitem><para> | |
231 | This is similar to <literal>Packages::Compress</literal> | |
232 | except that it controls the compression for the Contents files.</para></listitem> | |
233 | </varlistentry> | |
234 | ||
235 | <varlistentry><term>Translation::Compress</term> | |
236 | <listitem><para> | |
237 | This is similar to <literal>Packages::Compress</literal> | |
238 | except that it controls the compression for the Translation-en master file.</para></listitem> | |
239 | </varlistentry> | |
240 | ||
241 | <varlistentry><term>DeLinkLimit</term> | |
242 | <listitem><para> | |
243 | Specifies the number of kilobytes to delink (and | |
244 | replace with hard links) per run. This is used in conjunction with the | |
245 | per-section <literal>External-Links</literal> setting.</para></listitem> | |
246 | </varlistentry> | |
247 | ||
248 | <varlistentry><term>FileMode</term> | |
249 | <listitem><para> | |
250 | Specifies the mode of all created index files. It | |
251 | defaults to 0644. All index files are set to this mode with no regard | |
252 | to the umask.</para></listitem> | |
253 | </varlistentry> | |
254 | ||
255 | <varlistentry><term>LongDescription</term> | |
256 | <listitem><para> | |
257 | Sets if long descriptions should be included in the Packages file or split | |
258 | out into a master Translation-en file.</para></listitem> | |
259 | </varlistentry> | |
260 | </variablelist> | |
261 | </refsect2> | |
262 | ||
263 | <refsect2><title>TreeDefault Section</title> | |
264 | <para> | |
265 | Sets defaults specific to <literal>Tree</literal> sections. All of these | |
266 | variables are substitution variables and have the strings $(DIST), | |
267 | $(SECTION) and $(ARCH) replaced with their respective values.</para> | |
268 | ||
269 | <variablelist> | |
270 | <varlistentry><term>MaxContentsChange</term> | |
271 | <listitem><para> | |
272 | Sets the number of kilobytes of contents | |
273 | files that are generated each day. The contents files are round-robined | |
274 | so that over several days they will all be rebuilt.</para></listitem> | |
275 | </varlistentry> | |
276 | ||
277 | <varlistentry><term>ContentsAge</term> | |
278 | <listitem><para> | |
279 | Controls the number of days a contents file is allowed | |
280 | to be checked without changing. If this limit is passed the mtime of the | |
281 | contents file is updated. This case can occur if the package file is | |
282 | changed in such a way that does not result in a new contents file | |
283 | [override edit for instance]. A hold off is allowed in hopes that new | |
284 | .debs will be installed, requiring a new file anyhow. The default is 10, | |
285 | the units are in days.</para></listitem> | |
286 | </varlistentry> | |
287 | ||
288 | <varlistentry><term>Directory</term> | |
289 | <listitem><para> | |
290 | Sets the top of the .deb directory tree. Defaults to | |
291 | <filename>$(DIST)/$(SECTION)/binary-$(ARCH)/</filename></para></listitem> | |
292 | </varlistentry> | |
293 | ||
294 | <varlistentry><term>SrcDirectory</term> | |
295 | <listitem><para> | |
296 | Sets the top of the source package directory tree. Defaults to | |
297 | <filename>$(DIST)/$(SECTION)/source/</filename></para></listitem> | |
298 | </varlistentry> | |
299 | ||
300 | <varlistentry><term>Packages</term> | |
301 | <listitem><para> | |
302 | Sets the output Packages file. Defaults to | |
303 | <filename>$(DIST)/$(SECTION)/binary-$(ARCH)/Packages</filename></para></listitem> | |
304 | </varlistentry> | |
305 | ||
306 | <varlistentry><term>Sources</term> | |
307 | <listitem><para> | |
308 | Sets the output Sources file. Defaults to | |
309 | <filename>$(DIST)/$(SECTION)/source/Sources</filename></para></listitem> | |
310 | </varlistentry> | |
311 | ||
312 | <varlistentry><term>Translation</term> | |
313 | <listitem><para> | |
314 | Set the output Translation-en master file with the long descriptions if they | |
315 | should be not included in the Packages file. Defaults to | |
316 | <filename>$(DIST)/$(SECTION)/i18n/Translation-en</filename></para></listitem> | |
317 | </varlistentry> | |
318 | ||
319 | <varlistentry><term>InternalPrefix</term> | |
320 | <listitem><para> | |
321 | Sets the path prefix that causes a symlink to be | |
322 | considered an internal link instead of an external link. Defaults to | |
323 | <filename>$(DIST)/$(SECTION)/</filename></para></listitem> | |
324 | </varlistentry> | |
325 | ||
326 | <varlistentry><term>Contents</term> | |
327 | <listitem><para> | |
328 | Sets the output Contents file. Defaults to | |
329 | <filename>$(DIST)/Contents-$(ARCH)</filename>. If this setting causes multiple | |
330 | Packages files to map onto a single Contents file (such as the default) | |
331 | then <command>apt-ftparchive</command> will integrate those package files | |
332 | together automatically.</para></listitem> | |
333 | </varlistentry> | |
334 | ||
335 | <varlistentry><term>Contents::Header</term> | |
336 | <listitem><para> | |
337 | Sets header file to prepend to the contents output.</para></listitem> | |
338 | </varlistentry> | |
339 | ||
340 | <varlistentry><term>BinCacheDB</term> | |
341 | <listitem><para> | |
342 | Sets the binary cache database to use for this | |
343 | section. Multiple sections can share the same database.</para></listitem> | |
344 | </varlistentry> | |
345 | ||
346 | <varlistentry><term>FileList</term> | |
347 | <listitem><para> | |
348 | Specifies that instead of walking the directory tree, | |
349 | <command>apt-ftparchive</command> should read the list of files from the given | |
350 | file. Relative files names are prefixed with the archive directory.</para></listitem> | |
351 | </varlistentry> | |
352 | ||
353 | <varlistentry><term>SourceFileList</term> | |
354 | <listitem><para> | |
355 | Specifies that instead of walking the directory tree, | |
356 | <command>apt-ftparchive</command> should read the list of files from the given | |
357 | file. Relative files names are prefixed with the archive directory. | |
358 | This is used when processing source indexes.</para></listitem> | |
359 | </varlistentry> | |
360 | </variablelist> | |
361 | </refsect2> | |
362 | ||
363 | <refsect2><title>Tree Section</title> | |
364 | <para> | |
365 | The <literal>Tree</literal> section defines a standard Debian file tree which | |
366 | consists of a base directory, then multiple sections in that base | |
367 | directory and finally multiple Architectures in each section. The exact | |
368 | pathing used is defined by the <literal>Directory</literal> substitution variable.</para> | |
369 | <para> | |
370 | The <literal>Tree</literal> section takes a scope tag which sets the | |
371 | <literal>$(DIST)</literal> variable and defines the root of the tree | |
372 | (the path is prefixed by <literal>ArchiveDir</literal>). | |
373 | Typically this is a setting such as <filename>dists/&stable-codename;</filename>.</para> | |
374 | <para> | |
375 | All of the settings defined in the <literal>TreeDefault</literal> section can be | |
376 | use in a <literal>Tree</literal> section as well as three new variables.</para> | |
377 | <para> | |
378 | When processing a <literal>Tree</literal> section <command>apt-ftparchive</command> | |
379 | performs an operation similar to: | |
380 | <programlisting> | |
381 | for i in Sections do | |
382 | for j in Architectures do | |
383 | Generate for DIST=scope SECTION=i ARCH=j | |
384 | </programlisting></para> | |
385 | ||
386 | <variablelist> | |
387 | <varlistentry><term>Sections</term> | |
388 | <listitem><para> | |
389 | This is a space separated list of sections which appear | |
390 | under the distribution, typically this is something like | |
391 | <literal>main contrib non-free</literal></para></listitem> | |
392 | </varlistentry> | |
393 | ||
394 | <varlistentry><term>Architectures</term> | |
395 | <listitem><para> | |
396 | This is a space separated list of all the | |
397 | architectures that appear under search section. The special architecture | |
398 | 'source' is used to indicate that this tree has a source archive.</para></listitem> | |
399 | </varlistentry> | |
400 | ||
401 | <varlistentry><term>LongDescription</term> | |
402 | <listitem><para> | |
403 | Sets if long descriptions should be included in the Packages file or split | |
404 | out into a master Translation-en file.</para></listitem> | |
405 | </varlistentry> | |
406 | ||
407 | <varlistentry><term>BinOverride</term> | |
408 | <listitem><para> | |
409 | Sets the binary override file. The override file | |
410 | contains section, priority and maintainer address information.</para></listitem> | |
411 | </varlistentry> | |
412 | ||
413 | <varlistentry><term>SrcOverride</term> | |
414 | <listitem><para> | |
415 | Sets the source override file. The override file | |
416 | contains section information.</para></listitem> | |
417 | </varlistentry> | |
418 | ||
419 | <varlistentry><term>ExtraOverride</term> | |
420 | <listitem><para> | |
421 | Sets the binary extra override file.</para></listitem> | |
422 | </varlistentry> | |
423 | ||
424 | <varlistentry><term>SrcExtraOverride</term> | |
425 | <listitem><para> | |
426 | Sets the source extra override file.</para></listitem> | |
427 | </varlistentry> | |
428 | </variablelist> | |
429 | </refsect2> | |
430 | ||
431 | <refsect2><title>BinDirectory Section</title> | |
432 | <para> | |
433 | The <literal>bindirectory</literal> section defines a binary directory tree | |
434 | with no special structure. The scope tag specifies the location of | |
435 | the binary directory and the settings are similar to the <literal>Tree</literal> | |
436 | section with no substitution variables or | |
437 | <literal>Section</literal><literal>Architecture</literal> settings.</para> | |
438 | <variablelist> | |
439 | <varlistentry><term>Packages</term> | |
440 | <listitem><para> | |
441 | Sets the Packages file output.</para></listitem> | |
442 | </varlistentry> | |
443 | ||
444 | <varlistentry><term>Sources</term> | |
445 | <listitem><para> | |
446 | Sets the Sources file output. At least one of | |
447 | <literal>Packages</literal> or <literal>Sources</literal> is required.</para></listitem> | |
448 | </varlistentry> | |
449 | ||
450 | <varlistentry><term>Contents</term> | |
451 | <listitem><para> | |
452 | Sets the Contents file output. (optional)</para></listitem> | |
453 | </varlistentry> | |
454 | ||
455 | <varlistentry><term>BinOverride</term> | |
456 | <listitem><para> | |
457 | Sets the binary override file.</para></listitem> | |
458 | </varlistentry> | |
459 | ||
460 | <varlistentry><term>SrcOverride</term> | |
461 | <listitem><para> | |
462 | Sets the source override file.</para></listitem> | |
463 | </varlistentry> | |
464 | ||
465 | <varlistentry><term>ExtraOverride</term> | |
466 | <listitem><para> | |
467 | Sets the binary extra override file.</para></listitem> | |
468 | </varlistentry> | |
469 | ||
470 | <varlistentry><term>SrcExtraOverride</term> | |
471 | <listitem><para> | |
472 | Sets the source extra override file.</para></listitem> | |
473 | </varlistentry> | |
474 | ||
475 | <varlistentry><term>BinCacheDB</term> | |
476 | <listitem><para> | |
477 | Sets the cache DB.</para></listitem> | |
478 | </varlistentry> | |
479 | ||
480 | <varlistentry><term>PathPrefix</term> | |
481 | <listitem><para> | |
482 | Appends a path to all the output paths.</para></listitem> | |
483 | </varlistentry> | |
484 | ||
485 | <varlistentry><term>FileList, SourceFileList</term> | |
486 | <listitem><para> | |
487 | Specifies the file list file.</para></listitem> | |
488 | </varlistentry> | |
489 | </variablelist> | |
490 | </refsect2> | |
491 | </refsect1> | |
492 | ||
493 | ||
494 | <refsect1><title>The Binary Override File</title> | |
495 | <para>The binary override file is fully compatible with &dpkg-scanpackages;. It | |
496 | contains 4 fields separated by spaces. The first field is the package name, | |
497 | the second is the priority to force that package to, the third is the | |
498 | the section to force that package to and the final field is the maintainer | |
499 | permutation field.</para> | |
500 | <para>The general form of the maintainer field is: | |
501 | <literallayout>old [// oldn]* => new</literallayout> | |
502 | or simply, | |
503 | <literallayout>new</literallayout> | |
504 | The first form allows a double-slash separated list of old email addresses | |
505 | to be specified. If any of those are found then new is substituted for the | |
506 | maintainer field. The second form unconditionally substitutes the | |
507 | maintainer field.</para> | |
508 | </refsect1> | |
509 | ||
510 | ||
511 | <refsect1><title>The Source Override File</title> | |
512 | <para> | |
513 | The source override file is fully compatible with &dpkg-scansources;. It | |
514 | contains 2 fields separated by spaces. The first fields is the source | |
515 | package name, the second is the section to assign it.</para> | |
516 | </refsect1> | |
517 | ||
518 | <refsect1><title>The Extra Override File</title> | |
519 | <para> | |
520 | The extra override file allows any arbitrary tag to be added or replaced | |
521 | in the output. It has 3 columns, the first is the package, the second is | |
522 | the tag and the remainder of the line is the new value.</para> | |
523 | </refsect1> | |
524 | ||
525 | <refsect1><title>options</title> | |
526 | &apt-cmdblurb; | |
527 | ||
528 | <variablelist> | |
529 | <varlistentry><term><option>--md5</option>, <option>--sha1</option>, <option>--sha256</option></term> | |
530 | <listitem><para> | |
531 | Generate the given checksum. These options default to on, when turned off the generated | |
532 | index files will not have the checksum fields where possible. | |
533 | Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</replaceable></literal> and | |
534 | <literal>APT::FTPArchive::<replaceable>Index</replaceable>::<replaceable>Checksum</replaceable></literal> where | |
535 | <literal>Index</literal> can be <literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</literal> and | |
536 | <literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>.</para></listitem> | |
537 | </varlistentry> | |
538 | ||
539 | <varlistentry><term><option>-d</option></term><term><option>--db</option></term> | |
540 | <listitem><para> | |
541 | Use a binary caching DB. This has no effect on the generate command. | |
542 | Configuration Item: <literal>APT::FTPArchive::DB</literal>.</para></listitem> | |
543 | </varlistentry> | |
544 | ||
545 | <varlistentry><term><option>-q</option></term><term><option>--quiet</option></term> | |
546 | <listitem><para> | |
547 | Quiet; produces output suitable for logging, omitting progress indicators. | |
548 | More q's will produce more quiet up to a maximum of 2. You can also use | |
549 | <option>-q=#</option> to set the quiet level, overriding the configuration file. | |
550 | Configuration Item: <literal>quiet</literal>.</para></listitem> | |
551 | </varlistentry> | |
552 | ||
553 | <varlistentry><term><option>--delink</option></term> | |
554 | <listitem><para> | |
555 | Perform Delinking. If the <literal>External-Links</literal> setting is used then | |
556 | this option actually enables delinking of the files. It defaults to on and | |
557 | can be turned off with <option>--no-delink</option>. | |
558 | Configuration Item: <literal>APT::FTPArchive::DeLinkAct</literal>.</para></listitem> | |
559 | </varlistentry> | |
560 | ||
561 | <varlistentry><term><option>--contents</option></term> | |
562 | <listitem><para> | |
563 | Perform contents generation. When this option is set and package indexes | |
564 | are being generated with a cache DB then the file listing will also be | |
565 | extracted and stored in the DB for later use. When using the generate | |
566 | command this option also allows the creation of any Contents files. The | |
567 | default is on. | |
568 | Configuration Item: <literal>APT::FTPArchive::Contents</literal>.</para></listitem> | |
569 | </varlistentry> | |
570 | ||
571 | <varlistentry><term><option>-s</option></term><term><option>--source-override</option></term> | |
572 | <listitem><para> | |
573 | Select the source override file to use with the <literal>sources</literal> command. | |
574 | Configuration Item: <literal>APT::FTPArchive::SourceOverride</literal>.</para></listitem> | |
575 | </varlistentry> | |
576 | ||
577 | <varlistentry><term><option>--readonly</option></term> | |
578 | <listitem><para> | |
579 | Make the caching databases read only. | |
580 | Configuration Item: <literal>APT::FTPArchive::ReadOnlyDB</literal>.</para></listitem> | |
581 | </varlistentry> | |
582 | ||
583 | <varlistentry><term><option>-a</option></term><term><option>--arch</option></term> | |
584 | <listitem><para>Accept in the <literal>packages</literal> and <literal>contents</literal> | |
585 | commands only package files matching <literal>*_arch.deb</literal> or | |
586 | <literal>*_all.deb</literal> instead of all package files in the given path. | |
587 | Configuration Item: <literal>APT::FTPArchive::Architecture</literal>.</para></listitem> | |
588 | </varlistentry> | |
589 | ||
590 | <varlistentry><term><option>APT::FTPArchive::AlwaysStat</option></term> | |
591 | <listitem><para> | |
592 | &apt-ftparchive; caches as much as possible of metadata in a cachedb. If packages | |
593 | are recompiled and/or republished with the same version again, this will lead to problems | |
594 | as the now outdated cached metadata like size and checksums will be used. With this option | |
595 | enabled this will no longer happen as it will be checked if the file was changed. | |
596 | Note that this option is set to "<literal>false</literal>" by default as it is not recommend | |
597 | to upload multiply versions/builds of a package with the same versionnumber, so in theory | |
598 | nobody will have these problems and therefore all these extra checks are useless. | |
599 | </para></listitem> | |
600 | </varlistentry> | |
601 | ||
602 | <varlistentry><term><option>APT::FTPArchive::LongDescription</option></term> | |
603 | <listitem><para> | |
604 | This configuration option defaults to "<literal>true</literal>" and should only be set to | |
605 | <literal>"false"</literal> if the Archive generated with &apt-ftparchive; also provides | |
606 | <filename>Translation</filename> files. Note that the <filename>Translation-en</filename> | |
607 | master file can only be created in the generate command. | |
608 | </para></listitem> | |
609 | </varlistentry> | |
610 | ||
611 | &apt-commonoptions; | |
612 | ||
613 | </variablelist> | |
614 | </refsect1> | |
615 | ||
616 | <refsect1><title>Examples</title> | |
617 | ||
618 | <para>To create a compressed Packages file for a directory containing | |
619 | binary packages (.deb): | |
620 | ||
621 | <programlisting> | |
622 | <command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename> | |
623 | </programlisting></para> | |
624 | ||
625 | </refsect1> | |
626 | ||
627 | <refsect1><title>See Also</title> | |
628 | <para>&apt-conf;</para> | |
629 | </refsect1> | |
630 | ||
631 | <refsect1><title>Diagnostics</title> | |
632 | <para><command>apt-ftparchive</command> returns zero on normal operation, decimal 100 on error.</para> | |
633 | </refsect1> | |
634 | ||
635 | &manbugs; | |
636 | ||
637 | </refentry> |