<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/packagemanager.cc, branch 2.2.0</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.2.0</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.2.0'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2021-01-08T11:38:23Z</updated>
<entry>
<title>Make immediate configuration optional</title>
<updated>2021-01-08T11:38:23Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-01-08T11:36:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c530a192d6a57e091d400cb42f9ce0d5a327ff01'/>
<id>urn:sha1:c530a192d6a57e091d400cb42f9ce0d5a327ff01</id>
<content type='text'>
The benefits of immediate configuration are that Essential packages
will be configured immediately, so if they are wrongly not working
without being configured they won't fail later packages.

However, we've reached the point where dependencies on the essential set
are too complex for immediate configuration to always work, causing
installations to error out at the end, despite having succeeded, because
we did not correctly return the error here and did not check for pending
errors before running dpkg.

Given that we check and configure any packages at the end that have not
been configured yet, or fail if we can't configure them; making
immediate configuration optional is the best way forward - it orders as
it does now, but then does not spuriously fail after having successfully
installed everything.

Closes: #973305, #188161, #211075, #649588
LP: #1871268
</content>
</entry>
<entry>
<title>Do not immediately configure m-a: same packages in lockstep</title>
<updated>2020-11-06T09:51:06Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-10-08T09:50:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2b13473a9b9947f55a0871d146e4fee456b0af60'/>
<id>urn:sha1:2b13473a9b9947f55a0871d146e4fee456b0af60</id>
<content type='text'>
In LP#835625, it was reported that apt did not unpack multi-arch
packages in the correct order, and dpkg did not like that. The fix
also made apt configure packages together, which is not strictly
necessary.

This turned out to cause issues now, because of dependencies on
libc6:i386 that caused immediate configuration of that to not
work.

Work around the issue by not configuring multi-arch: same packages
in lockstep if they have the immediate flag set. This will be the
pseudo-essential set, and given how essential works, we mostly need
the native arch to work correctly anyway.

LP: #1871268
Regression-Of: 30426f4822516bdd26528aa2e6d8d69c1291c8d3
</content>
</entry>
<entry>
<title>Do not produce late error if immediate configuration fails, just warn</title>
<updated>2020-10-21T09:47:29Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-10-21T09:47:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=998a17d7e6f834c341f198ca5b6df2f27e18df38'/>
<id>urn:sha1:998a17d7e6f834c341f198ca5b6df2f27e18df38</id>
<content type='text'>
We are seeing more and more installations fail due to immediate
configuration issues related to libc6. Immediate configuration is
supposed to ensure that an essential package is configured immediately,
just in case some other packages use a part of the essential package
that only works if that package is configured.

This used to be a warning, it was turned into an error in some commit I
can't remember right now, but importantly, the error missed a return,
which means that ordering completed succesfully and packages were being
installed anyway; and after all that happened successfully, we'd print
an error at the end and exit with an error code, which is not super
useful.

Revert the error back to a warning such that the behavior stays the same
but we do not fail (unless we mess up ordering which then gets caught by
a consistency check later on.

Closes: #953260
Closes: #972552
LP: #1871268
</content>
</entry>
<entry>
<title>Merge pkgPackageManager::SmartUnpack</title>
<updated>2020-02-26T13:12:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T13:12:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=dc911bdda7cce03bf2b4dd4cfc37bae044ad9f2a'/>
<id>urn:sha1:dc911bdda7cce03bf2b4dd4cfc37bae044ad9f2a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename pkgSimulate::Go2 to pkgSimulate::Go</title>
<updated>2020-02-26T13:10:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T13:09:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=069c2e86b21e24e05d3ef8b333d50550a38fa5e2'/>
<id>urn:sha1:069c2e86b21e24e05d3ef8b333d50550a38fa5e2</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>packagemanager: 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:07:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0035243ae63ccb22476624ea4294798258377f85'/>
<id>urn:sha1:0035243ae63ccb22476624ea4294798258377f85</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove obsolete RCS keywords</title>
<updated>2018-05-07T11:41:31Z</updated>
<author>
<name>Guillem Jover</name>
<email>guillem@debian.org</email>
</author>
<published>2018-05-06T20:32:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=164f1b78d1849a0f33df7352875f86e28f5de06a'/>
<id>urn:sha1:164f1b78d1849a0f33df7352875f86e28f5de06a</id>
<content type='text'>
Prompted-by: Jakub Wilk &lt;jwilk@debian.org&gt;
</content>
</entry>
<entry>
<title>Reformat and sort all includes with clang-format</title>
<updated>2017-07-12T11:57:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=87274d0f22e1dfd99b2e5200e2fe75c1b804eac3'/>
<id>urn:sha1:87274d0f22e1dfd99b2e5200e2fe75c1b804eac3</id>
<content type='text'>
This makes it easier to see which headers includes what.

The changes were done by running

    git grep -l '#\s*include'  \
        | grep -E '.(cc|h)$' \
        | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/'

To modify all include lines by adding a space, and then running
./git-clang-format.sh.
</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>
</feed>
