<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test, branch 2.7.7</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.7.7</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.7.7'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2023-11-22T15:33:45Z</updated>
<entry>
<title>Fix the test suite by adding new "m" flags to debug output</title>
<updated>2023-11-22T15:33:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-11-22T15:22:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b0e336787be8a73280cf4cf037295c6347bcbd83'/>
<id>urn:sha1:b0e336787be8a73280cf4cf037295c6347bcbd83</id>
<content type='text'>
In "Restore ?garbage by calling MarkAndSweep before parsing" I
made install code run MarkAndSweep before parsing arguments such
that the "?garbage" pattern works correctly.

This caused test suite breakage because packages now ended up
with marked flags in the debug output. Hence add "m" to the output
we assert where necessary.

In a nicer world we might want to just do MarkAndSweep if we actually
have a ?garbage pattern to evaluate but that is a bit unpredictable
in terms of performance expectations and because a "read-only" construct
modifies the depcache, so let's go with the more expected option for now

Regression-of: b6f362e8013b03efce54e7381e0e22fac1fa1539
</content>
</entry>
<entry>
<title>Restore ?garbage by calling MarkAndSweep before parsing</title>
<updated>2023-11-20T09:04:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-11-20T09:02:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b6f362e8013b03efce54e7381e0e22fac1fa1539'/>
<id>urn:sha1:b6f362e8013b03efce54e7381e0e22fac1fa1539</id>
<content type='text'>
This ensures that things work correctly.

LP: #1995790
</content>
</entry>
<entry>
<title>Use different variable name in GTest source path detection</title>
<updated>2023-11-18T13:40:40Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2023-11-18T13:40:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1f5ecf5d211a073892e05047becd4e55f3e055c9'/>
<id>urn:sha1:1f5ecf5d211a073892e05047becd4e55f3e055c9</id>
<content type='text'>
We used GTEST_ROOT, which becomes an issue with 3.27 as that variable
would influence find_package behaviour by providing PREFIXES –
introduced with potentially mixed-cased name in 3.12.

CMake Warning (dev) at test/libapt/CMakeLists.txt:8 (find_package):
  Policy CMP0144 is not set: find_package uses upper-case &lt;PACKAGENAME&gt;_ROOT
  variables.  Run "cmake --help-policy CMP0144" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  CMake variable GTEST_ROOT is set to:

    /usr/src/googletest/googletest

  For compatibility, find_package is ignoring the variable, but code in a
  .cmake module might still use it.

As using this new feature isn't what we wanted at all, we just use a
different variable name to avoid the warning and potential future
problems if we would keep using this name.
</content>
</entry>
<entry>
<title>Compare SHA256 to check if versions are really the same</title>
<updated>2023-08-02T10:04:32Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-08-01T11:59:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5576e7f76da73f3f5217f90d816cc19b6c0a5a77'/>
<id>urn:sha1:5576e7f76da73f3f5217f90d816cc19b6c0a5a77</id>
<content type='text'>
If we know both SHA256, and they're different, the packages are. This
approach stores the SHA256 only at runtime, avoiding the overhead of
storing it on-disk, because when we update repositories we update all
of them anyhow.

Note that pkgCacheGenerator is hidden, so we can just modify its
ABI, hooray.

Closes: #931175
LP: #2029268
</content>
</entry>
<entry>
<title>Merge branch 'pu/ubuntu-bug-2025462' into 'main'</title>
<updated>2023-07-11T13:47:17Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2023-07-11T13:47:17Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7bb2b81090b1a5bd9ebb49a0d9fd5cfd9ddab95f'/>
<id>urn:sha1:7bb2b81090b1a5bd9ebb49a0d9fd5cfd9ddab95f</id>
<content type='text'>
dist-upgrade: Revert phased updates using keeps only

See merge request apt-team/apt!299</content>
</entry>
<entry>
<title>Do not mark updates for install that are still phasing</title>
<updated>2023-07-07T12:28:59Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-07-07T12:24:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=68ef41ea912f4879b0ee43419c13a3a8c9bfcd22'/>
<id>urn:sha1:68ef41ea912f4879b0ee43419c13a3a8c9bfcd22</id>
<content type='text'>
This fixes an issue where phased updates gain new dependencies
and cause them to be installed despite themselves not being
installed.

In the cause of investigation, it turned out that we also need
to evaluate the candidate version at those early stage rather
than the install version (which is only valid *after* MarkInstall).

This does not fully resolve the problem: If an update pulls in
a phased update, depends are still being installed. Resolving
this while ensuring that phased updates cannot uninstall packages
requires us to do a minimization of changes by trying to keep
back each new install removal and then seeing if any dependency
is being broken by it. This is more complex and will happen
later.
</content>
</entry>
<entry>
<title>dist-upgrade: Revert phased updates using keeps only</title>
<updated>2023-07-05T08:57:26Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-07-03T09:13:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=89dd48bdea93849246fc33b447d6d7ad52bb1c4b'/>
<id>urn:sha1:89dd48bdea93849246fc33b447d6d7ad52bb1c4b</id>
<content type='text'>
In the bug, mutter was kept back due to phasing and the new gnome-shell
depended on that, and was therefore kept back as well, however,
gnome-shell-common was not broken, and apt decided to continue upgrading
it by removing gnome-shell and the ubuntu desktop meta packages.

This is potentially a regression of LP#1990586 where we added keep
back calls to the start of the dist-upgrade to ensure that we do not
mark stuff for upgrade in the first place that depends on phasing
updates, however it was generally allowed by the resolver to also
do those removals.

To fix this, we need to resolve the update normally and then use
ResolveByKeepInternal to keep back any changes broken by held back
packages.

However, doing so breaks test-bug-591882-conkeror because ResolveByKeep
keeps back packages for broken Recommends as well, which is not
something we generally want to do in a dist-upgrade after we already
decided to upgrade it.

To circumvent that issue, extend the pkgProblemResolver to allow
a package to be policy broken, and mark all packages that already
were already going to be policy broken to be allowed to be that,
such that we don't try to undo their installs.

LP: #2025462
</content>
</entry>
<entry>
<title>update: Add notice about missing Signed-By in deb822 sources</title>
<updated>2023-06-27T17:21:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-06-27T17:14:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=aba813975abb880f8b27d659147f7760c02f99e7'/>
<id>urn:sha1:aba813975abb880f8b27d659147f7760c02f99e7</id>
<content type='text'>
We want to gently steer users towards having Signed-By for each
source such that we can retire a shared keyring across sources
which improves resilience against configuration issues and
incompetent malicious actors.
</content>
</entry>
<entry>
<title>Ensure that Snapshots: no doesn't get overriden by host-name config</title>
<updated>2023-05-24T09:22:44Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-05-24T09:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4e35e5079f589700b4b5f1fc00787144bc1c58bf'/>
<id>urn:sha1:4e35e5079f589700b4b5f1fc00787144bc1c58bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Seed snapshot servers for well-known hosts</title>
<updated>2023-05-24T09:22:44Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-05-17T15:18:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=48cbc5413fb2a0e490c2282b9df65da96ad7a9f2'/>
<id>urn:sha1:48cbc5413fb2a0e490c2282b9df65da96ad7a9f2</id>
<content type='text'>
This will attempt to fallback to a per-server setting if we could
not determine a value from the release file.
</content>
</entry>
</feed>
