<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/pkgsystem.h, branch 2.7.12</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.7.12</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.7.12'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2020-02-26T19:36:52Z</updated>
<entry>
<title>apt(8): Wait for frontend and cache lock</title>
<updated>2020-02-26T19:36:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T19:31:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=93e1565796b61eb44bec39f50e09a34cbe090178'/>
<id>urn:sha1:93e1565796b61eb44bec39f50e09a34cbe090178</id>
<content type='text'>
This is a rework of !6 with additional stuff for the frontend
lock, so we can lock the frontend lock and then keep looping
over dpkg lock.
</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>pkgsystem: Drop more virtual workaround shenanigans</title>
<updated>2020-02-26T13:30:03Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T13:29:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=da7de99f8473ae0ac90c90fad3eee80f5f72889a'/>
<id>urn:sha1:da7de99f8473ae0ac90c90fad3eee80f5f72889a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix typos reported by codespell in code comments</title>
<updated>2019-07-10T14:15:30Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2019-07-10T14:15:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5cfbc5727dba2f4662d24cf4deb7cab7cdd57c14'/>
<id>urn:sha1:5cfbc5727dba2f4662d24cf4deb7cab7cdd57c14</id>
<content type='text'>
Also in old changelogs, but nothing really user visible
like error messages or alike so barely noteworthy.

Reported-By: codespell
Gbp-Dch: Ignore
</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>Add support for dpkg frontend lock</title>
<updated>2018-08-07T13:07:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-01-29T12:05:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c2c8b4787b0882234ba2772ec7513afbf97b563a'/>
<id>urn:sha1:c2c8b4787b0882234ba2772ec7513afbf97b563a</id>
<content type='text'>
The dpkg frontend lock is a lock dpkg tries to acquire
except if the frontend already acquires it.

This fixes a race condition in the install command where the
dpkg lock is not held for a short period of time between
different dpkg invocations.

For this reason we also define an environment variable
DPKG_FRONTEND_LOCKED for dpkg invocations so dpkg knows
not to try to acquire the frontend lock because it's held
by a parent process.

We can set DPKG_FRONTEND_LOCKED only if the frontend lock
really is held; that is, if our lock count is greater than 0
- otherwise an apt client not using the LockInner family of
functions would run dpkg without the frontend lock set, but
with DPKG_FRONTEND_LOCKED set. Such a process has a weaker
guarantee: Because dpkg would not lock the frontend lock
either, the process is prone to the existing races, and,
more importantly, so is a new style process.

Closes: #869546

[fixups: fix error messages, add public IsLocked() method, and
 make {Un,}LockInner return an error on !debSystem]
</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>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>
<entry>
<title>implement a public pkgSystem::ArchitecturesSupported</title>
<updated>2015-11-04T17:04:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-15T12:12:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=825db89094a8413dcc9c8ef3abe0a45b0bb7a2e2'/>
<id>urn:sha1:825db89094a8413dcc9c8ef3abe0a45b0bb7a2e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>implement a public pkgSystem::MultiArchSupported</title>
<updated>2015-11-04T14:02:36Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-15T10:44:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8d6d3f00b14217e69ecabd68379b1e29bf4a3ccd'/>
<id>urn:sha1:8d6d3f00b14217e69ecabd68379b1e29bf4a3ccd</id>
<content type='text'>
Some codepaths need to check if the system (in our case usually dpkg)
supports MultiArch or not. We had copy-pasted the check so far into
these paths, but having it as a system check is better for reusability.
</content>
</entry>
</feed>
