Mir

Merge lp:~mir-team/mir/client-doesnt-really-need-to-depend-on-drivers into lp:mir

Proposed by Chris Halse Rogers
Status: Merged
Approved by: Chris Halse Rogers
Approved revision: no longer in the source branch.
Merged at revision: 2295
Proposed branch: lp:~mir-team/mir/client-doesnt-really-need-to-depend-on-drivers
Merge into: lp:mir
Diff against target: 11 lines (+0/-1)
1 file modified
debian/control (+0/-1)
To merge this branch: bzr merge lp:~mir-team/mir/client-doesnt-really-need-to-depend-on-drivers
Reviewer Review Type Date Requested Status
Alberto Aguirre (community) Approve
Robert Carr (community) Abstain
Andreas Pokorny (community) Approve
Alexandros Frantzis (community) Approve
Alan Griffiths Abstain
Daniel van Vugt Needs Fixing
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+246523@code.launchpad.net

Commit message

Drop libmirclient8 dependency on client-platform drivers.

Similar to libX11, which doesn't depend on an X11 server.

This dependency is satisfied by other parts of the stack; the desktop-next and touch
seeds.

Description of the change

We're again in the situation where the mesa drivers and update-alternatives are breaking the vivid touch images.

While the *-platform-loading branches will fix the OMG EVERYTHING'S ON FIRE problem they'll still leave us with a whole bunch of unnecessary mesa on the touch images.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I'm not comfortable just relying on the desktop-next & touch seeds to install all the required packages for Mir.

If some other distro copied or converted our control file they would then not have correct dependencies for a working Mir client.

I'd like to see a "recommends" at least for drivers. Or even better, a dependency on some more abstract "driver" metapackage. Because if you don't have a driver, Mir doesn't work. We should communicate that in our own dependencies.

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

/recommend/ Needs Fixing, but it's not a blocker if other reviewers disagree.

Revision history for this message
Oliver Grawert (ogra) wrote :

since RAOF takes Xorg as example here, how about dropping this lib dependency and at the same time add a more top level metapackage (mir) like X has with the xorg package which keeps carrying this dep. we dont need t depend on this package in a seed but people wanting to install mir will have an easy way to do this.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> they'll still leave us with a whole bunch of unnecessary mesa on the touch images.

There are touch images running on mesa

Revision history for this message
Robert Carr (robertcarr) wrote :

This is correct. I'll give an example use case: you may only want the library installed in order to link against in which case you shouldn't need a client platform.

>> since RAOF takes Xorg as example here, how about dropping this lib dependency and at the same time >> add a more top level metapackage (mir) like X has with the xorg package which keeps carrying this dep

This makes sense to me...should we add them to our existing mir metapackage?

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

That's one reason. Although Ubuntu build deps rarely achieve such nice minimalism :)

Still sounds like we have some options that are nicer than the proposal as it presently stands.

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> since RAOF takes Xorg as example here, how about dropping this lib dependency
> and at the same time add a more top level metapackage (mir) like X has with
> the xorg package which keeps carrying this dep.

+1 for Oliver's suggestion.

review: Needs Fixing
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> since RAOF takes Xorg as example here, how about dropping this lib dependency
> and at the same time add a more top level metapackage (mir) like X has with
> the xorg package which keeps carrying this dep. we dont need t depend on this
> package in a seed but people wanting to install mir will have an easy way to
> do this.

+1

review: Needs Fixing
Revision history for this message
Chris Halse Rogers (raof) wrote :

> since RAOF takes Xorg as example here, how about dropping this lib dependency
> and at the same time add a more top level metapackage (mir) like X has with
> the xorg package which keeps carrying this dep. we dont need t depend on this
> package in a seed but people wanting to install mir will have an easy way to
> do this.

We already have mir-graphics-drivers-desktop and mir-graphics-drivers-android for just this purpose; is there something insufficient with this?

-desktop might be poorly named; it's (currently) the mesa platform, but might expand in future.

In particular, at the moment it would *not* be safe to have a mir metapackage that Depends: on both -desktop and -android, as there's no guarantee the correct alternative will win. We could possibly get away with arch-specific dependencies, but there are actually some pretty far advanced drivers in mesa for ARM hardware, so mandating -android on armhf isn't ideal.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I don't know the best way to express a solution - all the options seem bad

review: Abstain
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> In particular, at the moment it would *not* be safe to have a mir metapackage that
> Depends: on both -desktop and -android,

We can wait for server-platform-probing to land and fix this while adding a mir metapackage in one go. Alternatively we can fix this and add the mir metapackage a bit later. Hopefully, we will be done before the next release.

review: Approve
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

agreed, in any case this dependency is not needed.

review: Approve
Revision history for this message
Alberto Aguirre (albaguirre) wrote :

Yeah there's just no good way of describing which driver dependency you need since I don't see a way to truly describe platform specs (like arch).

I suppose the desktop-next and touch seeds do that to some extent but not ideal either.

"I'd like to see a "recommends" at least for drivers."

+1

review: Needs Fixing
Revision history for this message
Robert Carr (robertcarr) wrote :

I forgot what was happening here. It seems like there are enough opinions that I don't need to find out again.

review: Disapprove
Revision history for this message
Robert Carr (robertcarr) wrote :

Whoops meant to ABSTAIN!

review: Abstain
Revision history for this message
Chris Halse Rogers (raof) wrote :

> I'm not comfortable just relying on the desktop-next & touch seeds to install
> all the required packages for Mir.
>
> If some other distro copied or converted our control file they would then not
> have correct dependencies for a working Mir client.
>
> I'd like to see a "recommends" at least for drivers. Or even better, a
> dependency on some more abstract "driver" metapackage. Because if you don't
> have a driver, Mir doesn't work. We should communicate that in our own
> dependencies.

It's not technically possible to provide such a solution; any attempt to do so will trigger exactly the same problem, as at some point apt is going to need to pick *which* driver to satisfy the “mir-driver” dependency, and it has no way to pick correctly.

Also, it's not quite technically correct. There are purposes for which libmircilent is entirely usable without any platform drivers.

Revision history for this message
Alberto Aguirre (albaguirre) wrote :

Ok.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/control'
2--- debian/control 2015-01-14 08:52:38 +0000
3+++ debian/control 2015-01-15 01:57:00 +0000
4@@ -144,7 +144,6 @@
5 Pre-Depends: ${misc:Pre-Depends}
6 Depends: ${misc:Depends},
7 ${shlibs:Depends},
8- mir-client-platform-mesa | mir-client-platform-android,
9 Description: Display server for Ubuntu - client library
10 Mir is a display server running on linux systems, with a focus on efficiency,
11 robust operation and a well-defined driver model.

Subscribers

People subscribed via source and target branches