Comment 4 for bug 1304502

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?