<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/cachefile.h, branch 2.7.10</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.7.10</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.7.10'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2021-04-26T11:00:24Z</updated>
<entry>
<title>Call MarkAndSweep only manually in apt-get for autoremove</title>
<updated>2021-04-26T11:00:24Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-03-18T16:37:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d6f3458badf2cfea3ca7de7632ae31daff5742be'/>
<id>urn:sha1:d6f3458badf2cfea3ca7de7632ae31daff5742be</id>
<content type='text'>
An interactive tool like aptitude needs these flags current far more
often than we do as a user can see them in apt only in one very well
defined place – the autoremove display block – so we don't need to run
it up to four times while a normal "apt install" is processed as that is
just busywork.

The effect on runtime is minimal, as a single run doesn't take too long
anyhow, but it cuts down tremendously on debug output at the expense of
requiring some manual handholding.

This is opt-in so that aptitude doesn't need to change nor do we need to
change our own tools like "apt list" where it is working correctly as
intended.

A special flag and co is needed as we want to prevent the ActionGroup
inside pkgDepCache::Init to be inhibited already so we need to insert
ourselves while the DepCache is still in the process of being built.
This is also the reason why the debug output in some tests changed to
all unmarked, but that is fine as the marking could have been already
obsoleted by the actions taken, just inhibited by a proper action group.
</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>cachefile: 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-26T10:50:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=29a63ffeffbecdb6dc3202cf0c42419d9a795735'/>
<id>urn:sha1:29a63ffeffbecdb6dc3202cf0c42419d9a795735</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pkgCacheFile: Only unlock in destructor if locked before</title>
<updated>2018-09-24T10:13:03Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2018-09-24T09:38:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e02297b8e22dae04872fe6fab6dba966de65dbba'/>
<id>urn:sha1:e02297b8e22dae04872fe6fab6dba966de65dbba</id>
<content type='text'>
pkgCacheFile's destructor unlocks the system, which is confusing
if you did not open the cachefile with WithLock set. Create a private
data instance that holds the value of WithLock.

This regression was introduced in commit b2e465d6d32d2dc884f58b94acb7e35f671a87fe:

    Join with aliencode
    Author: jgg
    Date: 2001-02-20 07:03:16 GMT
    Join with aliencode

by replacing a "Lock" member that was only initialized when the lock
was taken by calls to Lock, UnLock; with the latter also taking place
if the former did not occur.

Regression-Of: b2e465d6d32d2dc884f58b94acb7e35f671a87fe
LP: #1794053
</content>
</entry>
<entry>
<title>Drop cacheiterators.h include</title>
<updated>2017-07-12T11:56:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c46f94aa48a9707668c46118b3eec77ff318b78c'/>
<id>urn:sha1:c46f94aa48a9707668c46118b3eec77ff318b78c</id>
<content type='text'>
Including cacheiterators.h before pkgcache.h fails because
pkgcache.h depends on cacheiterators.h.
</content>
</entry>
<entry>
<title>reimplement build-dep via apts normal resolver</title>
<updated>2016-01-25T17:15:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-01-21T22:22:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a249b3e6fd798935a02b769149c9791a6fa6ef16'/>
<id>urn:sha1:a249b3e6fd798935a02b769149c9791a6fa6ef16</id>
<content type='text'>
build-dep was implemented by parsing the build-dependencies of a package
and figuring out which packages to install/remove based on this. That
means that for the first level of dependencies build-dep was
implementing its very own resolver with all the benefits (aka: bugs)
this gives us for not using the existing resolver for all levels.

Making this work involves generating a dummy binary package with fitting
Depends and Conflicts and as we can't create them out of thin air the
cache generation needs to be involved so we end up writing a Packages
file which we want to parse – after we have parsed the other Packages
files already. With .dsc/.deb files we could add them before we started
parsing anything.

With a bit of care we can avoid generating too much data we have to
throw away again (as many parts assume that e.g. the count of packages
doesn't change midair), so that on a speed front there shouldn't be
much of a difference, but output can be slightly confusing as if we have
a completely valid cache on disk the "Reading package lists... Done" is
printed two times – but apt is pretty quick about it in that case.

Closes: #137560, #444930, #489911, #583914, #728317, #812173
</content>
</entry>
<entry>
<title>add messages to our deprecation warnings in libapt</title>
<updated>2015-11-27T14:40:47Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-11-27T14:40:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5dd00edbcf702cac1ea22392796c65881a8ef6f9'/>
<id>urn:sha1:5dd00edbcf702cac1ea22392796c65881a8ef6f9</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>show or-groups in not-installed recommends and suggests lists</title>
<updated>2015-08-10T15:27:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-13T01:36:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9112f77703c39d46e2e0471c48c8a5e1f93f4abf'/>
<id>urn:sha1:9112f77703c39d46e2e0471c48c8a5e1f93f4abf</id>
<content type='text'>
Further abstracting our new ShowList allows to use it for containers of
strings as well giving us the option to implement an or-groups display
for the recommends and suggests lists which is a nice trick given that
it also helps with migrating the last remaining other cases of old
ShowList.
</content>
</entry>
<entry>
<title>make all d-pointer * const pointers</title>
<updated>2015-08-10T15:25:25Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-06-17T07:29:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6c55f07a5fa3612a5d59c61a17da5fe640eadc8b'/>
<id>urn:sha1:6c55f07a5fa3612a5d59c61a17da5fe640eadc8b</id>
<content type='text'>
Doing this disables the implicit copy assignment operator (among others)
which would cause hovac if used on the classes as it would just copy the
pointer, not the data the d-pointer points to. For most of the classes
we don't need a copy assignment operator anyway and in many classes it
was broken before as many contain a pointer of some sort.

Only for our Cacheset Container interfaces we define an explicit copy
assignment operator which could later be implemented to copy the data
from one d-pointer to the other if we need it.

Git-Dch: Ignore
</content>
</entry>
</feed>
