<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration/test-apt-get-autoremove, branch 1.4_rc1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.4_rc1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.4_rc1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-08-24T20:37:41Z</updated>
<entry>
<title>do not restore selections for already purged packages</title>
<updated>2016-08-24T20:37:41Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-08-24T19:57:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=70ff288b98a7aae2c2808112015d34f76f2d5114'/>
<id>urn:sha1:70ff288b98a7aae2c2808112015d34f76f2d5114</id>
<content type='text'>
In most cases apt was already skipping the (re)setting of packages as
to be removed/purged if dpkg had told us that it already did, but we
haven't dealt with it in the most obvious of the cases: Selections set
for packages we touched in this operation which either restores
selections even dpkg would have overridden or e.g. tries to restore a
purge selection for a package which was just purged – does not happen
with apt itself as it isn't using selections in this way, but higher
frontends like aptitude do.

The result in the later case is a warning printed by dpkg that we try to
set selections for an unknown package, which is harmless per se, but can
be confusing for users and we really shouldn't cause warnings in dpkg if
we can help it.

Reported-By: Guillem Jover on IRC
</content>
</entry>
<entry>
<title>save and restore selection states before/after calling dpkg</title>
<updated>2016-08-10T21:18:04Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-07-03T12:39:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b820fd59c4fe6e3581901eee648e88209be56137'/>
<id>urn:sha1:b820fd59c4fe6e3581901eee648e88209be56137</id>
<content type='text'>
dpkg decides certain things on its own based on selections and
especially if we want to call --pending on purge/remove actions, we need
to ensure a clean slate or otherwise we surprise the user by removing
packages we weren't allowed to remove by the user in this run (the
selection might be an overarching plan for the not-yet "future").

Ideally dpkg would have some kind of temporal selection interface for
this case, but it hasn't, so we make it temporal with the risk of
loosing state if we don't manage to restore them.
</content>
</entry>
<entry>
<title>protect only the latest same-source providers from autoremove</title>
<updated>2016-07-01T08:06:53Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-07-01T08:06:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a0ed43f7323b9d7976ed0ba8d437a42e24af9eaf'/>
<id>urn:sha1:a0ed43f7323b9d7976ed0ba8d437a42e24af9eaf</id>
<content type='text'>
Traditionally all providers are protected providing something as apt
can't know which of them is actually really providing the functionality
for the user ensuring that we don't propose the removal of used stuff,
but that is of course also keeping stuff around which could be removed.

That can cause the collection of multiple old providers until the
provided package is itself no longer needed (e.g. out-of-tree kernel
modules). We combat this by marking providers only from the newest
source package version so that old providers built by older versions of
the same source package can be garbage collected.
</content>
</entry>
<entry>
<title>fix tests run via sudo checking the history file</title>
<updated>2016-01-25T18:14:37Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-01-25T18:14:37Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0479205d5869805da3122e2683d2e5ecd0058815'/>
<id>urn:sha1:0479205d5869805da3122e2683d2e5ecd0058815</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>tests: support spaces in path and TMPDIR</title>
<updated>2015-12-19T22:04:34Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-15T16:20:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3abb6a6a1e485b3bc899b64b0a1b7dc2db25a9c2'/>
<id>urn:sha1:3abb6a6a1e485b3bc899b64b0a1b7dc2db25a9c2</id>
<content type='text'>
This doesn't allow all tests to run cleanly, but it at least allows to
write tests which could run successfully in such environments.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>suggest 'apt autoremove' to get right of unneeded packages</title>
<updated>2015-11-04T17:04:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-10-16T10:54:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=73fe49f9b4748eddb5a2dad4f0abb51a8f63564c'/>
<id>urn:sha1:73fe49f9b4748eddb5a2dad4f0abb51a8f63564c</id>
<content type='text'>
The bugreport is more conservative in asking for a conditional, but
given that this is a message intended to be read by users to be run by
users we should suggest using a command intended to be used by users.

And while we are at, add sudo to the message – conditional of course.

Closes: 801571
</content>
</entry>
<entry>
<title>do not discard new manual-bits while applying EDSP solutions</title>
<updated>2015-09-14T13:22:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-09T08:56:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9777639ef84917f37b0c225a99676e3f0f85421a'/>
<id>urn:sha1:9777639ef84917f37b0c225a99676e3f0f85421a</id>
<content type='text'>
In private-install.cc we call MarkInstall with FromUser=true, which sets
the bit accordingly, but while applying the EDSP solution we call mark
install on all packages with FromUser=false, so MarkInstall believes
this install is an automatic one and sets it to auto – so that a new package
which is explicitely installed via an external solver is marked as auto
and is hence also up for garbage collection in a following call.

Ideally MarkInstall wouldn't reset it, but the detection is hard to do
without regressing in other cases – and ideally ideally MarkInstall
wouldn't deal with the autobit at all – so we work around this on the
calling side for now.
</content>
</entry>
<entry>
<title>implement a more generic ShowList method</title>
<updated>2015-08-10T15:27:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-12T11:41:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a0c19a217ca2ed38ae0ecb4b8d2d4f8c4e53289f'/>
<id>urn:sha1:a0c19a217ca2ed38ae0ecb4b8d2d4f8c4e53289f</id>
<content type='text'>
apt-get is displaying various lists of package names, which until now it
was building as a string before passing it to ShowList, which inserted
linebreaks at fitting points and showed a title if needed, but it never
really understood what it was working with. With the help of C++11 the
new generic knows not only what it works with, but generates the list on
the fly rather than asking for it and potentially discarding parts of
the input (= the non-default verbose display). It also doubles as a test
for how usable the CacheSets are with C++11.

(Not all callers are adapted yet.)

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>test exitcode as well as string equality</title>
<updated>2015-03-16T17:01:54Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-03-09T23:59:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=25b86db159fbc3c043628e285c0c1ef24dec2c6e'/>
<id>urn:sha1:25b86db159fbc3c043628e285c0c1ef24dec2c6e</id>
<content type='text'>
We use test{success,failure} now all over the place in the framework, so
its only consequencial to do this in the situations in which we test for
a specific output as well.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>fix remaining testcase-bugs from my armel box</title>
<updated>2014-02-10T17:07:49Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-02-06T19:48:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a7250ed08e4761dd40870ea7350ca2c83457e890'/>
<id>urn:sha1:a7250ed08e4761dd40870ea7350ca2c83457e890</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
</feed>
