<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration/test-external-dependency-solver-protocol, branch 2.7.14</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.7.14</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.7.14'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2022-09-02T14:55:45Z</updated>
<entry>
<title>Avoid dealing with a fake dpkg stanza in the tests</title>
<updated>2022-09-02T14:55:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-08-31T19:49:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3498fbedafbf30e5c91deeaefa6a60d1e387593a'/>
<id>urn:sha1:3498fbedafbf30e5c91deeaefa6a60d1e387593a</id>
<content type='text'>
We needed a fake dpkg in our status file for dpkg --assert-multi-arch to
work in the past, but recent dpkg versions do not require this anymore,
so we can remove this somewhat surprising hackery in favour of better
hidden hackery we only use if we work with an older dpkg (e.g. on
current Debian stable).
</content>
</entry>
<entry>
<title>Deduplicate EDSP Provides line of M-A:foreign packages</title>
<updated>2020-06-14T08:19:39Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-14T07:48:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a1464cb4025cd737ac57ea7392402d5efd2af027'/>
<id>urn:sha1:a1464cb4025cd737ac57ea7392402d5efd2af027</id>
<content type='text'>
M-A:foreign causes Provides to apply to all architectures and as we
wanted to avoid resolver changes for M-A those are done by explicitly
creating these provides instead of forcing the resolvers to learn about
this. The EDSP is a different beast though &amp; we don't need this trick
here especially as it leads to needless (but harmless) duplication.

No sort+unique is done to avoid changing order (not that it should
matter, but just to be sure), but the sets should be small enough to not
make a huge difference either way.
</content>
</entry>
<entry>
<title>Tell EDSP solvers about all installed pkgs ignoring arch</title>
<updated>2020-06-14T08:19:39Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-13T09:45:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=419190f6c17aaf750887ec7471599681377fb01b'/>
<id>urn:sha1:419190f6c17aaf750887ec7471599681377fb01b</id>
<content type='text'>
We usually tell EDSP solvers only about architectures we are configured
to treat as native/foreign, but the system could have packages from
other architectures installed (even if very unlikely) which could
influence the solution (e.g. requiring a removal) so we make sure to
tell them.
</content>
</entry>
<entry>
<title>Do not sent our filename-provides trick to EDSP solvers</title>
<updated>2020-06-14T08:19:39Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-13T09:36:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=71d753b5e450a99f7f6677fe4899515aaec7e585'/>
<id>urn:sha1:71d753b5e450a99f7f6677fe4899515aaec7e585</id>
<content type='text'>
If package is installed via an explicitly given deb file we store the
filename as a provides, so that the frontend can request the filename
and get the usual "Selected foo instead of foo.deb" message.

We do not need to trouble the EDSP solvers with that though as these
provides are not valid in various ways and we have already solved the
link between commandline and package (and version) for them.

Closes: #962741
</content>
</entry>
<entry>
<title>ensure generation of valid EDSP error stanzas</title>
<updated>2016-12-31T01:29:20Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-12-29T10:20:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0161280405fe5aa256dc9df6a56106dd3a1a6f38'/>
<id>urn:sha1:0161280405fe5aa256dc9df6a56106dd3a1a6f38</id>
<content type='text'>
The crude way of preparing a message to be a multiline value failed at
generation valid deb822 in case the error message ended with a new line
like the resolving errors from apt do. apt itself can parse these, but
other tools like grep-dctrl choke on it, so be nice and print valid.

Reported-By: Johannes 'josch' Schauer on IRC
</content>
</entry>
<entry>
<title>edsp: try 2 to read responses even if writing failed</title>
<updated>2016-09-07T08:21:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-09-07T08:21:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=12b201da7c1d5e2beceae796151e4ebedc5bae97'/>
<id>urn:sha1:12b201da7c1d5e2beceae796151e4ebedc5bae97</id>
<content type='text'>
Commit b60c8a89c281f2bb945d426d2215cbf8f5760738 improved the situation,
but due to inconsistency mostly for planners, not for solvers. As the
idea of hiding errors if we show another error is a bit scary (as the
extern error might be a followup of our intern error, rather than the
reason for our intern error as it is at the moment) we don't discard the
errors, but if we got an extern error we show them directly removing
them from the error list at the end of the run – that list will contain
the extern error which hopefully gives us the best of both worlds.

The problem itself is the same as before: The externals exiting before
apt is done talking to them.

Reported-By: Johannes 'josch' Schauer on IRC
</content>
</entry>
<entry>
<title>Always pass a directory to find before an option</title>
<updated>2016-08-26T20:17:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-08-24T00:22:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=bd95e2b29d1048f4c8ada07def7b1a5da5eb7716'/>
<id>urn:sha1:bd95e2b29d1048f4c8ada07def7b1a5da5eb7716</id>
<content type='text'>
On BSD systems, we cannot simply use find -name or stuff, we
always have to pass a directory name first.

Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>test: Use printf "%b\n" instead of echo for strings with '\'</title>
<updated>2016-08-26T20:17:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-08-23T23:40:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=76325a660e09d3af503c292ae12c9de2830994e5'/>
<id>urn:sha1:76325a660e09d3af503c292ae12c9de2830994e5</id>
<content type='text'>
Use of echo with special characters is not portable. On a normal
POSIX system, the behavior with backslash escaped strings is
implementation-defined. On an XSI-conformant system, they must
be interpreted.

A way out is the printf command - printf "%b" specifies that
the following argument is to be printed with backslash escapes
interpreted.

Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>edsp: optionally store a compressed copy of the last scenario</title>
<updated>2016-06-08T11:07:21Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-06-07T15:01:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=385d9f2f23057bc5808b5e013e77ba16d1c94da4'/>
<id>urn:sha1:385d9f2f23057bc5808b5e013e77ba16d1c94da4</id>
<content type='text'>
For bugreports and co it could be handy to have the scenario and all the
settings used in it around later for inspection for EDSP like protocols.
EDSP might not be the most interesting as the user can still interrupt
the process before the solution is applied and users tend to have an
opinion on the "rightness" of a solution, so it is disabled by default.
</content>
</entry>
<entry>
<title>edsp: use an ID mapping for the internal solver</title>
<updated>2016-06-04T16:45:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-06-04T16:45:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=307d9eb2d13ee59191b86ffec2f36ba3fffc5c20'/>
<id>urn:sha1:307d9eb2d13ee59191b86ffec2f36ba3fffc5c20</id>
<content type='text'>
Currently an EDSP solver gets send basically all versions which means
the absolute count is the same, but that might not be true forever (and
with the skipping of rc-only versions it kinda is already) and even if
it were true, segfaulting on bad input seems wrong.
</content>
</entry>
</feed>
