<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/CMake/config.h.in, branch 1.9.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.9.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.9.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2019-06-12T13:02:55Z</updated>
<entry>
<title>Run unifdef -DAPT_{8,9,10,15}_CLEANER_HEADERS</title>
<updated>2019-06-12T13:02:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-05-11T15:17:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=daa1352ed3d2bb4bc6aa0f0e7f22be3f0908942d'/>
<id>urn:sha1:daa1352ed3d2bb4bc6aa0f0e7f22be3f0908942d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Prevent shutdown while running dpkg</title>
<updated>2019-05-03T14:37:50Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-04-15T09:32:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=60cc44d160af02c49614653c97bfa3e4e5c9601d'/>
<id>urn:sha1:60cc44d160af02c49614653c97bfa3e4e5c9601d</id>
<content type='text'>
As long as we are running dpkg, keep an inhibitor that
blocks us from shutting down.

LP: #1820886
</content>
</entry>
<entry>
<title>Correctly handle feature detection for sse4.2 and crc32</title>
<updated>2019-02-04T17:15:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-02-04T17:14:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2fa5e51a523731809efeec567879513baabf4cf7'/>
<id>urn:sha1:2fa5e51a523731809efeec567879513baabf4cf7</id>
<content type='text'>
Mistakingly used #define instead of #cmakedefine
</content>
</entry>
<entry>
<title>Detect function multiversioning and sse4.2/crc32, enables i386</title>
<updated>2019-02-04T14:21:32Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-02-03T15:39:37Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2cc1b3a3ee595c8be761fee309167b8a56393d3e'/>
<id>urn:sha1:2cc1b3a3ee595c8be761fee309167b8a56393d3e</id>
<content type='text'>
This fixes the build on kfreebsd-amd64, and due to the detection
of sse4.2, should also enable the sse4.2 on i386.
</content>
</entry>
<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>Sandbox methods with seccomp-BPF; except cdrom, gpgv, rsh</title>
<updated>2017-10-22T21:38:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-22T21:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=32bcbd73e0988d2d2237690ffae33b4f5cc5ff81'/>
<id>urn:sha1:32bcbd73e0988d2d2237690ffae33b4f5cc5ff81</id>
<content type='text'>
This reduces the number of syscalls to about 140 from about
350 or so, significantly reducing security risks.

Also change prepare-release to ignore the architecture lists
in the build dependencies when generating the build-depends
package for travis.

We might want to clean up things a bit more and/or move it
somewhere else.
</content>
</entry>
<entry>
<title>Directly link against libudev on Linux systems</title>
<updated>2017-09-09T19:07:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-09-09T18:36:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=96b4580561cd2a8d1467143d67d2a612f0ddc75a'/>
<id>urn:sha1:96b4580561cd2a8d1467143d67d2a612f0ddc75a</id>
<content type='text'>
We previously dlopen()ed it, but it seems painful to do that
without any real gain, except for possibly not having libudev
in the address space and not having code #ifdefed for Linux.

The latter means that we are a bit more likely to break stuff
for non-Linux systems now if we play with udev, but at least
we don't end up with it silently breaking because of a libudev
ABI break.

The existing function pointers in the struct were renamed and
kept for compat purposes.

Fixes Debian/apt#48

Also adjust prepare-release to strip [linux-any] from build-depends
for travis.
</content>
</entry>
<entry>
<title>reimplement and document auth.conf</title>
<updated>2017-07-26T17:09:04Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-07-07T14:24:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ea408c560ed85bb4ef7cf8f72f8463653501332c'/>
<id>urn:sha1:ea408c560ed85bb4ef7cf8f72f8463653501332c</id>
<content type='text'>
We have support for an netrc-like auth.conf file since 0.7.25 (closing
518473), but it was never documented in apt that it even exists and
netrc seems to have fallen out of usage as a manpage for it no longer
exists making the feature even more arcane.

On top of that the code was a bit of a mess (as it is written in c-style)
and as a result the matching of machine tokens to URIs also a bit
strange by checking for less specific matches (= without path) first.
We now do a single pass over the stanzas.

In practice early adopters of the undocumented implementation will not
really notice the differences and the 'new' behaviour is simpler to
document and more usual for an apt user.

Closes: #811181
</content>
</entry>
<entry>
<title>Use C++11 threading support instead of pthread</title>
<updated>2017-07-20T18:50:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-20T18:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b28636e54f682dc65aef169f201a34a8e2893369'/>
<id>urn:sha1:b28636e54f682dc65aef169f201a34a8e2893369</id>
<content type='text'>
This makes the code easier to read.
</content>
</entry>
<entry>
<title>Read dpkg tables to handle architecture wildcards</title>
<updated>2017-01-17T00:43:50Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-01-16T23:08:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6ede8952f55a1bc356b42b1adc7b9bd504af943c'/>
<id>urn:sha1:6ede8952f55a1bc356b42b1adc7b9bd504af943c</id>
<content type='text'>
Our implementation of wildcards was rudimentary. It worked for some
common ones, but it was also broken: For example, armel matched any-armel,
but should match any-arm.

With this commit, we load the correct tables from dpkg. Supported are
both triplets and quadruplet tables (the latter introduced in dpkg 1.18.11).

There are some odd things we have to deal with in the cache filter for
historical and API reasons:

* The character "*" must be accepted as an alternative to any - in fact
  it may appear anywhere in the wildcard as we also allow fnmatch() style
  wildcard matching on the commandline.

* The code might get passed an arch with a minus at the end, for example
  the cmdline "install apt:any-arm-" will first try to check if any-arm-
  is a valid architecture. We deal with this by rejecting any wildcard
  ending in a minus.

* Triplets are actually implemented by extending them to faux quadruplets
  - by prepending a "base" component for the architecture tuple, and "any"
  if there is a wildcard component.

Once we have constructed a wildcard, it is transformed into an fnmatch()
expression for historical reasons. In the future, we should really get a
tuple class and implement matching in a better, more explicit way.

This does for now though - it passes all the test cases and accepts all
things it should accept.

Closes: #748936
Thanks: James Clarke &lt;jrtc27@jrtc27.com&gt; for the initial patch
</content>
</entry>
</feed>
