<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 2.9.4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-05-24T15:01:55Z</updated>
<entry>
<title>solver3: Fix translations of removals for marked install</title>
<updated>2024-05-24T15:01:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-23T11:24:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4a2b89be6fa73b9c193d5b70e11a9305272efc3e'/>
<id>urn:sha1:4a2b89be6fa73b9c193d5b70e11a9305272efc3e</id>
<content type='text'>
We also need to issue a MarkDelete() if the package is marked for
installation currently but should not be, not only if it did not
have a previous version.

This fixes the final test in test-multiarch-barbarian, the others
only needed adjustments to mark all packages as automatic.
</content>
</entry>
<entry>
<title>solver3: Actually restore unsolved items rather than solved ones</title>
<updated>2024-05-24T15:01:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-21T14:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=aaa9e415ce48964726401462767d6038da6d82e7'/>
<id>urn:sha1:aaa9e415ce48964726401462767d6038da6d82e7</id>
<content type='text'>
When restoring previously solved items, we try to restore items
that have become unsolved again by skipping items that have a
solved solution.

Well at least we thought we did, but we accidentally had a "not"
in there that inverted the meaning, hence we lost work items on
backtracking.

This mostly did not seem to have caused any issues, I stumbled
over it while trying to add `autoremove` listings to `upgrade`,
but fixing it also fixes:

    test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings

This used to say "E: Broken packages", meaning the solver lost
a non-optional install request and the 2nd stage solver caught
an incomplete solution.

Also test-bug-735967-lib32-to-i386-unavailable restores the legacy
solver behavior, so win win?
</content>
</entry>
<entry>
<title>solver3: Use stable sort</title>
<updated>2024-05-24T15:01:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-21T11:19:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=808f51e800a9d6a834723fe1d1fdff98ee14d7b5'/>
<id>urn:sha1:808f51e800a9d6a834723fe1d1fdff98ee14d7b5</id>
<content type='text'>
While it seems that libstdc++ is using stable_sort for sort,
we should make this explicit: We don't want items in our queues
to move ahead of earlier items of the same priority.

i.e. consider dependencies, they are grouped by package, we don't
want the sort algorithm to move B=2 ahead if A|B (which expands to
A=2|A=1|B=2|B=1).
</content>
</entry>
<entry>
<title>solver3: Solve optional dependencies before optional packages</title>
<updated>2024-05-24T15:01:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-20T12:59:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cd245a57f273d3c069543c19d6ac31c84879ce7b'/>
<id>urn:sha1:cd245a57f273d3c069543c19d6ac31c84879ce7b</id>
<content type='text'>
This somewhat improves reliability of not breaking Recommends, e.g.
if the Recommends gets tightened. One test case enabled by this now
is the test-resolver-provider-exchange, which with a simple change
to allow removal of automatically installed packages works now.
</content>
</entry>
<entry>
<title>solver3: Promote satisfied Suggests to Recommends</title>
<updated>2024-05-24T15:01:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-19T19:24:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0fa3b176652ff10276569a478c910ca866a4da5d'/>
<id>urn:sha1:0fa3b176652ff10276569a478c910ca866a4da5d</id>
<content type='text'>
As per the test-suggests-promoted-to-recommends test. This is still
a bit messy as we ignore alternative choices and only check the last
one, but um seems useful?
</content>
</entry>
<entry>
<title>solver3: Try candidate before installed version on upgrade</title>
<updated>2024-05-24T15:01:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-19T15:42:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=acb77872861834d3c5b98ca2e81e0336a388e9f0'/>
<id>urn:sha1:acb77872861834d3c5b98ca2e81e0336a388e9f0</id>
<content type='text'>
This fixes --no-strict-pinning attempting to upgrade all the versions
on the system. Adjust the upgrade test case accordingly:

1) no-strict-pinning pulls in systemd despite it being pinned down due
   to a dependenc (this was true before this fix)
2) no-strict-pinning does not pull in the upgrade-simple because nothing
   depends on it (this is what the test fixes)
</content>
</entry>
<entry>
<title>solver3: Implement APT::Solver::RemoveManual to allow removing manual packages</title>
<updated>2024-05-24T11:43:56Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-24T11:42:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=67a8a6470ddb8a603db02c5fab84aa225dc00f8d'/>
<id>urn:sha1:67a8a6470ddb8a603db02c5fab84aa225dc00f8d</id>
<content type='text'>
This is mostly going to be useful for the test suite for now,
implement a function there to set it up so we can use it to
improve test suite correctness.
</content>
</entry>
<entry>
<title>edsp: solver3: Show some progress</title>
<updated>2024-05-24T10:48:09Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-19T17:32:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4fc6affafafda1aee4cee86294ce7a2b799e2799'/>
<id>urn:sha1:4fc6affafafda1aee4cee86294ce7a2b799e2799</id>
<content type='text'>
Ignore the Solving dependencies... line in the testing framework
for compatibility with the existing test cases.
</content>
</entry>
<entry>
<title>pkgcachegen: Do not try to chmod or write to /dev/null</title>
<updated>2024-05-22T20:48:04Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-22T20:46:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=140d36fd16a3d4f1fce0c54474b946d0577f1fde'/>
<id>urn:sha1:140d36fd16a3d4f1fce0c54474b946d0577f1fde</id>
<content type='text'>
When -o Dir::Cache::pkgcache or -o Dir::Cache is set to /dev/null
we accidentally changed its mode to 0666; which is certainly not
intended. Avoid this issue by exiting the function early if the
file specified is /dev/null.
</content>
</entry>
<entry>
<title>Deal better with spurious spaces in arch restrictions</title>
<updated>2024-05-16T22:15:26Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-05-16T22:15:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3347b7a00682a0498a2602ce3e4e72c2c3d49c75'/>
<id>urn:sha1:3347b7a00682a0498a2602ce3e4e72c2c3d49c75</id>
<content type='text'>
Another instance of our parser written for sane clean input, but
nowadays used also for user-provided input which can contain very many
strange formatting and especially white spaces all over the place.

Closes: #1071219
</content>
</entry>
</feed>
