<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration/test-prevent-markinstall-multiarch-same-versionscrew, branch 1.0.9.4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.0.9.4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.0.9.4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2014-03-13T12:58:45Z</updated>
<entry>
<title>do not configure already unpacked packages needlessly</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-08T16:29:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0caa5a4c6472d1b74444c4f38ced6c3b89fa50fe'/>
<id>urn:sha1:0caa5a4c6472d1b74444c4f38ced6c3b89fa50fe</id>
<content type='text'>
The unpack of a M-A:same package will force the unpack of all its
siblings directly to prevent that they could be separated by later
immediate actions. In commit 634985f8 a call to SmartConfigure was
introduced to configure these packages at the time the installation
order encounters them. Usually, the unpack order is already okay, so
that this 'earlier' unpack was not needed and if it wouldn't have been
done, the package would now only be unpacked, but by configuring the package
now we impose new requirements which must be satisfied. The code is
clever enough to handle this most of the time (it worked for 2 years!),
but it isn't needed and in very coupled cases this can fail.

Removing this call again removes this extra burden and so simplifies the
ordering as can be seen in the modified tests. Famous last words, but I
don't see a reason for this extra burden to exist hence the remove.

Closes: 740843
</content>
</entry>
<entry>
<title>prevent MarkInstall of unsynced Multi-Arch:same siblings</title>
<updated>2013-07-11T16:42:54Z</updated>
<author>
<name>David Kalnischkies</name>
<email>kalnischkies@gmail.com</email>
</author>
<published>2013-07-10T11:06:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=486d190d3c66bb7271509dc002f8ec9e9eb0166c'/>
<id>urn:sha1:486d190d3c66bb7271509dc002f8ec9e9eb0166c</id>
<content type='text'>
Multi-Arch: same packages can be co-installed, but need to have the same
version for all installed packages (aka "siblings"). Otherwise the
unsynced versions will fight against each other and the auto-install as
wel as the problem resolver will later have to decide between holding the
packages or to remove one of the siblings (usually a foreign) taking a
bunch of packages (like the entire foreign setup) with them.

The idea here is now to be more pro-active: MarkInstall will fail for
a package if the siblings aren't synced, so we don't allow a situation
in which a resolver has to decide if to hold or to remove-upgrade under
the assumption that the remove-upgrade decision is always wrong and
doesn't deserve to be explored (expect valid out-of-syncs of course).

Thats a pretty bold move to take for a library which is used by
different solvers so this check is done in IsInstallOk and can be
overridden if front-ends want to.
</content>
</entry>
</feed>
