Mir graphics drivers don't automatically upgrade when libmir* is manually upgraded, resulting in broken system

Bug #1528304 reported by Michał Sawicz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Triaged
Medium
Unassigned
mir (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

While investigating bug #1528279 I've noticed there's some missing dependency somewhere, I'm able to get a broken device by upgrading unity-system-compositor (which pulls in libmir*). Only after upgrading mir-graphics-drivers-android did my system come back to normal.

Excerpt from apt history.log:
Start-Date: 2015-12-21 17:59:29
Commandline: apt install unity-system-compositor
Install: libmirserver36:armhf (0.18.0+15.04.20151216.1-0ubuntu1, automatic)
Upgrade: libmircookie1:armhf (0.17.1+15.04.20151105.1-0ubuntu1, 0.18.0+15.04.20151216.1-0ubuntu1), libmirplatform11:armhf (0.17.1+15.04.20151105.1-0ubuntu1, 0.18.0+15.04.20151216.1-0ubuntu1), libmirclient9:armhf (0.17.1+15.04.20151105.1-0ubuntu1, 0.18.0+15.04.20151216.1-0ubuntu1), unity-system-compositor:armhf (0.2.0+15.04.20151008.1-0ubuntu1, 0.2.0+15.04.20151216.1-0ubuntu1), libmircommon5:armhf (0.17.1+15.04.20151105.1-0ubuntu1, 0.18.0+15.04.20151216.1-0ubuntu1), libmirprotobuf3:armhf (0.17.1+15.04.20151105.1-0ubuntu1, 0.18.0+15.04.20151216.1-0ubuntu1)
End-Date: 2015-12-21 17:59:34

→ Broken

Start-Date: 2015-12-21 18:28:00
Commandline: apt install mir-graphics-drivers-android
Install: libinput10:armhf (1.1.0-1ubuntu2~vivid1, automatic), mir-platform-input-evdev4:armhf (0.18.0+15.04.20151216.1-0ubuntu1, automatic), mir-platform-graphics-android7:armhf (0.18.0+15.04.20151216.1-0ubuntu1, automatic)
Upgrade: mir-graphics-drivers-android:armhf (0.17.1+15.04.20151105.1-0ubuntu1, 0.18.0+15.04.20151216.1-0ubuntu1)
End-Date: 2015-12-21 18:28:02

→ Fixed

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: mir-graphics-drivers-android 0.18.0+15.04.20151216.1-0ubuntu1 [origin: LP-PPA-ci-train-ppa-service-stable-phone-overlay]
Uname: Linux 3.4.67 armv7l
ApportVersion: 2.17.2-0ubuntu1.3touch1
Architecture: armhf
Date: Mon Dec 21 18:30:50 2015
InstallationDate: Installed on 2015-12-18 (3 days ago)
InstallationMedia: Ubuntu 15.04 - armhf (20151218-161516)
SourcePackage: mir
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Michał Sawicz (saviq) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

IIRC, this is by design. Mir can't possibly know which driver package is the right one for you at build time. And although we do have probing, installing all driver packages bloats the dependency tree unnecessarily. So our solution (IIRC) was to put a seed in the phone image such that the android drivers package was always included.

I'm not sure if there's something in our packaging that might have made it easier for your system to become broken...?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It appears our dependencies are correct. mir-graphics-drivers-android depends on mir-platform-graphics-android7. If you install either then the problem is solved. But yeah I can see how upgrading libmir* would fail to upgrade the required drivers (although there's no evidence that an older android driver was previously installed, I assume it was).

summary: - Missing dependency between mir and android drivers
+ Mir graphics drivers don't automatically upgrade when libmir* is
+ upgraded, resulting in broken system
summary: Mir graphics drivers don't automatically upgrade when libmir* is
- upgraded, resulting in broken system
+ manually upgraded, resulting in broken system
Changed in mir:
status: New → Triaged
importance: Undecided → Medium
Changed in mir (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think a virtual package ("Provides") might be the right answer here. That is mir-platform-graphics-android8 (and mesa etc) would then "Provide" a virtual "mir-server-graphics-8". And libmirserverN would depend on virtual package "mir-server-graphics-8" that is only supplied by installing one or more driver packages.

[https://www.debian.org/doc/debian-policy/ch-relationships.html]

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.