<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/algorithms.cc, branch 3.1.4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.1.4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.1.4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-02-14T18:45:12Z</updated>
<entry>
<title>algorithms: Use smart pointer for 2nd PList</title>
<updated>2025-02-14T18:45:12Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-01-13T19:25:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a356af349cc04b649bc4635c26ff81e3d7c7ade5'/>
<id>urn:sha1:a356af349cc04b649bc4635c26ff81e3d7c7ade5</id>
<content type='text'>
This involves the use of goto to fix undefined behavior in
the for-loop restart which temporarily generates a K pointing
one element ahead of the start of the array (which is undefined).
</content>
</entry>
<entry>
<title>algorithms: Use &amp;list[0] instead of list.get()</title>
<updated>2025-02-14T18:45:12Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-01-13T19:20:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=bb9b5bbefb0f19a79e006cc5985f3446243ceee1'/>
<id>urn:sha1:bb9b5bbefb0f19a79e006cc5985f3446243ceee1</id>
<content type='text'>
This makes it clear from reading that we are accessing an array.
</content>
</entry>
<entry>
<title>algorithms: Use smart pointers</title>
<updated>2025-02-14T18:45:12Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-01-13T19:18:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=47084b6e10abcb93d0c0190b0368c46320f3a5e5'/>
<id>urn:sha1:47084b6e10abcb93d0c0190b0368c46320f3a5e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ResolveByKeep: Do not pass UPGRADE_ALL to EDSP solver</title>
<updated>2025-02-14T18:08:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-11T21:04:17Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=47b227a6dd609528a9f9f5c46d74f95919e21826'/>
<id>urn:sha1:47b227a6dd609528a9f9f5c46d74f95919e21826</id>
<content type='text'>
When we call an EDSP solver from ResolveByKeep(), we are not
in an upgrade context: In an upgrade context, we call the solver
directly from upgrade.cc instead of doing any Resolve() or
ResolveByKeep() calls.

This fixes the test-bug-602412-dequote-redirect test case,
where ResolveByKeep() was called as part of --fix-missing
</content>
</entry>
<entry>
<title>apt-pkg/algorithms.cc, apt-pkg/cachefilter.h: drop unused #include &lt;apt-pkg/string_view.h&gt;</title>
<updated>2024-11-12T19:36:10Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-12T16:59:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e1cb4e100320ceb5c81583943f57bcd007a95a7d'/>
<id>urn:sha1:e1cb4e100320ceb5c81583943f57bcd007a95a7d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Return an error if ResolveByKeep() is unsuccessful</title>
<updated>2024-11-11T11:30:01Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-09-05T12:58:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2f5aab4afaa61ec9b9c690dea4a0b7d650bb2374'/>
<id>urn:sha1:2f5aab4afaa61ec9b9c690dea4a0b7d650bb2374</id>
<content type='text'>
In case of held packages or packages that otherwise can't be kept
back, we should return an error and not require the client to check
the broken_count after calling us.

LP: #2078720
</content>
</entry>
<entry>
<title>Fix keeping back removals of obsolete packages</title>
<updated>2024-11-11T11:30:01Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-09-05T12:56:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=49d3d6b2c3dbc0d30e46131dd288f4e106ea2fe6'/>
<id>urn:sha1:49d3d6b2c3dbc0d30e46131dd288f4e106ea2fe6</id>
<content type='text'>
ResolveByKeepInternal() inadvertently considered packages that were
marked for removals as not being possible to keep back, but that's
not true, all they need is to have a currently installed version.

The test case is a bit awkward to construct because our upgrade code
doesn't get into a place where this happens that we know off. Or maybe
it does with phased upgrades, but here we simplify this by using a
helper binary that dumps state, marks for removal, and then calls
ResolveByKeep and checks the removal is undone.

LP: #2078720
</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>Merge branch 'keep-kernel-size' into 'main'</title>
<updated>2024-02-20T08:30:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-02-20T08:30:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=dfa7965f2f82ba5ada3ed4feea4630a7d4cc5895'/>
<id>urn:sha1:dfa7965f2f82ba5ada3ed4feea4630a7d4cc5895</id>
<content type='text'>
Configure the amount of kernels to keep

See merge request apt-team/apt!324</content>
</entry>
<entry>
<title>Add public phased update API</title>
<updated>2024-02-13T13:27:27Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-12T13:48:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a8352c2859a6f84b36fa5cd0af89231cb656b1ce'/>
<id>urn:sha1:a8352c2859a6f84b36fa5cd0af89231cb656b1ce</id>
<content type='text'>
This moves the functions of the PhasedUpgrader class into
various other classes so they can be publicly exposed.

This introduces three new functions:

pkgDepCache::PhasingApplied() tells you whether phasing should
be applied to the package.

pkgProblemResolver::KeepPhasedUpdates() keeps back updates that
have phasing applied.

pkgCache::VerIterator::IsSecurityUpdate() determines whether this
version contains security fixes.
</content>
</entry>
</feed>
