summaryrefslogtreecommitdiff
path: root/doc/acquire-additional-files.txt
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-08-28 19:26:44 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2015-08-28 19:26:44 +0200
commitd7a51997c30b2098bb60b3397095ec58ec825303 (patch)
treef8dd90f51359b998983f7bb01afa20d1d9c22f0c /doc/acquire-additional-files.txt
parent79b60dcd78e6cb4c842c98ed5ba5be469a8181be (diff)
implement PDiff patching for compressed files
Some additional files like 'Contents' are very big and should therefore kept compressed on the disk, which apt-file did in the past. It also implemented pdiff patching of these files by un- and recompressing these files on-the-fly, with this commit we can do the same – but we can do this in both pdiff patching styles (client and server merging) and secured by hashes. Hashes are in so far slightly complicated as we can't compare the hashes of the compressed files as we might compress them differently than the server would (different compressor versions, options, …), so we must compare the hashes of the uncompressed content. While this commit has changes in public headers, the classes it changes are marked as hidden, so nobody can use them directly, which means the ABI break is internal only.
Diffstat (limited to 'doc/acquire-additional-files.txt')
-rw-r--r--doc/acquire-additional-files.txt27
1 files changed, 21 insertions, 6 deletions
diff --git a/doc/acquire-additional-files.txt b/doc/acquire-additional-files.txt
index 1b2494535..11f4bb76d 100644
--- a/doc/acquire-additional-files.txt
+++ b/doc/acquire-additional-files.txt
@@ -82,22 +82,37 @@ Additional optional properties:
a hard error and the update process fails. Note that failures while
downloading (e.g. 404 or hash verification errors) are failures,
regardless of this setting.
+* KeepCompressed: The default is the value of Acquire::GzipIndexes,
+ which defaults to false. If true, the acquire system will keep the
+ file compressed on disk rather than extract it. If your frontend can't
+ deal with compressed files transparently you have to explicitly set
+ this option to false to avoid problems with users setting the option
+ globally. On the other hand, if you set it to true or don't set it you
+ have to ensure your frontend can deal with all compressed fileformats
+ supported by apt (libapt users can e.g. use FileFd).
The acquire system will automatically choose to download a compressed
file if it is available and uncompress it for you, just as it will also
-use pdiff patching if provided by the repository and enabled by the
+use PDiff patching if provided by the repository and enabled by the
user. You only have to ensure that the Release file contains the
-information about the compressed files/pdiffs to make this happen.
+information about the compressed files/PDiffs to make this happen.
*NO* properties have to be set to enable this!
-Additional properties exist, but these should *NOT* be set by frontends
+More properties exist, but these should *NOT* be set by frontends
requesting files. They exist for internal and end-user usage only:
-* PDiffs: controls if apt will try to use pdiffs for this target.
+* PDiffs: controls if apt will try to use PDiffs for this target.
Defaults to the value of Acquire::PDiffs which is true by default.
Can be overridden per-source by the sources.list option of the same
name. See the documentation for both of these for details.
+* CompressionTypes: The default value is a space separated list of
+ compression types supported by apt (see Acquire::CompressionTypes).
+ You can set this option to prevent apt from downloading a compression
+ type a frontend can't open transparently. This should always be
+ a temporary workaround through and a bug should be reported against
+ the frontend in question.
+
# More examples
@@ -177,7 +192,7 @@ tools like 'grep-dctrl'.
Accessing this information via libapt is done by reading the
sources.lists (pkgSourceList), iterating over the metaIndex objects this
-creates and calling GetIndexTargets() on them. See the sourcecode of
+creates and calling GetIndexTargets() on them. See the source code of
"apt-get indextargets" for a complete example.
Note that by default targets are not listed if they weren't downloaded.
@@ -195,7 +210,7 @@ it will always refer to an uncompressed file, even if the index would be
Remarks on fields only available in (default) --release-info mode:
* Trusted: Denotes with a 'yes' or 'no' if the data in this file is
- authenticated by a trustchain rooted in a trusted gpg key. You should
+ authenticated by a trust chain rooted in a trusted gpg key. You should
be careful with untrusted data and warn the user if you use it.
* Codename, Suite, Version, Origin and Label are fields from the Release
file, are only present if they are present in the Release file and