Merge lp:~cjwatson/qml-friends/avoid-friends-dependency into lp:qml-friends

Proposed by Colin Watson
Status: Rejected
Rejected by: Robert Bruce Park
Proposed branch: lp:~cjwatson/qml-friends/avoid-friends-dependency
Merge into: lp:qml-friends
Diff against target: 17 lines (+3/-3)
1 file modified
debian/control (+3/-3)
To merge this branch: bzr merge lp:~cjwatson/qml-friends/avoid-friends-dependency
Reviewer Review Type Date Requested Status
Robert Bruce Park Needs Information
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+213014@code.launchpad.net

Commit message

Break old versions of friends rather than depending on new ones, to avoid pulling the friends run-time into cross-building chroots.

Description of the change

qml-friends 0.1.0bzr13.03.20.1-0ubuntu1 added "Depends: friends (>= 0.1.3)" to cope with a schema change in friends. Previously, qml-friends didn't depend on the friends run-time at all, and usually I'd expect bindings only to depend on the library interface rather than the run-time service. For the stated purpose, "Breaks: friends (<< 0.1.3)" would be a more precise way to state it: it ensures that friends is upgraded to >= 0.1.3 if installed, but doesn't require it to be installed.

The reason I care is that I'm trying to get "ubuntu-sdk-libs-dev:armhf" to be installable inside "click chroot" for the purpose of cross-building. We typically want the full set of phone-relevant QML bindings to be installed here. Run-time services are unnecessary and unwanted, but they're normally harmless since we disable daemon startup inside "click chroot". However, in this case it isn't harmless, because friends depends on a number of gir* packages via friends-dispatcher. gir* packages aren't currently multiarch-capable: the .typelib files differ across architectures but there's only one path available for their installation. This should probably be fixed, but it will take time. In the meantime, we need to be extra-careful to avoid requiring run-time services to be installed together with development packages, because that will cause an irreconcilable conflict in terms of which gir* packages should be installed.

This isn't the only problem like this: libfriends0 depends on friends-dispatcher too, which poses a similar problem. I'll work on that separately. However, there's a small enough number of these problems that I think we can fix them all in time to use "ubuntu-sdk-libs-dev:armhf" in "click chroot" for 14.04.

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
Robert Bruce Park (robru) wrote :

I'm inclined to defer to your judgement here, but I would like to point out that qml-friends really does depend on friends. The frontend UI is provided by friends-app, 'friends' (particularly friends-dispatcher) really is the backend "library" and qml-friends is just a bridge between the two. So qml-friends really will not function without friends-dispatcher in place to respond to it's dbus calls.

As you say this is a workaround for a multiarch issue, but at the very least you'll need to make sure that friends-app depends on qml-friends and friends (-dispatcher, -service) in order to actually function properly on any arch/platform.

Revision history for this message
Robert Bruce Park (robru) wrote :

Just double-checked, friends-app doesn't depend on friends, only qml-friends:

http://bazaar.launchpad.net/~super-friends/friends-app/trunk/view/head:/debian/control

So that'll need to be fixed before I can accept this MP.

review: Needs Fixing
Revision history for this message
Robert Bruce Park (robru) wrote :

Hm, this slipped through the cracks. Is this still relevant in light of the Friends' neutering? I'm not sure whether to reject this or whether to make friends-app depend on friends-dispatcher and then accept this.

review: Needs Information

Unmerged revisions

62. By Colin Watson

Break old versions of friends rather than depending on new ones, to avoid pulling the friends run-time into cross-building chroots.

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 2014-03-17 23:19:36 +0000
3+++ debian/control 2014-03-27 10:23:53 +0000
4@@ -35,10 +35,10 @@
5 Package: qtdeclarative5-friends0.2
6 Section: libs
7 Architecture: any
8-Depends: friends (>= 0.1.3),
9- ${misc:Depends},
10+Depends: ${misc:Depends},
11 ${shlibs:Depends},
12-Breaks: qml2-friends0 (<= 0.1.0bzr13.02.22),
13+Breaks: friends (<< 0.1.3),
14+ qml2-friends0 (<= 0.1.0bzr13.02.22),
15 Replaces: qml2-friends0 (<= 0.1.0bzr13.02.22),
16 Provides: qml2-friends0,
17 Description: QML Bindings for the Friends library

Subscribers

People subscribed via source and target branches

to all changes: