]> git.saurik.com Git - apt.git/commit - apt-pkg/acquire-item.h
keep compressed indexes in a low-cost format
authorDavid Kalnischkies <david@kalnischkies.de>
Thu, 7 Jan 2016 19:32:09 +0000 (20:32 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Fri, 8 Jan 2016 14:40:01 +0000 (15:40 +0100)
commit0179cfa83cf0042235eda41db7f35c420781c63e
treea1b49bb2d40ae34a5d06139e7ecd203ba0733c8f
parent912a61312a0463b46d6560756c89146f59daaab6
keep compressed indexes in a low-cost format

Downloading and storing are two different operations were different
compression types can be preferred. For downloading we provide the
choice via Acquire::CompressionTypes::Order as there is a choice to
be made between download size and speed – and limited by whats available
in the repository.

Storage on the other hand has all compressions currently supported by
apt available and to reduce runtime of tools accessing these files the
compression type should be a low-cost format in terms of decompression.

apt traditionally stores its indexes uncompressed on disk, but has
options to keep them compressed. Now that apt downloads additional files
we also deal with files which simply can't be stored uncompressed as
they are just too big (like Contents for apt-file). Traditionally they
are downloaded in a low-cost format (gz) as repositories do not provide
other formats, but there might be even lower-cost formats and for
download we could introduce higher-cost in the repositories.

Downloading an entire index potentially requires recompression to
another format, so an update takes potentially longer – but big files
are usually updated via pdiffs which has to de- and re-compress anyhow
and does it on the fly anyhow, so there is no extra time needed and in
general it seems to be benefitial to invest the time in update to save
time later on file access.
14 files changed:
apt-pkg/acquire-item.cc
apt-pkg/acquire-item.h
apt-pkg/aptconfiguration.cc
apt-pkg/deb/debmetaindex.cc
apt-pkg/indexfile.cc
apt-pkg/indexfile.h
cmdline/apt-get.cc
doc/acquire-additional-files.txt
test/integration/framework
test/integration/test-apt-acquire-additional-files
test/integration/test-apt-update-ims
test/integration/test-apt-update-unauth
test/integration/test-compressed-indexes
test/integration/test-pdiff-usage