<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/cmdline/apt-cache.cc, branch 3.1.8</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.1.8</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.1.8'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-02-15T15:37:19Z</updated>
<entry>
<title>cache: Introduce partial SourceVersion support</title>
<updated>2025-02-15T15:37:19Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-15T15:37:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4bcb198a67156b2654f3b64173499ab78f0d4d9a'/>
<id>urn:sha1:4bcb198a67156b2654f3b64173499ab78f0d4d9a</id>
<content type='text'>
This is the first step that introduces a 1:1 mapping between version
and source version. In a future version this can use the fields
currently marked unavailable to deduplicate the SourceVersion
objects across the group.

The policy gains a member for storing pins for sourceversions.

Together, in the future we should be able to determine candidates
for source versions.
</content>
</entry>
<entry>
<title>Record all available sources for descriptions</title>
<updated>2025-01-30T23:10:02Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2025-01-30T23:10:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=593cf30cee476bdae21f7e99f67d2572b7381e90'/>
<id>urn:sha1:593cf30cee476bdae21f7e99f67d2572b7381e90</id>
<content type='text'>
Avoiding duplications is one thing, but it could also be handy to know
all sources for a description so that you can e.g. avoid opening another
file or similar such if its also present in one you already have open.

Given how the structures were set up this was probably intended all
along and either worked at some point or was abandoned for the
duplicates that we started culling heavily with the introduction of
MultiArch as at that point they blew up the cache and needed to be dealt
with.
</content>
</entry>
<entry>
<title>Drop unused version stanza size info from binary cache</title>
<updated>2025-01-30T19:10:50Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2025-01-30T18:03:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1bc8dab8df60c5da7cc817bec5f53e60f7eb9817'/>
<id>urn:sha1:1bc8dab8df60c5da7cc817bec5f53e60f7eb9817</id>
<content type='text'>
Same reason as with the description size before, but this one had
actually one extremely dated user in src:apt left with dumpavail,
which is changed to an implementation that is (in comparison) a bit
slower, but should be good enough for a command that is ideally not
used anymore (even if codesearch suggests otherwise).

After all, what makes this a bit slower is not that we don't know the
size, but that this one does additional work preparing for accessing
the fields which we don't do. In exchange pkgTagFile has a better
implementation for "Jitter" than the old code that we would "just"
need to copy here if speed were really an issue.
</content>
</entry>
<entry>
<title>Update Graphviz URL to https://graphviz.org/</title>
<updated>2024-03-14T18:36:07Z</updated>
<author>
<name>Wesley Schwengle</name>
<email>wesleys@opperschaap.net</email>
</author>
<published>2024-03-14T18:36:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=edf1025e691e94cdde305bc2d15484fc7ee6db1c'/>
<id>urn:sha1:edf1025e691e94cdde305bc2d15484fc7ee6db1c</id>
<content type='text'>
Signed-off-by: Wesley Schwengle &lt;wesleys@opperschaap.net&gt;
</content>
</entry>
<entry>
<title>Modernize standard library includes</title>
<updated>2024-02-20T12:49:04Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-20T12:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=40a75722c43ae24cb9a99d6730a3b25b65819c49'/>
<id>urn:sha1:40a75722c43ae24cb9a99d6730a3b25b65819c49</id>
<content type='text'>
This was automated with sed and git-clang-format, and then I had to
fix up the top of policy.cc by hand as git-clang-format accidentally
indented it by two spaces.
</content>
</entry>
<entry>
<title>pkgnames: Do not exclude virtual packages with --all-names</title>
<updated>2020-10-26T13:39:44Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-10-26T13:39:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=681f74a8bd5beaad5b821a5c4eb3c0bc1c471669'/>
<id>urn:sha1:681f74a8bd5beaad5b821a5c4eb3c0bc1c471669</id>
<content type='text'>
We accidentally excluded virtual packages by excluding every
group that had a package, but where the package had no versions.

Rewrite the code so the lookup consistently uses VersionList()
instead of FirstVersion and FindPkg("any") - those are all the
same, and this is easier to read.
</content>
</entry>
<entry>
<title>pkgnames: Correctly set the default for AllNames to false</title>
<updated>2020-10-26T13:33:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-10-26T12:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9cc002939afc0d2283fd2f5e7d6e7434af5d10ff'/>
<id>urn:sha1:9cc002939afc0d2283fd2f5e7d6e7434af5d10ff</id>
<content type='text'>
We passed "false" instead of false, and that apparently got
cast to bool, because it's a non-null pointer.

LP: #1876495
</content>
</entry>
<entry>
<title>Make map_pointer&lt;T&gt; typesafe</title>
<updated>2020-02-24T17:29:07Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-24T16:46:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4fad7262291a8af1415fb9a3693678bd9610f0d6'/>
<id>urn:sha1:4fad7262291a8af1415fb9a3693678bd9610f0d6</id>
<content type='text'>
Instead of just using uint32_t, which would allow you to
assign e.g. a map_pointer&lt;Version&gt; to a map_pointer&lt;Package&gt;,
use our own smarter struct that has strict type checking.

We allow creating a map_pointer from a nullptr, and we allow
comparing map_pointer to nullptr, which also deals with comparisons
against 0 which are often used, as 0 will be implictly converted
to nullptr.
</content>
</entry>
<entry>
<title>Replace map_pointer_t with map_pointer&lt;T&gt;</title>
<updated>2020-02-24T16:08:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-24T16:08:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c3587c0d9de852eca11d9bbc004095d54115eda4'/>
<id>urn:sha1:c3587c0d9de852eca11d9bbc004095d54115eda4</id>
<content type='text'>
This is a first step to a type safe cache, adding typing
information everywhere. Next, we'll replace map_pointer&lt;T&gt;
implementation with a type safe one.
</content>
</entry>
<entry>
<title>Apply various suggestions by cppcheck</title>
<updated>2019-07-08T13:51:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2019-07-08T13:48:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2b734a7ec429825c7007c1093883229e069d36c7'/>
<id>urn:sha1:2b734a7ec429825c7007c1093883229e069d36c7</id>
<content type='text'>
Reported-By: cppcheck
</content>
</entry>
</feed>
