[Bug 831768] Re: aptitude cannot handle conflicts with multiarch enabled

Daniel Hartwig 831768 at bugs.launchpad.net
Fri Sep 14 01:30:16 UTC 2012


** Description changed:

  [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.
+ 
+ * Complete lack of upstream support for aptitude, regardless of whether
+ any specific issue appears to be related to multi-arch.
+ 
+ Upstream does not provide any support for aptitude where it is installed on a multi-arch system unless all of these conditions are met:
+ - it is at least version 0.6.6; and
+ - attached multiarch-conflicts.patch is applied.
+ 
+ At this point Ubuntu is 100% provider of support for aptitude on
+ Oneiric, Precise, and Quantal.
+ 
  [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).
  
  [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]
  
+ * Patch is of moderate size but requires someone with strong APT
+ knowledge to verify.
+ 
+ * 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.
+ 
+ * Already in Wheezy and Sid, suitable for Quantal.
+ 
+ ** Do not even consider applying this patch to SRU without it being
+ first thoroughly inspected by a seasoned APT person.  If you have never
+ looked deep in to the workings of, say, class pkgProblemResolver
+ (libapt-pkg) or the aptitude problem resolver, then you are probably
+ underqualified to inspect the patch. **
+ 
  [Original Report]
  ProblemType: Bug
  DistroRelease: Ubuntu 11.10
  Package: aptitude 0.6.4-1ubuntu2
  Architecture: amd64

-- 
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:
  Triaged
Status in “aptitude” source package in Oneiric:
  Triaged
Status in “aptitude” source package in Precise:
  Confirmed
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.

  * Complete lack of upstream support for aptitude, regardless of
  whether any specific issue appears to be related to multi-arch.

  Upstream does not provide any support for aptitude where it is installed on a multi-arch system unless all of these conditions are met:
  - it is at least version 0.6.6; and
  - attached multiarch-conflicts.patch is applied.

  At this point Ubuntu is 100% provider of support for aptitude on
  Oneiric, Precise, and Quantal.

  [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).

  [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]

  * Patch is of moderate size but requires someone with strong APT
  knowledge to verify.

  * 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.

  * Already in Wheezy and Sid, suitable for Quantal.

  ** Do not even consider applying this patch to SRU without it being
  first thoroughly inspected by a seasoned APT person.  If you have
  never looked deep in to the workings of, say, class pkgProblemResolver
  (libapt-pkg) or the aptitude problem resolver, then you are probably
  underqualified to inspect the patch. **

  [Original Report]
  ProblemType: Bug
  DistroRelease: 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