Provide Gsignond interoperability for libsignon applications [$115]

Bug #1304502 reported by Sergey "Shnatsel" Davidoff
30
This bug affects 7 people
Affects Status Importance Assigned to Milestone
elementary OS
Triaged
High
Unassigned

Bug Description

We should provide interoperability with Gsignond which is used in Pantheon instead of signond so that applications linked against libsignon-glib can work with Pantheon Online Accounts.

Ideally this should be done upstream.
If that fails, we can ship a patch that
If we fail to write such a patch, we can just make libsignon always use gsignond as a last resort.

This will also require packaging changes, dependencies will have to be changed; dependency on signond will have to be replaced with "signond | gsignond"; signond is one if the things that pulls in Qt in the current ISOs.

Changed in elementaryos:
milestone: none → isis-beta1
Cody Garver (codygarver)
Changed in elementaryos:
importance: Undecided → Medium
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

e.g. EDS online accounts support is broken, so Maya has no sync capabilities, because of this.

Cody Garver (codygarver)
Changed in elementaryos:
importance: Medium → Wishlist
Revision history for this message
Cody Garver (codygarver) wrote :

This is actually high priority because it's blocking POA for Maya

Changed in elementaryos:
importance: Wishlist → High
Revision history for this message
Lewis Goddard (lewisgoddard) wrote :

Seeing as this is a high priority and has more than 1 affected person, I'm going to go ahead and mark this as confirmed too.

Changed in elementaryos:
status: New → Confirmed
tags: added: bounty
summary: - Provide Gsignond interoperability for libsignon applications
+ Provide Gsignond interoperability for libsignon applications [$50]
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote : Re: Provide Gsignond interoperability for libsignon applications [$50]

Some background:
libGsignon is a fork of libsignon that uses Glib in place of Qt. They both communicate with their respective daemon via D-bus, but the internal D-bus APIs have diverged. However, the external APIs are mostly the same, at least everything that builds against

After a lot of discussion between me and ~tintou as well as the upstream libGsignon developer, it seems that we have the following options:
1) Rebuild every package on Earth with libGsignon instead of libsignon (not realistic).
2) Ship a runtime compatibility layer, because libsignon and libGsignon have the same external API
 - If the ABIs are the same (doubt it, gotta check) we can get away with symlinking the libGsignon in place of libsignon. We risk running into mysterious crashes though, since ABI is not 100% verifiable.
 - Create a "fake" library that has the ABI of libsignon but instead of implementing the functions simply calls the relevant libGsignon functions. It will require some maintenance as the API expands, though.
3) If all else fails, give up and ship whatever Qt thing Ubuntu ships, including the UI. Are after purity or after usability?

Changed in elementaryos:
status: Confirmed → Triaged
milestone: isis-beta1 → isis-beta2
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

Marking triaged and bumping to beta2 - this may be non-trivial and should not be a beta blocker.

summary: - Provide Gsignond interoperability for libsignon applications [$50]
+ Provide Gsignond interoperability for libsignon applications [$65]
Revision history for this message
Danielle Foré (danrabbit) wrote :
summary: - Provide Gsignond interoperability for libsignon applications [$65]
+ Provide Gsignond interoperability for libsignon applications [$115]
Changed in elementaryos:
milestone: freya-beta2 → freya-rc1
Revision history for this message
Cody Garver (codygarver) wrote :

No time left to implement this for Freya

Changed in elementaryos:
milestone: freya-rc1 → loki-beta1
Changed in elementaryos:
milestone: loki-beta1 → loki+1-beta1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.