<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/packagemanager.cc, branch 1.3_exp1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.3_exp1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.3_exp1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-04-28T08:08:32Z</updated>
<entry>
<title>factor out Pkg/DepIterator prettyprinters into own header</title>
<updated>2016-04-28T08:08:32Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-28T07:22:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=84573326f41dd09b914b8374548e7ee7c93d0439'/>
<id>urn:sha1:84573326f41dd09b914b8374548e7ee7c93d0439</id>
<content type='text'>
The old prettyprinters have only access to the struct they pretty print,
which isn't enough usually as we want to know for a package also a bit
of state information like which version is the candidate.

We therefore need to pull the DepCache into context and hence use a
temporary struct which is printed instead of the iterator itself.
</content>
</entry>
<entry>
<title>recheck Pre-Depends satisfaction in SmartConfigure</title>
<updated>2016-04-13T19:33:32Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-13T14:24:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c75e60ebb6bc7a578b57e7c4e01579798bae720b'/>
<id>urn:sha1:c75e60ebb6bc7a578b57e7c4e01579798bae720b</id>
<content type='text'>
Regression introduced in commit 590f1923121815b36ef889033c1c416a23cbe9a2
(2011!) causing apt to not check if Pre-Depends are satisfied before
calling --configure. This managed to hide so perfectly well for years as
Pre-Depends aren't that common, apt prefers upgrading these packages
first and checks for satisfaction is already in SmartUnpack, so there
is only a small window of oppertunity to break a pre-dependency relation
(usually with an unpack).

Verified by logchecking with two provided status files in the buglog.
I would have liked to write a test, but I wasn't able to reach the needed
complexity to get apt to fail – but the change is small and reasonable,
so what could possible go wrong™, right?

LP: #1569099
</content>
</entry>
<entry>
<title>Fix several typos</title>
<updated>2016-03-06T23:14:48Z</updated>
<author>
<name>Veres Lajos</name>
<email>vlajos@gmail.com</email>
</author>
<published>2016-03-06T23:13:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8d89cda7d66b6f125c457f36beeb84abb0df07f1'/>
<id>urn:sha1:8d89cda7d66b6f125c457f36beeb84abb0df07f1</id>
<content type='text'>
This effectively merges branch 'typofixes-vlajos-20150807' of github.com:vlajos/apt
with the following commit:

commit 13cacb3e2e2352ba701e769fc889e3344fabbf7e
Author: Veres Lajos &lt;vlajos@gmail.com&gt;
Date:   Sun Aug 9 00:12:53 2015 +0100

    typofix - https://github.com/vlajos/misspell_fixer

It has been rebased for a better commit message.
</content>
</entry>
<entry>
<title>fix alloc-dealloc-mismatch (operator new [] vs operator delete)</title>
<updated>2015-09-14T13:22:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-11T19:15:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=93a0805bc9afd556e625fb90e98e690b1a847ed4'/>
<id>urn:sha1:93a0805bc9afd556e625fb90e98e690b1a847ed4</id>
<content type='text'>
Reported-By: gcc -fsanitize=address -fno-sanitize=vptr
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>avoid using global PendingError to avoid failing too often too soon</title>
<updated>2015-09-14T13:22:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-10T17:00:51Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=95278287f4e1eeaf5d96749d6fc9bfc53fb400d0'/>
<id>urn:sha1:95278287f4e1eeaf5d96749d6fc9bfc53fb400d0</id>
<content type='text'>
Our error reporting is historically grown into some kind of mess.
A while ago I implemented stacking for the global error which is used in
this commit now to wrap calls to functions which do not report (all)
errors via return, so that only failures in those calls cause a failure
to propergate down the chain rather than failing if anything
(potentially totally unrelated) has failed at some point in the past.

This way we can avoid stopping the entire acquire process just because a
single source produced an error for example. It also means that after
the acquire process the cache is generated – even if the acquire
process had failures – as we still have the old good data around we can and
should generate a cache for (again).

There are probably more instances of this hiding, but all these looked
like the easiest to work with and fix with reasonable (aka net-positive)
effects.
</content>
</entry>
<entry>
<title>just-in-time removal of broken essential packages</title>
<updated>2015-08-27T09:24:07Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-08-21T17:59:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9106d7c9692e91622a828f382b85fe592bfec81d'/>
<id>urn:sha1:9106d7c9692e91622a828f382b85fe592bfec81d</id>
<content type='text'>
We deal with Conflicts in SmartUnpack in pretty much the same way, but
Breaks weren't handled in SmartConfigure so that the remove was sheduled
after the configuration of the package breaking the to-be-removed.

Closes: 796070
</content>
</entry>
<entry>
<title>Cleanup includes after running iwyu</title>
<updated>2015-08-17T10:01:45Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2015-08-17T10:01:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=88a8975f156e452d9f3ebe76822b236e8962ebba'/>
<id>urn:sha1:88a8975f156e452d9f3ebe76822b236e8962ebba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Deprecate SPtrArray&lt;T&gt; and convert everyone to unique_ptr&lt;T[]&gt;</title>
<updated>2015-08-13T09:31:00Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-08-13T09:28:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=98cc7fd2c1d397623960baf69ae3cec04a87a23e'/>
<id>urn:sha1:98cc7fd2c1d397623960baf69ae3cec04a87a23e</id>
<content type='text'>
More standardization
</content>
</entry>
<entry>
<title>remove the compatibility markers for 4.13 abi</title>
<updated>2015-08-10T15:27:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-15T11:21:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4dc77823d360158d6870a5710cc8c17064f1308f'/>
<id>urn:sha1:4dc77823d360158d6870a5710cc8c17064f1308f</id>
<content type='text'>
We aren't and we will not be really compatible again with the previous
stable abi, so lets drop these markers (which never made it into a
released version) for good as they have outlived their intend already.

Git-Dch: Ignore
</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>
