<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration, branch 2.9.31</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.31</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.31'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-02-27T12:26:14Z</updated>
<entry>
<title>test-apt-ftparchive-cachedb: Avoid race condition in test case</title>
<updated>2025-02-27T12:26:14Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-27T12:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b2d534b458f911eba7b4b0d71ae2ae31174ced32'/>
<id>urn:sha1:b2d534b458f911eba7b4b0d71ae2ae31174ced32</id>
<content type='text'>
apt-ftparchive skips regenerating Contents if they are newer than
the Packages files. Most of the time, the test ended up generating
Contents and Packages files with the same-second timestamp; so we
ended up regenerating them and passing the test.

However, sometimes, the timestamp of the Contents file was 1s
higher and we ended up not regenerating the Contents file and
hence failed the test case.

Ensure the timestamps actually are the same to avoid the race
condition and make this stable.
</content>
</entry>
<entry>
<title>Fix crash in VersionExtra using --with-source etc</title>
<updated>2025-02-24T12:24:17Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-24T12:18:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=55d3bc60f933faf5f46e31c0522bed8320409dcf'/>
<id>urn:sha1:55d3bc60f933faf5f46e31c0522bed8320409dcf</id>
<content type='text'>
VersionExtra holds, at runtime, the SHA256 of the packages being
added to try to avoid deduplicating obviously different packages;
the SHA256 itself is too large to store in the cache.

When volatile sources are used, the VersionExtra array is not
initialized, or rather it used to be initialized to 32*1024
zero elements as a performance optimization.

This meant that specifying --with-source with a package that
looks like a duplicate of a version with an ID &gt;= 32*1024 triggered
the assertion; so we could not reproduce it easily in the test
suite.

Remove the optimized initialization to make the behavior more
uniform; and treat too large version IDs as having no SHA256.

Closes: #1098702
</content>
</entry>
<entry>
<title>test: Improve output cleaning for solver progress</title>
<updated>2025-02-18T14:48:49Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-18T14:46:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=815d5b01bf9be1d476b110050b20ae980c76d4a8'/>
<id>urn:sha1:815d5b01bf9be1d476b110050b20ae980c76d4a8</id>
<content type='text'>
We don't really care about solver progress messages in testing;
hide them when comparing output, and hide them better than before.

Previously testsuccessequal ... --solver 3.0 behaved differently
than tests run with globally forced on 3.0 solver.

Stop cleaning up autoremovals, but do clean up "Calculating upgrade"
as well.
</content>
</entry>
<entry>
<title>solver3: Fix test-apt-move-and-forget-manual-sections</title>
<updated>2025-02-18T09:56:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-17T20:42:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4175a005f98dba139208035d820bcc14de711a5a'/>
<id>urn:sha1:4175a005f98dba139208035d820bcc14de711a5a</id>
<content type='text'>
Implement the moving of the auto bit. The whole auto-bit management
is not entirely optimal yet, but this works.
</content>
</entry>
<entry>
<title>solver3: Only enqueue shared dependencies at the package level</title>
<updated>2025-02-14T18:08:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-05T19:37:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=943562a4ed2ddc80b84466d85e821037937f8b5c'/>
<id>urn:sha1:943562a4ed2ddc80b84466d85e821037937f8b5c</id>
<content type='text'>
Dependencies shared by all versions are enqueued at the package
level, so avoid enqueuing duplicates at the version level. This
presumably has no meaningful impact on performance, potentially
a negative performance impact on some workloads as we now need
to find the duplicates again; it can become useful when there
is a lot of backtracking.

More importantly though this improves error messages, because
now we can say that "all versions of foo depend on X", rather
than saying "foo=1 depends on X" and you are left wondering
why we did not select "foo=2".

In this commit though, improved error messages are not implemented,
they depend on redesigning the reason tracking to use clauses.

Also the rationale tracking includes a lot more dependencies of
the form "pkg:arch=version -&gt; pkg:arch" which are annoying. Improved
error messages should fold them into one node.
</content>
</entry>
<entry>
<title>solver3: Remove work rescoring in favor of unit propagation</title>
<updated>2025-02-14T18:08:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-12T19:39:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2050ecb34a9e18cf1d8edbff8c52d456a7229162'/>
<id>urn:sha1:2050ecb34a9e18cf1d8edbff8c52d456a7229162</id>
<content type='text'>
Instead of expensive rescoring of all outstanding items, use
unit propagation to find new units after conflicts.

We still count the items when adding them; but unless they are
0 or 1, which they should not be, they don't have any effect:
The size field is now effectively static.

If the size of an optional clause changed to 1, it is inserted
a second time, and then moves up to the top of the optional
items per the Work::operator&lt; rules.
</content>
</entry>
<entry>
<title>test: Remove long obsolete FIXME for solver3</title>
<updated>2025-02-14T18:08:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-11T23:19:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=87f55c2bf50bbe4ba66e50e3b8bacd6d841fd1ab'/>
<id>urn:sha1:87f55c2bf50bbe4ba66e50e3b8bacd6d841fd1ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test: Annotate the broken test cases</title>
<updated>2025-02-14T18:08:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-11T23:07:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cfb8a9e8610d9595a6c1f8368835e7cfbcf67cc5'/>
<id>urn:sha1:cfb8a9e8610d9595a6c1f8368835e7cfbcf67cc5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test-ubuntu-bug-614993: Avoid implicit upgrade-by-source requirement</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:13:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9028df1955a914230ba772776bac7fa0fb530ecf'/>
<id>urn:sha1:9028df1955a914230ba772776bac7fa0fb530ecf</id>
<content type='text'>
This allows it to work with solver3 before that feature is implemented.

This essentially reverts the change to that test made in
119a8d0ed19a4e946591b9aef7d662e14ca7ece5
</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>
</feed>
