apt doesn't handle multi-arched provides properly

Bug #1130714 reported by Chow Loong Jin
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
apt (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

  affects ubuntu/apt
  subscribe jpugh
  subscribe dpitkin
  subscribe sarvatt
  subscribe vorlon
  subscribe

When installing steam:i386 in a fresh amd64 Ubuntu 12.04.2 installation, apt-get
chooses to forcibly uninstall the entire X11 stack.

The dependencies in question are:
 - steam:i386 depends on libgl1-mesa-{glx,dri}
 - libgl1-mesa-{glx,dri}-lts-quantal:amd64 are installed
 - libgl1-mesa-{glx,dri}-lts-quantal:i386 are not installed
 - libgl1-mesa-{glx,dri}:i386 are not installed.
 - libgl1-mesa-{glx,dri}-lts-quantal Provides: libgl1-mesa-{glx,dri}
 - libgl1-mesa-{glx,dri}-lts-quantal Conflicts: libgl1-mesa-{glx,dri}

PROBLEM:
Facing this situation, when apt-get is told to install steam:i386, it chooses to
install libgl1-mesa-{glx,dri}:i386 instead of
libgl1-mesa-{glx,dri}-lts-quantal:i386 (which can satisfy the dependency due to
the Provides field being set appropriately). This forces
libgl1-mesa-{glx,dri}:amd64 to be uninstalled due to the conflicts relationship
as mentioned above.

Conversely, if libgl1-mesa-{glx,dri}-lts-quantal:i386 is already installed,
apt-get install steam:i386 does the right thing.

Amending steam:i386 to depend on libgl1-mesa-{glx,dri}-lts-quantal |
libgl1-mesa-{glx,dri}-lts-quantal fixes the issue for those with the LTS
Enablement Stack installed, but causes this bug to manifest on systems on the
older stack. Reversing the order of the packages in the bar dependency (foo |
foo-lts-quantal) also doesn't work.

[1] https://wiki.ubuntu.com/Kernel/LTSEnablementStack

--
Kind regards,
Loong Jin

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in apt (Ubuntu):
status: New → Confirmed
dino99 (9d9)
tags: added: i386 lts-backport raring
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.