Penguin
Blame: apt-ftparchive(1)
EditPageHistoryDiffInfoLikePages
Annotated edit history of apt-ftparchive(1) version 4, including all changes. View license author blame.
Rev Author # Line
1 perry 1 APT-FTPARCHIVE
2 !!!APT-FTPARCHIVE
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 THE GENERATE CONFIGURATION
7 THE BINARY OVERRIDE FILE
8 THE SOURCE OVERRIDE FILE
9 THE EXTRA OVERRIDE FILE
10 OPTIONS
11 SEE ALSO
12 DIAGNOSTICS
13 BUGS
14 AUTHOR
15 ----
16 !!NAME
17
18
19 apt-ftparchive - Utility to generate index files
20 !!SYNOPSIS
21
22
23 __apt-ftparchive__ [[ __-hvdsq__ ] [[ __--md5__ ] [[
24 __--delink__ ] [[ __--readonly__ ] [[ __--contents__
25 ] [[ __-o=__''config string'' ] [[ __-c=__''file''
26 ] __[[ packages__ ''path...'' __[[__ ''override''
27 __[[__ ''pathprefix'' __] ] ] [[ sources__
28 ''path...'' __[[__ ''override'' __[[__
29 ''pathprefix'' __] ] ] [[ contents__ ''path'' __] [[
30 generate__ ''config-file section...'' __] [[ clean__
31 ''config-file'' __]__
32 !!DESCRIPTION
33
34
35 __apt-ftparchive__ is the command line tool that
36 generates the index files that APT uses to access a
37 distribution source. The index files should be generated on
38 the origin site based on the content of that
39 site.
40
41
42 __apt-ftparchive__ is a superset of the
4 perry 43 dpkg-scanpackages(8) program, incorporating it's
1 perry 44 entire functionality via the directory command. It also
45 contains a contents file generator, contents, and an
46 elaborate means to 'script' the generation process for a
47 complete archive.
48
49
50 Internally __apt-ftparchive__ can make use of binary
51 databases to cache the contents of a .deb file and it does
52 not rely on any external programs aside from gzip(1).
53 When doing a full generate it automatically performs
54 file-change checks and builds the desired compressed output
55 files.
56
57
58 Unless the __-h__, or __--help__ option is given one
59 of the commands below must be present.
60
61
62 __packages__
63
64
65 The packages command generates a package file from a
66 directory tree. It takes the given directory and recursively
67 searches it for .deb files, emitting a package record to
68 stdout for each. This command is approximately equivalent to
4 perry 69 dpkg-scanpackages(8).
1 perry 70
71
72 The option __--db__ can be used to specify a binary
73 caching DB.
74
75
76 __sources__
77
78
79 The sources command generates a source index file from a
80 directory tree. It takes the given directory and recursively
81 searches it for .dsc files, emitting a source record to
82 stdout for each. This command is approximately equivalent to
4 perry 83 dpkg-scansources(8).
1 perry 84
85
86 If an override file is specified then a source override file
87 will be looked for with an extension of .src. The
88 --source-override option can be used to change the source
89 override file that will be used.
90
91
92 __contents__
93
94
95 The contents command generates a contents file from a
96 directory tree. It takes the given directory and recursively
97 searches it for .deb files, and reads the file list from
98 each file. It then sorts and writes to stdout the list of
99 files matched to packages. Directories are not written to
100 the output. If multiple packages own the same file then each
101 package is separated by a comma in the output.
102
103
104 The option __--db__ can be used to specify a binary
105 caching DB.
106
107
108 __generate__
109
110
111 The generate command is designed to be runnable from a cron
112 script and builds indexes according to the given config
113 file. The config language provides a flexible means of
114 specifying which index files are built from which
115 directories, as well as providing a simple means of
116 maintaining the required settings.
117
118
119 __clean__
120
121
122 The clean command tidies the databases used by the given
123 configuration file by removing any records that are no
124 longer necessary.
125 !!THE GENERATE CONFIGURATION
126
127
128 The generate command uses a configuration file to describe
129 the archives that are going to be generated. It follows the
130 typical ISC configuration format as seen in ISC tools like
131 bind 8 and dhcpd. ''apt.conf''(5) contains a description
132 of the syntax. Note that the generate configuration is
133 parsed in sectional manner, but ''apt.conf''(5) is parsed
134 in a tree manner. This only effects how the scope tag is
135 handled.
136
137
138 The generate configuration has 4 separate sections, each
139 decribed below.
140
141
142 __DIR SECTION__
143
144
145 The Dir section defines the standard directories needed to
146 locate the files required during the generation process.
147 These directories are prepended to certain relative paths
148 defined in later sections to produce a complete an absolute
149 path.
150
151
3 perry 152 __!ArchiveDir__
1 perry 153
154
155 Specifies the root of the FTP archive, in a standard Debian
156 configuration this is the directory that contains the
157 ''ls-LR'', and dist nodes.
158
159
3 perry 160 __!OverrideDir__
1 perry 161
162
163 Specifies the location of the override files.
164
165
3 perry 166 __!CacheDir__
1 perry 167
168
169 Specifies the location of the cache files
170
171
3 perry 172 __!FileListDir__
1 perry 173
174
175 Specifies the location of the file list files, if the
3 perry 176 !FileList setting is used below.
1 perry 177
178
179 __DEFAULT SECTION__
180
181
182 The Default section specifies default values, and settings
183 that control the operation of the generator. Other sections
184 may override these defaults with a per-section
185 setting.
186
187
188 __Packages::Compress__
189
190
191 Sets the default compression schemes to use for the Package
192 index files. It is a string that contains a space separated
193 list of at least one of: '.' (no compression), 'gzip' and
194 'bzip2'. The default for all compression schemes is '.
195 gzip'.
196
197
198 __Packages::Extensions__
199
200
201 Sets the default list of file extensions that are package
202 files. This defaults to '.deb'.
203
204
205 __Sources::Compress__
206
207
208 This is similar to Packages::Compress except that it
209 controls the compression for the Sources files.
210
211
212 __Sources::Extensions__
213
214
215 Sets the default list of file extensions that are source
216 files. This defaults to '.dsc'.
217
218
219 __Contents::Compress__
220
221
222 This is similar to Packages::Compress except that it
223 controls the compression for the Contents
224 files.
225
226
3 perry 227 __!DeLinkLimit__
1 perry 228
229
230 Specifies the number of kilobytes to delink (and replace
231 with hard links) per run. This is used in conjunction with
232 the per-section External-Links setting.
233
234
3 perry 235 __!FileMode__
1 perry 236
237
238 Specifies the mode of all created index files. It defaults
239 to 0644. All index files are set to this mode with no regard
240 to the umask.
241
242
243 __TREEDEFAULT SECTION__
244
245
246 Sets defaults specific to Tree sections. All of these
247 variables are substitution variables and have the strings
248 $(DIST), $(SECTION) and $(ARCH) replaced with their
249 respective values.
250
251
3 perry 252 __!MaxContentsChange__
1 perry 253
254
255 Sets the number of kilobytes of contents files that are
256 generated each day. The contents files are round-robined so
257 that over several days they will all be
258 rebuilt.
259
260
3 perry 261 __!ContentsAge__
1 perry 262
263
264 Controls the number of days a contents file is allowed to be
265 checked without changing. If this limit is passed the mtime
266 of the contents file is updated. This case can occur if the
267 package file is changed in such a way that does not result
268 in a new contents file [[overried edit for instance]. A hold
269 off is allowed in hopes that new .debs will be installed,
270 requiring a new file anyhow. The default is 10, the units
271 are in days.
272
273
274 __Directory__
275
276
277 Sets the top of the .deb directory tree. Defaults to
278 ''$(DIST)/$(SECTION)/binary-$(ARCH)/''
279
280
281 __Packages__
282
283
284 Sets the output Packages file. Defaults to
285 ''$(DIST)/$(SECTION)/binary-$(ARCH)/Packages''
286
287
288 __Sources__
289
290
291 Sets the output Packages file. Defaults to
292 ''$(DIST)/$(SECTION)/source/Sources''
293
294
3 perry 295 __!InternalPrefix__
1 perry 296
297
298 Sets the path prefix that causes a symlink to be considered
299 an internal link instead of an external link. Defaults to
300 ''$(DIST)/$(SECTION)/''
301
302
303 __Contents__
304
305
306 Sets the output Contents file. Defaults to
307 ''$(DIST)/Contents-$(ARCH)''. If this setting causes
308 multiple Packages files to map onto a single Contents file
309 (such as the default) then __apt-ftparchive__ will
310 integrate those package files together
311 automatically.
312
313
314 __Contents::Header__
315
316
317 Sets header file to prepend to the contents
318 output.
319
320
321 __BinCacheDB__
322
323
324 Sets the binary cache database to use for this section.
325 Multiple sections can share the same database.
326
327
3 perry 328 __!FileList__
1 perry 329
330
331 Specifies that instead of walking the directory tree,
332 __apt-ftparchive__ should read the list of files from the
333 given file. Relative files names are prefixed with the
334 archive directory.
335
336
3 perry 337 __!SourceFileList__
1 perry 338
339
340 Specifies that instead of walking the directory tree,
341 __apt-ftparchive__ should read the list of files from the
342 given file. Relative files names are prefixed with the
343 archive directory. This is used when processing source
344 indexs.
345
346
347 __TREE SECTION__
348
349
350 The Tree section defines a standard Debian file tree which
351 consists of a base directory, then multiple sections in that
352 base directory and finally multiple Architectures in each
353 section. The exact pathing used is defined by the Directory
354 substitution variable.
355
356
357 The Tree section takes a scope tag which sets the $(DIST)
358 variable and defines the root of the tree (the path is
3 perry 359 prefixed by !ArchiveDir). Typically this is a setting such as
1 perry 360 ''dists/woody''.
361
362
3 perry 363 All of the settings defined in the !TreeDefault section can
1 perry 364 be use in a Tree section as well as three new
365 variables.
366
367
368 When processing a Tree section __apt-ftparchive__
369 performs an operation similar to:
370
371
372 for i in Sections do
373 for j in Architectures do
374 Generate for DIST=scope SECTION=i ARCH=j
375 __Sections__
376
377
378 This is a space separated list of sections which appear
379 under the distribution, typically this is something like
380 main contrib non-free.
381
382
383 __Architectures__
384
385
386 This is a space separated list of all the architectures that
387 appear under seach section. The special architecture
388 'source' is used to indicate that this tree has a source
389 archive.
390
391
3 perry 392 __!BinOverride__
1 perry 393
394
395 Sets the binary override file. The override file contains
396 section, priority and maintainer address
397 information.
398
399
3 perry 400 __!SrcOverride__
1 perry 401
402
403 Sets the source override file. The override file contains
404 section information.
405
406
3 perry 407 __!ExtraOverride__
1 perry 408
409
410 Sets the binary extra override file.
411
412
3 perry 413 __!SrcExtraOverride__
1 perry 414
415
416 Sets the source extra override file.
417
418
419 __BINDIRECTORY SECTION__
420
421
422 The bindirectory section defines a binary directory tree
423 with no special structure. The scope tag specifies the
424 location of the binary directory and the settings are
425 similar to the Tree section with no substitution variables
3 perry 426 or !SectionArchitecture settings.
1 perry 427
428
429 __Packages__
430
431
432 Sets the Packages file output.
433
434
3 perry 435 __!SrcPackages__
1 perry 436
437
438 Sets the Sources file output. At least one of Packages or
3 perry 439 !SrcPackages is required.
1 perry 440
441
442 __Contents__
443
444
445 Sets the Contents file output. (Optional)
446
447
3 perry 448 __!BinOverride__
1 perry 449
450
451 Sets the binary override file.
452
453
3 perry 454 __!SrcOverride__
1 perry 455
456
457 Sets the source override file.
458
459
3 perry 460 __!ExtraOverride__
1 perry 461
462
463 Sets the binary extra override file.
464
465
3 perry 466 __!SrcExtraOverride__
1 perry 467
468
469 Sets the source extra override file.
470
471
472 __BinCacheDB__
473
474
475 Sets the cache DB.
476
477
3 perry 478 __!PathPrefix__
1 perry 479
480
481 Appends a path to all the output paths.
482
483
3 perry 484 __!FileList, !SourceFileList__
1 perry 485
486
487 Specifies the file list file.
488 !!THE BINARY OVERRIDE FILE
489
490
491 The binary override file is fully compatible with
4 perry 492 dpkg-scanpackages(8). It contains 4 fields separated
1 perry 493 by spaces. The first field is the package name, the second
494 is the priority to force that package to, the third is the
495 the section to force that package to and the final field is
496 the maintainer permutation field.
497
498
499 The general form of the maintainer field is:
500
501
502 old [[// oldn]* =
503 or simply,
504
505
506 new
507 The first form allows a double-slash separated list of old email addresses to be specified. If any of those are found then new is substituted for the maintainer field. The second form unconditionally substitutes the maintainer field.
508 !!THE SOURCE OVERRIDE FILE
509
510
511 The source override file is fully compatible with
4 perry 512 dpkg-scansources(8). It contains 2 fields separated
1 perry 513 by spaces. The first fields is the source package name, the
514 second is the section to assign it.
515 !!THE EXTRA OVERRIDE FILE
516
517
518 The extra override file allows any arbitary tag to be added
519 or replaced in the output. It has 3 columns, the first is
520 the package, the second is the tag and the remainder of the
521 line is the new value.
522 !!OPTIONS
523
524
525 All command line options may be set using the configuration
526 file, the descriptions indicate the configuration option to
527 set. For boolean options you can override the config file by
528 using something like __-f-__,__--no-f__, __-f=no__
529 or several other variations.
530
531
532 __--md5__
533
534
535 Generate MD5 sums. This defaults to on, when turned off the
536 generated index files will not have MD5Sum fields where
537 possible. Configuration Item:
538 APT::FTPArchive::MD5.
539
540
541 __-d__
542
543
544 __--db__
545
546
547 Use a binary caching DB. This has no effect on the generate
548 command. Configuration Item:
549 APT::FTPArchive::DB.
550
551
552 __-q__
553
554
555 __--quiet__
556
557
558 Quiet; produces output suitable for logging, omitting
559 progress indicators. More q's will produce more quiet up to
560 a maximum of 2. You can also use __-q=#__ to set the
561 quiet level, overriding the configuration file.
562 Configuration Item: quiet.
563
564
565 __--delink__
566
567
568 Perform Delinking. If the External-Links setting is used
569 then this option actually enables delinking of the files. It
570 defaults to on and can be turned off with
571 __--no-delink__. Configuration Item:
3 perry 572 APT::FTPArchive::!DeLinkAct.
1 perry 573
574
575 __--contents__
576
577
578 Perform contents generation. When this option is set and
579 package indexes are being generated with a cache DB then the
580 file listing will also be extracted and stored in the DB for
581 later use. When using the generate command this option also
582 allows the creation of any Contents files. The default is
583 on. Configuration Item:
584 APT::FTPArchive::Contents.
585
586
587 __-s__
588
589
590 __--source-override__
591
592
593 Select the source override file to use with the sources
594 command. Configuration Item:
3 perry 595 APT::FTPArchive::!SourceOverride.
1 perry 596
597
598 __--readonly__
599
600
601 Make the caching databases read only. Configuration Item:
602 APT::FTPArchive::ReadOnlyDB.
603
604
605 __-h__
606
607
608 __--help__
609
610
611 Show a short usage summary.
612
613
614 __-v__
615
616
617 __--version__
618
619
620 Show the program verison.
621
622
623 __-c__
624
625
626 __--config-file__
627
628
629 Configuration File; Specify a configuration file to use. The
630 program will read the default configuration file and then
631 this configuration file. See ''apt.conf''(5) for syntax
632 information.
633
634
635 __-o__
636
637
638 __--option__
639
640
641 Set a Configuration Option; This will set an arbitary
642 configuration option. The syntax is __-o
643 Foo::Bar=bar__.
644 !!SEE ALSO
645
646
647 ''apt.conf''(5)
648 !!DIAGNOSTICS
649
650
651 __apt-ftparchive__ returns zero on normal operation,
652 decimal 100 on error.
653 !!BUGS
654
655
656 See the APT bug page
657 /usr/share/doc/debian/bug-reporting.txt'' or the
658 bug(1) command.
659 !!AUTHOR
660
661
662 APT was written by the APT team
663 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.