<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/pkgcache.h, branch 2.9.2</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.2</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.2'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-02-20T12:49:04Z</updated>
<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>Invalidate cached architecture list when building cache</title>
<updated>2021-10-19T16:25:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-10-19T16:11:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=307912e8d74d9684875a791b0550c10afc14b0b0'/>
<id>urn:sha1:307912e8d74d9684875a791b0550c10afc14b0b0</id>
<content type='text'>
Fix a regression in python-apt where switching the architectures
in the config between cache invocations regressed.

Regression-Of: 8ff4e226af55a9feb168477a2b1a99f9c5152e54
Gbp-Dch: full
</content>
</entry>
<entry>
<title>All pkgCaches are MultiArch caches</title>
<updated>2021-09-04T13:35:15Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-09-04T11:03:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8ff4e226af55a9feb168477a2b1a99f9c5152e54'/>
<id>urn:sha1:8ff4e226af55a9feb168477a2b1a99f9c5152e54</id>
<content type='text'>
Back in 2015 the code inside libapt who was using this field was dropped
as even if we are on a system which is not configured for MultiArch,
there are still edge cases in which the cache can include very foreign
packages, so any assumption you could make thinking only a single
architecture will be in the cache is probably wrong.

Maintaining two different codepaths for Multi- and SingleArch is likely
not very beneficial for code and users alike and is surprisingly hard to
answer correctly and becoming even harder still, so always assuming the
"worst case" seems like the far better option.

References: 6c9937da76b9155d166092b9dda22d06200510c1
</content>
</entry>
<entry>
<title>Add support for Phased-Update-Percentage</title>
<updated>2021-01-08T13:48:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-08-10T18:16:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c5bc86d45e003905ef411146e66b414d26fb1ff8'/>
<id>urn:sha1:c5bc86d45e003905ef411146e66b414d26fb1ff8</id>
<content type='text'>
This adds support for Phased-Update-Percentage by pinning
upgrades that are not to be installed down to 1.

The output of policy has been changed to add the level of
phasing, and documentation has been improved to document
how phased updates work.

The patch detects if it is running in a chroot, and if so, always
includes phased updates, restoring classic apt behavior to avoid
behavioral changes on buildd chroots.

Various options are added to control this all:

* APT::Get::{Always,Never}-Include-Phased-Updates and their legacy
  update-manager equivalents to always or never include phased updates
* APT::Machine-ID can be set to a UUID string to have all machines in a
  fleet phase the same
* Dir::Etc::Machine-ID is weird in that it's default is sort of like
  ../machine-id, but not really, as ../machine-id would look up
  $PWD/../machine-id and not relative to Dir::Etc; but it allows you to
  override the path to machine-id (as opposed to the value)
* Dir::Bin::ischroot is the path to the ischroot(1) binary which is used
  to detect whether we are running in a chroot.
</content>
</entry>
<entry>
<title>Add correct std namespace to nullptr_t</title>
<updated>2020-04-26T16:13:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-04-26T16:13:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3824e0c49c7c43ac99d4f871d8404559070d7049'/>
<id>urn:sha1:3824e0c49c7c43ac99d4f871d8404559070d7049</id>
<content type='text'>
Reported-By: clangd
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>pkgcache: Add operator bool() to map_pointer</title>
<updated>2020-02-27T08:45:11Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-27T08:45:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0a076efd1b2b1cb2d57fd583af8031039ba03158'/>
<id>urn:sha1:0a076efd1b2b1cb2d57fd583af8031039ba03158</id>
<content type='text'>
</content>
</entry>
<entry>
<title>apt-pkg: default visibility to hidden</title>
<updated>2020-02-26T19:34:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-13T17:15:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=db678df196ccd8f9f6fb336706cf5701d1e53aa6'/>
<id>urn:sha1:db678df196ccd8f9f6fb336706cf5701d1e53aa6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cache: Swap locations of hashtables, hide them from non-apt users</title>
<updated>2020-02-26T13:42:35Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T13:42:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d4b0ddee41860a802e8d254f7e222c863592aaea'/>
<id>urn:sha1:d4b0ddee41860a802e8d254f7e222c863592aaea</id>
<content type='text'>
Only expose the locations of the hasthables if APT_COMPILING_APT
is set.
</content>
</entry>
<entry>
<title>Add d-pointers to groups, packages, versions, and files</title>
<updated>2020-02-25T10:44:16Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-25T10:44:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d8c6ea90784ecb4dabbf8c2cb7b631add50ae177'/>
<id>urn:sha1:d8c6ea90784ecb4dabbf8c2cb7b631add50ae177</id>
<content type='text'>
This allows us to extend those in-cache objects with more
data later on without breaking the ABI.

Reserve 12 pointers for private data in the pkgCache class,
and double the size of pools to 24.
</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>
</feed>
