<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/depcache.h, branch 2.1.0</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.1.0</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.1.0'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2020-04-27T11:51:46Z</updated>
<entry>
<title>Protect a package while resolving in MarkInstall</title>
<updated>2020-04-27T11:51:46Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-04-27T11:51:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ae23e53f99ea0b7920744a7303fdee64796b7cce'/>
<id>urn:sha1:ae23e53f99ea0b7920744a7303fdee64796b7cce</id>
<content type='text'>
Strange things happen if while resolving the dependencies of a package
said dependencies want to remove the package. The allow-scores test e.g.
removed the preferred alternative in favor of the last one now that they
were exclusive. In our or-group for Recommends we would "just" not
statisfy the Recommends and for Depends we engage the ProblemResolver…
</content>
</entry>
<entry>
<title>Propagate Protected flag to single-option dependencies</title>
<updated>2020-04-27T11:49:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-04-27T11:49:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f76a8d331a81bc7b102bdd4e0f8363e8a59f64f6'/>
<id>urn:sha1:f76a8d331a81bc7b102bdd4e0f8363e8a59f64f6</id>
<content type='text'>
If a package is protected and has a dependency satisfied only by a single
package (or conflicts with a package) this package must be part of the
solution and so we can help later actions not exploring dead ends by
propagating the protected flag to these "pseudo-protected" packages.

An (obscure) bug this can help prevent (to some extend) is shown in
test-apt-never-markauto-sections by not causing irreversible autobit
transfers.

As a sideeffect it seems also to help our crude ShowBroken to display
slightly more helpful messages involving the packages which are actually
in conflict.
</content>
</entry>
<entry>
<title>Fail earlier on impossible Conflicts in MarkInstall</title>
<updated>2020-04-27T11:48:33Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-04-27T11:48:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=347ea3f76ab263c729468e07b910ae027b66c9d8'/>
<id>urn:sha1:347ea3f76ab263c729468e07b910ae027b66c9d8</id>
<content type='text'>
MarkDelete is not recursive as MarkInstall is and we can not conflict
with ourselves anyhow, so we can move the unavoidable deletes before
changing the state of the package in question avoiding the need for the
state update in case of conflicts we can not deal with (e.g. the package
conflicts with an explicit user request).
</content>
</entry>
<entry>
<title>Split up MarkInstall into private helper methods</title>
<updated>2020-04-27T11:47:08Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-04-26T11:14:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=76498d46855c88b90316e4369ac32050db9a9d23'/>
<id>urn:sha1:76498d46855c88b90316e4369ac32050db9a9d23</id>
<content type='text'>
Should be easier to move the code bits around then and it helps in
documenting a bit what the blocks do and how they interact (or not).
</content>
</entry>
<entry>
<title>apt-pkg: default visibility to hidden</title>
<updated>2020-02-26T19:34:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-13T17:15:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=db678df196ccd8f9f6fb336706cf5701d1e53aa6'/>
<id>urn:sha1:db678df196ccd8f9f6fb336706cf5701d1e53aa6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run unifdef -DAPT_{8,9,10,15}_CLEANER_HEADERS</title>
<updated>2019-06-12T13:02:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-05-11T15:17:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=daa1352ed3d2bb4bc6aa0f0e7f22be3f0908942d'/>
<id>urn:sha1:daa1352ed3d2bb4bc6aa0f0e7f22be3f0908942d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make APT::StringView public</title>
<updated>2019-06-11T12:45:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-02-04T18:50:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a6e86d51a0e32cdc91f2902b0d6b483af884dcca'/>
<id>urn:sha1:a6e86d51a0e32cdc91f2902b0d6b483af884dcca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>depcache: Remove deprecated functions</title>
<updated>2019-02-26T15:31:20Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-02-26T12:10:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7062f2a5a1bdb8c0e3c4b3b004e092046d1034ba'/>
<id>urn:sha1:7062f2a5a1bdb8c0e3c4b3b004e092046d1034ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Increase debug verbosity in `apt-get autoremove`</title>
<updated>2018-05-21T16:13:26Z</updated>
<author>
<name>Filipe Brandenburger</name>
<email>filbranden@google.com</email>
</author>
<published>2018-03-07T22:15:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f0c2263dd702d646722b749f7b7d278d15c18c55'/>
<id>urn:sha1:f0c2263dd702d646722b749f7b7d278d15c18c55</id>
<content type='text'>
When running with Debug::pkgAutoRemove=yes, explain why certain packages
are being marked, either because they're marked essential/important or
because they match the blacklist from APT::NeverAutoRemove.

This should help troubleshoot cases where autoremove is not proposing
removal of packages expected to be up for removal.

Tested manually with `apt-get autoremove -o Debug::pkgAutoRemove=yes`.
</content>
</entry>
<entry>
<title>Fix various typos reported by spellcheckers</title>
<updated>2018-05-04T22:34:27Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-05-04T17:56:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b12bdeaf8acd050c5526ecc05526db70df5fd485'/>
<id>urn:sha1:b12bdeaf8acd050c5526ecc05526db70df5fd485</id>
<content type='text'>
Reported-By: codespell &amp; spellintian
Gbp-Dch: Ignore
</content>
</entry>
</feed>
