<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 2.1.6</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.1.6</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.1.6'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2020-06-03T11:41:14Z</updated>
<entry>
<title>Deal with duplicates in the solution space of a dep</title>
<updated>2020-06-03T11:41:14Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-03T11:03:37Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=96359a576f59eb8bc461bdd4c5eadeb17fe8f0ca'/>
<id>urn:sha1:96359a576f59eb8bc461bdd4c5eadeb17fe8f0ca</id>
<content type='text'>
While we process the possible solutions we might modify other solutions
like discarding their candidates and such, so that then we reach them
they might no longer be proper candidates. We also try to drop
duplicates early on to avoid the simple cases of these which
test-explore-or-groups-in-markinstall triggers via its explicit
duplication but could also come via multiple provides.

It only worked previously as were ignoring current versions which
usually is okay expect if they are marked for removal and we want to
reinstate them so the ProblemResolver can decide which one later on.
</content>
</entry>
<entry>
<title>Allow 20 instead of 10 loops for pkgProblemResolver</title>
<updated>2020-06-03T10:55:02Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-03T10:55:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=771ddb195586c638cbfc635fa6726733532bcfd0'/>
<id>urn:sha1:771ddb195586c638cbfc635fa6726733532bcfd0</id>
<content type='text'>
Especially if a lot packages have to be removed due to not to explicitly
expressed conflicts the problem resolver can take a few turns to remove
them all. Allowing it to try a little longer if needed seems beneficial
as the worst which can happen is that we now take two times as long to
present an error message to the user.
</content>
</entry>
<entry>
<title>Consider if a fix is successful before claiming it is</title>
<updated>2020-06-02T11:14:30Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-02T10:47:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8218c642342e431d7e69831bd1a6741b40345bf1'/>
<id>urn:sha1:8218c642342e431d7e69831bd1a6741b40345bf1</id>
<content type='text'>
For protected packages the "Fixing" done via KillList in the
ProblemResolver will usually not happen as the state change is not
allowed, so the debug message is just confusing and the resolver is
needlessly looping here (which might push it over the edge), so if we
didn't do our thing successfully here we short-circuit a bit to help the
next iteration come to a solution.
</content>
</entry>
<entry>
<title>Consider protected packages for removal if they are marked as such</title>
<updated>2020-05-29T10:46:59Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-29T10:46:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=33e19f1fe1655e2d6883ff8d30226fb7db02dd45'/>
<id>urn:sha1:33e19f1fe1655e2d6883ff8d30226fb7db02dd45</id>
<content type='text'>
The pkgProblemResolver incorrectly skips protected packages while
considering packages for removal, which was always wrong but is now a
lot more visible as (potentially) far more packages are considered
protected in their state.

Note that the testcase shows that we need more changes to make this
proper.
</content>
</entry>
<entry>
<title>Fix small memory leak in MethodConfig</title>
<updated>2020-05-27T09:14:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-27T08:27:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1941515e1c96f9c33d63e426049d9dad5420c580'/>
<id>urn:sha1:1941515e1c96f9c33d63e426049d9dad5420c580</id>
<content type='text'>
We are leaking a d-pointer currently weighting a boolean in size and
MethodConfig is instantiated in small numbers only, so nobody will
actually notice a difference, but proper cleanup is important.

Reported-By: clang LeakSanitizer
References: 04ab37fecaf286f724bef2e0969d2b67ab5ac1b1
</content>
</entry>
<entry>
<title>Mark PatternTreeParser::Node destructor as virtual</title>
<updated>2020-05-25T10:05:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-14T09:24:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=10f87f7e3f08335421fd60a2b49840289cd737de'/>
<id>urn:sha1:10f87f7e3f08335421fd60a2b49840289cd737de</id>
<content type='text'>
The non-virtual base-destructor causes its derivate classes to leak
tiny bits of memory otherwise. The header is private and not to be
used outside of APT, so we can perform this tiny ABI break as there
is no ABI to break.

Reported-By: valgrind and clang -fsanitize=leak
</content>
</entry>
<entry>
<title>Allow FMV SSE4.2 detection to succeed on clang</title>
<updated>2020-05-25T10:05:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-21T20:17:42Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=574249cd721a3cdbb79b6e457384a55827856b6a'/>
<id>urn:sha1:574249cd721a3cdbb79b6e457384a55827856b6a</id>
<content type='text'>
As the builtins were used in the feature test also in the default branch
clang fails to compile the test helpfully complaining that you need to
compile with sse4.2 to use that while on gcc it is optimized out as
unused code and produces only a warning for that… removing the code from
the default branch fixes this problem, but we adapt the code some more to
avoid compilers optimizing it out in the future just in case.
</content>
</entry>
<entry>
<title>Silence clang warning -Wstring-plus-int</title>
<updated>2020-05-25T10:05:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-24T14:36:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c3bfdbfa3ae868515a67142d2df6200a3cb34d35'/>
<id>urn:sha1:c3bfdbfa3ae868515a67142d2df6200a3cb34d35</id>
<content type='text'>
../apt-pkg/init.cc:137:39: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
   Cnf.CndSet("Dir::State", STATE_DIR + 1);
../apt-pkg/init.cc:137:39: note: use array indexing to silence this warning

We have a few instances of that &amp; it should be reasonably clear that we are not
actually trying to append here, but ignoring or silencing this warning with an
override is far more costly than just using what clang suggests here.

Reported-By: clang
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>Ensure EDSP doesn't use a dangling architecture string</title>
<updated>2020-05-25T10:05:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-24T14:27:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=90a7a5e32643a67f4245460e7659d9dee230e9e7'/>
<id>urn:sha1:90a7a5e32643a67f4245460e7659d9dee230e9e7</id>
<content type='text'>
../apt-pkg/edsp.cc:861:23: error: object backing the pointer will be destroyed at the end of the full-expression [-Wdangling-gsl]
   const char *arch = _config-&gt;Find("APT::Architecture").c_str();

Compilers are probably optimizing it the way the patch does by hand now. Small
string optimisation helps likely as well. Othwise that should have failed left
and right as EDSP is used by experimental and such builders to talk to aspcud.

Reported-By: clang
</content>
</entry>
<entry>
<title>Don't update candidate provides map if the same as current</title>
<updated>2020-05-25T10:05:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-23T15:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c77566fd8f21a1a44efb4092c90996d1cc8eaf24'/>
<id>urn:sha1:c77566fd8f21a1a44efb4092c90996d1cc8eaf24</id>
<content type='text'>
</content>
</entry>
</feed>
