Merge lp:~jbicha/libsignon-glib/dont-depend-on-signond into lp:libsignon-glib

Proposed by Jeremy Bícha
Status: Merged
Approved by: Alberto Mardegan
Approved revision: 146
Merged at revision: 146
Proposed branch: lp:~jbicha/libsignon-glib/dont-depend-on-signond
Merge into: lp:libsignon-glib
Diff against target: 13 lines (+1/-2)
1 file modified
debian/control (+1/-2)
To merge this branch: bzr merge lp:~jbicha/libsignon-glib/dont-depend-on-signond
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Alberto Mardegan (community) Approve
Review via email: mp+168496@code.launchpad.net

Commit message

Don't have libsignon-glib1 depend on signond

Description of the change

Without this change, evolution-data-server 3.8 depends on libsignon-glib1 which forces Ubuntu GNOME (and any other Ubuntu-based GNOME image) to pull in signond which pulls in signon-ui and lots of Qt libraries including libqtwebkit.

To post a comment you must log in.
Revision history for this message
Jeremy Bícha (jbicha) wrote :

You're going to need to land something like https://code.launchpad.net/~jbicha/gnome-control-center-signon/depend-on-signond/+merge/168498 in the Ubuntu archive before this lands.

Revision history for this message
Alberto Mardegan (mardy) wrote :

Hi Jeremy, while I understand the reasons, I don't agree on the solution: libsignon-glib is totally useless without signond, and moving the dependency can potentially break other packages (such as unity scopes). It's true that moving the dependency on the gnome-control-center-signon will effectively make everything work fine in Ubuntu, but it's still a hack.

I'd recommend another approach: since the UOA integration with evolution has been nicely developed as a pluggable module, I recommend to split it out into a separate "evolution-data-server-ubuntu-online-accounts" package (or you can find a better name :-)) and put the file

  /usr/lib/evolution-data-server/registry-modules/module-ubuntu-online-accounts.so

inside this separate package. Then only this package can depend on libsignon-glib (and libaccounts-glib).
You might also want to do the same for the goa module, and then maybe evolution-data-server could recommend (evolution-data-server-ubuntu-online-accounts | evolution-data-server-gnome-online-accounts), or some tricks of this kind.

Let me know what you think (maybe you already considered this and discarded for some reason?).

review: Disapprove
Revision history for this message
Jeremy Bícha (jbicha) wrote :

The problem is that building evolution-data-server against libsignon-glib-dev adds an automatic dependency on libsignon-glib1. I do think this is the cleanest way to solve this problem.

Unity (and Unity scopes or UOA plugins) can still explicitly depend on signond but it's too much for things like Empathy, Evolution Data Server, and Shotwell to hard-depend on tens of MB of Qt libraries for an optional feature. libwebqtwebkit4 alone is over 30 MB.

Revision history for this message
Ken VanDine (ken-vandine) wrote :

If you split the module out into a separate binary, the depends should only end up on that binary.

146. By Jeremy Bícha

Don't have libsignon-glib1 depend on signond (LP: #1191522)

Revision history for this message
Jeremy Bícha (jbicha) wrote :

mardy, since the other half of bug 1191522 has now landed in Saucy, can this be approved too?

Revision history for this message
Alberto Mardegan (mardy) wrote :

Absolutely. Thanks!

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

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 2013-06-05 11:47:45 +0000
3+++ debian/control 2013-06-10 17:06:27 +0000
4@@ -43,8 +43,7 @@
5 Architecture: any
6 Pre-Depends: ${misc:Pre-Depends}
7 Depends: ${shlibs:Depends},
8- ${misc:Depends},
9- signond,
10+ ${misc:Depends}
11 Description: library for signond
12 .
13 This package contains shared libraries to be used by applications.

Subscribers

People subscribed via source and target branches

to all changes: