[Bug 831768] Re: aptitude cannot handle conflicts with multiarch enabled
Sven Berkvens-Matthijsse
sven at launchpad.berkvens.net
Fri Apr 19 07:15:06 UTC 2013
The newly uploaded 0.6.6-1ubuntu1.2 version works perfectly for me on a
reasonably complicated Precise server with a mixture of i386 and amd64
packages.
Upon starting aptitude, it immediately started complaining about broken
packages and all sorts of fixes that it wanted to apply to fix all sorts
of problems, so I was skeptical at first. However, this turned out to be
because of some pending actions that aptitude still remembered from the
last time that I ran aptitude (months ago, just to test whether the
problem with multiarch had been fixed without me noticing). Telling
aptitude to forget all pending actions got me a perfectly clean system
according to aptitude.
Thanks for all the efforts, I love aptitude very much, although I've
gotten used to using apt-get as well now :-) Aptitude is much easier to
use for selectively upgrading packages, though, which is sometimes
necessary on my servers to minimize downtime caused by package upgrades.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to aptitude in Ubuntu.
https://bugs.launchpad.net/bugs/831768
Title:
aptitude cannot handle conflicts with multiarch enabled
Status in aptitude:
Fix Released
Status in “aptitude” package in Ubuntu:
Fix Released
Status in “aptitude” source package in Oneiric:
Confirmed
Status in “aptitude” source package in Precise:
Fix Committed
Status in Baltix GNU/Linux:
Incomplete
Status in “aptitude” package in Debian:
Fix Released
Bug description:
[Impact]
* Inability to use aptitude on multi-arch systems. Any action which
results in a packaging conflict, or otherwise broken package, invokes
the problem resolver which will proceed to remove *all* foreign-arch
packages.
The packages are removed always, even if they are unrelated to the
problem being resolved. In the usual case, the problem resolver is
unable to find any solution which does not involve removing all
foreign-arch packages.
[Fix]
As attached. Update the problem resolver to be more informed about multi-arch packages and specifically the implicit package relations associated
with them.
[Test Case]
1. Enable multiarch (should be automatic on new oneiric systems)
2. Install an i386 package on amd64 (like flashplugin-installer:i386)
3. Mark something with a lot of dependencies for installation
4. On the confirmation screen, try to remove on of the dependencies (aptitude will now fail to perform upgrades when there's a package conflict w/out removing the i386 libs)
This renders aptitude painful on a multiarch enabled system (default
in oneiric).
*** It has been suggested that this wait longer than 7 days in
-proposed for Precise so that it can be extensively tested. ***
[Workaround]
1. If you can survive without 32 bit libraries, just comment out the single line in /etc/dpkg/dpkg.cfg.d/multiarch; or
2. Use another package manager (e.g. apt-get, synaptic, or Software Center)
3. Disable the problem resolver by adding this line in /etc/apt/apt.conf:
Aptitude::ProblemResolver::StepLimit "0";
[Regression Potential]
* Minimal. Patch has received extensive testing in Sid/Wheezy (since
September 2012), and Quantal (October 2012). No regressions have been
reported.
* Some package relations, particularly conflicts and breaks, may be
wrongly ignored and packages not identified as broken by aptitude.
This can leave a system in a broken state and/or result in dpkg
errors.
* Any complex dependency situation is potentially handled incorrectly.
* Multiple user confirmations that the patch works on aptitude 0.6.6.
[Original Report]
ProblemType: BugDistroRelease: Ubuntu 11.10
Package: aptitude 0.6.4-1ubuntu2
Architecture: amd64
To manage notifications about this bug go to:
https://bugs.launchpad.net/aptitude/+bug/831768/+subscriptions
More information about the foundations-bugs
mailing list