<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/aptconfiguration.cc, branch 2.1.11</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.1.11</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.1.11'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2018-03-12T07:56:59Z</updated>
<entry>
<title>apt-pkg: Add support for zstd</title>
<updated>2018-03-12T07:56:59Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2018-03-08T08:33:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4de4200ec2717e777bbf99ed82d1b4344f078ec2'/>
<id>urn:sha1:4de4200ec2717e777bbf99ed82d1b4344f078ec2</id>
<content type='text'>
zstd is a compression algorithm developed by facebook. At level 19,
it is about 6% worse in size than xz -6, but decompression is multiple
times faster, saving about 40% install time, especially with eatmydata
on cloud instances.
</content>
</entry>
<entry>
<title>don't ask an uninit _system for supported archs</title>
<updated>2017-09-09T15:22:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-08-14T08:36:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cba5c5a26a9bf00724f8ea647ac61b30e32734ba'/>
<id>urn:sha1:cba5c5a26a9bf00724f8ea647ac61b30e32734ba</id>
<content type='text'>
A libapt user who hasn't initialized _system likely has a reason, so we
shouldn't greet back with a segfault usually deep down in the callstack
for no reason. If the user had intended to pick up information from the
system, _system wouldn't be uninitialized after all.

LP: #1613184
SRU: 1.4.y
</content>
</entry>
<entry>
<title>Reformat and sort all includes with clang-format</title>
<updated>2017-07-12T11:57:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=87274d0f22e1dfd99b2e5200e2fe75c1b804eac3'/>
<id>urn:sha1:87274d0f22e1dfd99b2e5200e2fe75c1b804eac3</id>
<content type='text'>
This makes it easier to see which headers includes what.

The changes were done by running

    git grep -l '#\s*include'  \
        | grep -E '.(cc|h)$' \
        | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/'

To modify all include lines by adding a space, and then running
./git-clang-format.sh.
</content>
</entry>
<entry>
<title>don't add default compressors two times if disabled</title>
<updated>2016-07-05T18:44:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-07-05T12:46:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=29b8e6b939bb7fcf0b2959545d8c822995c84118'/>
<id>urn:sha1:29b8e6b939bb7fcf0b2959545d8c822995c84118</id>
<content type='text'>
This is in so far pointless as the first match will deal with the
extension, so we don't actually ever use these second instances –
probably for the better as most need arguments to behave as epected &amp;
more importantly: the point of the exercise disabling their use for
testing proposes.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>don't use FindFile for external Dir::Bin commands</title>
<updated>2016-06-14T12:32:14Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-06-14T12:32:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=90f2a7a0f66cfc259883490a5fcf40f7d0696cfe'/>
<id>urn:sha1:90f2a7a0f66cfc259883490a5fcf40f7d0696cfe</id>
<content type='text'>
We usually use absolute paths to specific the location of dpkg, apt-key
and the like, but there is nothing wrong with using just the command
name and instead let exec(3) make the lookup in PATH.

We had a wild mixture before, so opting for the more accepting option
out of the two seems about right especially as it makes no difference in
the default case as apt uses absolute paths.
</content>
</entry>
<entry>
<title>fix and document on the fly compressor config</title>
<updated>2016-05-27T12:08:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-27T10:08:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=124e6916b7b02984803ff8217e8163947aae2882'/>
<id>urn:sha1:124e6916b7b02984803ff8217e8163947aae2882</id>
<content type='text'>
libapt allows to configure compressors to be used by its system via
configuration implemented in 03bef78461c6f443187b60799402624326843396,
but that was never really documented and also only partly working, which
also explains why the tests weren't using it…
</content>
</entry>
<entry>
<title>keep compressed indexes in a low-cost format</title>
<updated>2016-01-08T14:40:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-01-07T19:32:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0179cfa83cf0042235eda41db7f35c420781c63e'/>
<id>urn:sha1:0179cfa83cf0042235eda41db7f35c420781c63e</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>FileFd: (native) LZ4 support</title>
<updated>2016-01-07T13:28:27Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-27T23:07:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e3fbd54cee3fffecbf4f7c384e0aad715fc68218'/>
<id>urn:sha1:e3fbd54cee3fffecbf4f7c384e0aad715fc68218</id>
<content type='text'>
Implement native support for LZ4 compression, using the official
lz4 library.
</content>
</entry>
<entry>
<title>Change compressor costs to be 100 apart</title>
<updated>2016-01-03T13:53:26Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-01-03T13:53:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=59f1f42b7507137a10e1dae0636cd3a020a06a0e'/>
<id>urn:sha1:59f1f42b7507137a10e1dae0636cd3a020a06a0e</id>
<content type='text'>
This will give us the freedom to insert more compressors at
positions in between.

Also change the cost of uncompressed to 0, as that really has
no overhead, and the values do not really mean much.
</content>
</entry>
<entry>
<title>aptconfiguration: Set default compression level to 6</title>
<updated>2015-12-28T20:50:13Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-28T20:50:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1a3296c0bd67c46c6ff791345b6101edcb97e778'/>
<id>urn:sha1:1a3296c0bd67c46c6ff791345b6101edcb97e778</id>
<content type='text'>
Since commit 7a68effcb904b4424b54a30e448b6f2560cd1078, the xz
and lzma compressors read the level of compression they shall
use.

A default of -9 is too much for them, this will use 674 MB,
according to the xz manual page. Level -6 on the other hand
only needs 94 MB memory for compression.

This causes autopkgtest failures in the test-compressed-indexes
test, as not enough memory exists to proceed.

Change the other compression levels to 6 as well: The gzip
and bzip2 FileFd backends do not read them, and use their
code's default level which is 6, so do the same for external
methods.
</content>
</entry>
</feed>
