[Bug 38986] Merge Call.DRAFT2 into master

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jul 7 23:29:12 CEST 2011


https://bugs.freedesktop.org/show_bug.cgi?id=38986

--- Comment #2 from David Laban <david.laban at collabora.co.uk> 2011-07-07 14:29:11 PDT ---
Okay, so Call becomes the guinea-pig for versioned dbus interfaces. This is
going to be fun.

I have made the name change from Call.DRAFT2 to Call1 and pushed to
alsuren/call

When porting telepathy-yell to this, I noticed that we ended up with function
names like "tpy_svc_channel_type_call1_implement_hangup", which requires a huge
sed of all of our source code. To me, this is unacceptable.

I was talking to ocrete and he suggested that we should produce headers with
the version name of the supported interfaces (e.g.
<telepathy-glib/svc-channel-type-call-2.h> and make CM-authors include these
instead)
This way, when we bump the version number:
+ CM authors get an easy-to-understand compilation error that the header no
longer exists
+ No sedding is required, so git blame still works, and there will be fewer
spurious merge conflicts when backporting.
- We need to change makefiles when we change a version number (but changing a
version number is a rare thing, so that's okay)


Note that the existing (unversioned) svc-*.h files will still exist for
interfaces that haven't been version-bumped yet, and we can version-bump our
interfaces one at a time if we want.

We will still need to upgrade things in lockstep though, and we still need to
have a mechanism (probably in MC) for:
* "Hey user: The version of [channel.type.call, channel.type.text] supported by
the newly-installed [empathy-call, empathy-chat] is newer than that supported
by the currently-running [gabble, salut, ...]. Click this button to restart
these services. This will cause you to be disconnected from the network
briefly"
* "Hey empathy-chat. A new version of you has appeared in my list of
activatible services. It supports a newer version of channel.interface.messages
(required for chatting with the following accounts: [...]). Can you warn your
user that you need to restart, and then do so please?

Should I open a separate bug for this?

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list