lucid->precise upgrade holds back X.org video drivers

Bug #902077 reported by Martin Pitt
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
Fix Released
High
Martin Pitt
Precise
Fix Released
High
Martin Pitt

Bug Description

Upgrading lucid to precise desktop fails:

2011-12-08 06:50:02,921 DEBUG Installing 'xserver-xorg-video-all' (Distro KeepInstalledPkgs rule)
2011-12-08 06:50:02,975 ERROR Could not calculate the upgrade An unresolvable problem occurred while calculating the upgrade:
E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

This is probably due to

Package: libdrm-nouveau1a
Conflicts: libdrm-nouveau1

To ease apt's job, this should be something like

Breaks: libdrm-nouveau1
Replaces: libdrm-nouveau1

I'll confirm both the cause and the solution now.

Martin Pitt (pitti)
Changed in libdrm (Ubuntu Precise):
status: New → Incomplete
status: Incomplete → Triaged
assignee: nobody → Martin Pitt (pitti)
importance: Undecided → High
tags: added: dist-upgrade lucid2precise qa-daily-testing
Martin Pitt (pitti)
summary: - lucid->precise upgrade failure due to libdrm-nouveau1a Conflicts:
+ lucid->precise upgrade holds back X.org video drivers
Revision history for this message
Martin Pitt (pitti) wrote :

On second look it doesn't seem to be that Conflicts:, it's something else.

affects: libdrm (Ubuntu Precise) → xorg (Ubuntu Precise)
Changed in xorg (Ubuntu Precise):
assignee: Martin Pitt (pitti) → nobody
Revision history for this message
Martin Pitt (pitti) wrote :

So, the reason is that xserver-xorg-video-{nv,v4l} do not exist any more, and thus it can't get rid of the "xserver-xorg-video-6" provides. For that we need to explicitly conflict to these two to clean these up on upgrade. I propose that -nouveau conflicts: -nv, and -vesa Conflicts: -v4l. Adding them to -video-all also works, but that wouldn't fix the upgrade for people who removed -video-all and only have a few drivers installed.

These two extra Conflicts: will fix the upgrade when universe is enabled. If only main and restricted are enabled, the upgrade still fails because a bunch of the older drivers went to universe. I still need to think about/discuss what to do there.

Revision history for this message
Martin Pitt (pitti) wrote :

For the case where only main is enabled, we need to add a quirk to the release upgrader: "If universe is not enabled, remove these packages:

  xserver-xorg-video-apm
  xserver-xorg-video-ark
  xserver-xorg-video-chips
  xserver-xorg-video-i128
  xserver-xorg-video-rendition
  xserver-xorg-video-s3virge
  xserver-xorg-video-tseng
  xserver-xorg-video-voodoo

These driverse went to universe since lucid. As lucid's -video-all depends on them, we probalby need to do this:

  - remove xserver-xorg-video-all, and above packages
  - do release upgrade
  - reinstall -video-all

Changed in update-manager (Ubuntu Precise):
assignee: nobody → Michael Vogt (mvo)
status: New → Triaged
importance: Undecided → Medium
affects: xorg (Ubuntu Precise) → xserver-xorg-video-nouveau (Ubuntu Precise)
Changed in xserver-xorg-video-nouveau (Ubuntu Precise):
assignee: nobody → Martin Pitt (pitti)
Changed in xserver-xorg-video-vesa (Ubuntu Precise):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Martin Pitt (pitti) wrote :

Much easier solution: Promote the Breaks: for the old video ABIs to Conflicts:. That will convince apt to actually remove the old drivers instead of holding back the whole stack, and it will also do the right thing in both the main/universe and main-only cases.

-vesa will provide a fallback on machines which actually do use -s3 etc.

infinity | I'd have to re-read the Breaks code, and/or the policy description, but I suspect that Breaks on virtual packages (as opposed to versioned Breaks on real packages) will never really do what you were hoping.
infinity | Cause we'll want to deconfigure the virtual provider, hoping for an upgrade to come along and fix it, and no upgrade will happen.

no longer affects: xserver-xorg-video-vesa (Ubuntu Precise)
no longer affects: xserver-xorg-video-vesa (Ubuntu)
affects: xserver-xorg-video-nouveau (Ubuntu Precise) → xorg-server (Ubuntu Precise)
Martin Pitt (pitti)
no longer affects: update-manager (Ubuntu Precise)
no longer affects: update-manager (Ubuntu)
Martin Pitt (pitti)
tags: added: rls-p-tracking
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xorg-server - 2:1.10.4-1ubuntu6

---------------
xorg-server (2:1.10.4-1ubuntu6) precise; urgency=low

  * control: Move input & video virtual package Breaks as Conflicts,
    because some of the old drivers were demoted to universe which might
    not be available on upgrade. Add Conflicts on -nv and -v4l as well,
    since they are gone from the archive. (LP: #902077)
 -- Timo Aaltonen <email address hidden> Fri, 09 Dec 2011 12:46:55 +0200

Changed in xorg-server (Ubuntu Precise):
status: Triaged → Fix Released
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.