<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/cachefilter.cc, branch 2.0.2</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.0.2</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.0.2'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2017-12-14T20:55:34Z</updated>
<entry>
<title>remove pointless APT_PURE from void functions</title>
<updated>2017-12-14T20:55:34Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-12-14T20:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a6c7b262212d56a4ad37e6475f96152296ab1d0c'/>
<id>urn:sha1:a6c7b262212d56a4ad37e6475f96152296ab1d0c</id>
<content type='text'>
Earlier gcc versions used to complain that you should add them althrough
there isn't a lot of point to it if you think about it, but now gcc (&gt;= 8)
complains about the attribute being present.

warning: ‘pure’ attribute on function returning ‘void’ [-Wattributes]

Reported-By: gcc -Wattributes
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>Replace APT_CONST with APT_PURE everywhere</title>
<updated>2017-08-24T14:56:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-08-24T14:55:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0e4ac8334d02ea256f750ad61689f28ff1ebdf6c'/>
<id>urn:sha1:0e4ac8334d02ea256f750ad61689f28ff1ebdf6c</id>
<content type='text'>
As a follow up to the last commit, let's replace APT_CONST
with APT_PURE everywhere to clean stuff up.
</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>Drop cacheiterators.h include</title>
<updated>2017-07-12T11:56:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c46f94aa48a9707668c46118b3eec77ff318b78c'/>
<id>urn:sha1:c46f94aa48a9707668c46118b3eec77ff318b78c</id>
<content type='text'>
Including cacheiterators.h before pkgcache.h fails because
pkgcache.h depends on cacheiterators.h.
</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>
<entry>
<title>support &lt;libc&gt;-&lt;kernel&gt;-&lt;cpu&gt; in architecture specs</title>
<updated>2016-01-31T22:24:59Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-01-31T21:32:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5025879e3fdd705bb0607ff8f51a680749c5972a'/>
<id>urn:sha1:5025879e3fdd705bb0607ff8f51a680749c5972a</id>
<content type='text'>
APT has a different understanding than dpkg (#748936) what matches and
what doesn't match an architecture specification as it isn't converting
back (and forward) to Debian triplets. That has to eventually be solved
some way or the other, but until that happens we change the matching in
apt so that porters can continue their work on non-gnu libc-ports even
if policy doesn't specify that yet (and dpkg just supporting it "by
accident" via triplets).

The initial patch was reformatted, fixed in terms of patterns containing
"any-any", dealing with expanding an arch without libc to gnu while a
pattern expands libc to any, the parsedepends test was fixed (the new
if's were inserted one step too early) and another test just for the
specifications added.

Closes: #812212
Thanks: Bálint Réczey for initial patch
</content>
</entry>
<entry>
<title>add an API for cache filters/matcher</title>
<updated>2014-09-26T22:10:48Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-09-07T17:16:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3721cb019fd03ecd68c20bb22f231ec8fb5f83b1'/>
<id>urn:sha1:3721cb019fd03ecd68c20bb22f231ec8fb5f83b1</id>
<content type='text'>
A lot of code deals with iterating over packages and checking for
specific states. At the moment these are all handcrafted inplace, but
that makes sharing common code which just differs in the states it
checks rather difficult and is error prune. Having an API to construct
arbitrary complex filters will come in handy for those.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>cleanup headers and especially #includes everywhere</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-05T21:11:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=453b82a388013e522b3a1b9fcd6ed0810dab1f4f'/>
<id>urn:sha1:453b82a388013e522b3a1b9fcd6ed0810dab1f4f</id>
<content type='text'>
Beside being a bit cleaner it hopefully also resolves oddball problems
I have with high levels of parallel jobs.

Git-Dch: Ignore
Reported-By: iwyu (include-what-you-use)
</content>
</entry>
<entry>
<title>squash merge of the feature/apt-binary branch without the changes from experimental</title>
<updated>2013-08-12T21:24:08Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2013-08-12T21:24:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b917917067e757c4479a344a263ef7cf43c00866'/>
<id>urn:sha1:b917917067e757c4479a344a263ef7cf43c00866</id>
<content type='text'>
</content>
</entry>
<entry>
<title>various simple changes to fix cppcheck warnings</title>
<updated>2013-03-10T11:24:13Z</updated>
<author>
<name>David Kalnischkies</name>
<email>kalnischkies@gmail.com</email>
</author>
<published>2013-03-10T11:24:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=69c2ecbdc937e3c73fe67d3c9bce12a80d3ec7ec'/>
<id>urn:sha1:69c2ecbdc937e3c73fe67d3c9bce12a80d3ec7ec</id>
<content type='text'>
</content>
</entry>
</feed>
