<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test, branch 2.5.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.5.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.5.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2022-06-30T11:21:19Z</updated>
<entry>
<title>test-phased-updates-upgrade: Tests with arguments</title>
<updated>2022-06-30T11:21:19Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2022-06-30T11:20:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8416bcb58cba0f8b5e8e8d26b71ae838f228111d'/>
<id>urn:sha1:8416bcb58cba0f8b5e8e8d26b71ae838f228111d</id>
<content type='text'>
Pass some package names to upgrade to see that that works

Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>policy: Do not override negative pins with 1 due to phasing</title>
<updated>2022-06-28T12:54:42Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2022-06-28T12:53:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=20739359fa936c0851a4c0f37667526d98c22761'/>
<id>urn:sha1:20739359fa936c0851a4c0f37667526d98c22761</id>
<content type='text'>
If a package is already pinned to a negative value, we should not
override this with a positive 1. This causes packages to be installable
that were pinned to -1, which is not intended.

For this, implement phasing as a ceiling of 1 for the pin instead
of a fixed 1 value. An alternative would have been to fix it to
NEVER_PIN, but that would mean entirely NEW packages would not be
installable while phasing which is not the intention either.

LP: #1978125
</content>
</entry>
<entry>
<title>(Temporarily) Rewrite phased updates using a keep-back approach</title>
<updated>2022-06-28T12:25:18Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2022-06-24T14:09:24Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=db131677bee45c86031d37d7b451e6ece692efb2'/>
<id>urn:sha1:db131677bee45c86031d37d7b451e6ece692efb2</id>
<content type='text'>
This is a lot closer to the original implementation in update-manager,
but still has a couple of differences that might cause bugs:

- When checking whether a version is a security update, we only
  check versions in between and not any later version. This happens
  mostly because we do not know the suite, so we just check if there
  is any version between the installed version and our target that
  is a security update

- We only keep already installed packages, as we run before the
  resolver. update-manager first runs the resolver, and then marks
  for keep all packages that were upgraded or newly installed that
  are phasing (afaict).

This approach has a significant caveat that if you have version 1
installed from a release pocket, version 2 is in security, and version
3 is phasing in updates, that it installs version 3 rather than 2
from security as the policy based implementation does.

It also means that apt install does not respect phasing and would
always install version 3 in such a scenario.

LP: #1979244
</content>
</entry>
<entry>
<title>Include our config.h in all C++ files to avoid ODR violations</title>
<updated>2022-05-07T08:45:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-22T15:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=320245536a7ad21606286d9dcf54acf3bdf096c6'/>
<id>urn:sha1:320245536a7ad21606286d9dcf54acf3bdf096c6</id>
<content type='text'>
Some of our headers use APT_COMPILING_APT trickery to avoid exposing too
broadly details we don't want external clients to know and make use of.
The flip-side is that this can lead to different compilation units
seeing different definitions if they aren't all using the same config.
</content>
</entry>
<entry>
<title>Ignore stty failures in testcases</title>
<updated>2022-05-07T08:45:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-21T10:51:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e5aa5c04ecbd3cdab611794cebf9eb3aa8cbddd4'/>
<id>urn:sha1:e5aa5c04ecbd3cdab611794cebf9eb3aa8cbddd4</id>
<content type='text'>
We use 'stty sane' to combat against stepped output and co caused by
(especially) failed tests, but it does so many things that it
occasionally fails to reset some bits in the parallel interaction we
have with it which fails the tests without a real problem in apt…

Ideally we would be better at stitching the output together, but for the
time being lets ignore these failures instead to stabilize the tests.
</content>
</entry>
<entry>
<title>Link interactive helpers against system libapt for autopkgtest</title>
<updated>2022-05-07T08:45:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-20T23:45:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8d8b45a96ceceb015f7836cf25b99279c2f377b9'/>
<id>urn:sha1:8d8b45a96ceceb015f7836cf25b99279c2f377b9</id>
<content type='text'>
Building the library just so we can build the helpers against it is not
only wasteful but as we are supposed to test the system we can use that
as an additional simple smoke test before the real testing starts.
</content>
</entry>
<entry>
<title>Merge branch 'fix/tagfilekeys' into 'main'</title>
<updated>2022-05-06T16:20:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2022-05-06T16:20:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=97f16727b50dcaa4810e80d3c16639e0ce6a0958'/>
<id>urn:sha1:97f16727b50dcaa4810e80d3c16639e0ce6a0958</id>
<content type='text'>
Consistently dealing with fields via pkgTagSection::Key

See merge request apt-team/apt!233</content>
</entry>
<entry>
<title>Only protect two kernels, not last installed one</title>
<updated>2022-04-07T11:19:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2022-04-06T11:51:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=824651ded0bcf8603e9b508860b8fe5a68fc53ff'/>
<id>urn:sha1:824651ded0bcf8603e9b508860b8fe5a68fc53ff</id>
<content type='text'>
The kernel autoremoval algorithm was written to accomodate
for Ubuntu's boot partition sizing, which was written to
accomodate 3 kernels - 2 installed ones + a new one being
unpacked.

It seems that when the algorithm was designed, it was overlooked
that it actually kept 3 kernels.

LP: #1968154
</content>
</entry>
<entry>
<title>Parse Checksum fields via pkgTagSection::Key, too</title>
<updated>2022-04-01T12:16:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-01T09:37:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=05fae6fae95d8ef6690f3d56863e3bb6a44d424c'/>
<id>urn:sha1:05fae6fae95d8ef6690f3d56863e3bb6a44d424c</id>
<content type='text'>
We abstract hashes a fair bit to be able to add new ones eventually,
which lead us to building the field names on the fly. We can do better
through by keeping a central place for these names, too, which even
helps in reducing code as we don't need the MD5 → Files dance anymore.
</content>
</entry>
<entry>
<title>Do not order long obsoleted fields anymore</title>
<updated>2022-04-01T12:16:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-03-28T13:47:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2005f1c263a942b37d179b9b8f9b7ab343ca7459'/>
<id>urn:sha1:2005f1c263a942b37d179b9b8f9b7ab343ca7459</id>
<content type='text'>
The dependency relation fields old names were deprecated in 1995
as the new ones were introduced. That seems barely long enough now
as a transition period.
</content>
</entry>
</feed>
