[Telepathy] Telepathy 1.0: now without dbus-glib!

Simon McVittie simon.mcvittie at collabora.co.uk
Thu Mar 27 13:53:29 PDT 2014


This week I've been doing some integration/packaging work to be able to
do a fairly reproducible full-stack test of Telepathy 1, the "drop all
the deprecated stuff" branch ('next' in our git repositories). After
finding and fixing all the places where things weren't properly
parallel-installable, I was able to get Debian packages for Telepathy 1
onto a test laptop, and do text IM and voice and video calls over
XMPP... so we can now be more confident that it actually works, and is
viable to freeze in the near future.

The scope of Telepathy 1 recently expanded to switching our D-Bus
implementation from libdbus/dbus-glib to GDBus, after I thought "how
hard can it be?" and coded up an implementation. We're still using
dbus-glib for its type system (which is in our API, whether we like it
or not), but translating parameters into GVariants to send over GDBus -
perhaps surprisingly, the resulting Empathy build worked first time.

I hope we'll be able to stabilize Telepathy 1 soon, ideally in time for
GNOME 3.13.1, so that applications have a few months to switch over
before GNOME 3.14 (accompanied by a Telepathy 1.2 stable-branch, maybe).

Next steps for Telepathy 1 go something like this:

* Get my changes reviewed (please help!)
* Remove as much dbus-glib as possible from our API, ideally setting it
  up so that only libtelepathy-glib-1-dbus implies use of dbus-glib
* Maybe move TpClientFactory to the top of the type hierarchy
  (de-emphasize TpDBusDaemon) since that would be a pain to do later
* Have another look at the Mission Control account import code to see
  whether it needs to migrate anything
* Maybe rename the confusing 'account' account parameter to
  'username' since, again, that would be a pain to do later

List of packages below, for the adventurous.

Regards,
    S

The packages
============

                   *** Stability warning ***

This is a snapshot of a snapshot. The API and ABI *will* change before
1.0, and in addition, these snapshot builds contain quite a lot of
unreviewed patches that nobody except me has even seen. Use caution.

                   *** Stability warning ***

With that out of the way, here are the bits you'll need, using Debian
unstable as a host system. I'm sure these can be adapted to non-Debian
but I'm not going to do it :-)

* GLib 2.40, from Debian experimental
  <http://http.debian.net/debian/pool/main/g/glib2.0/glib2.0_2.40.0-1.dsc>

* Gtk 3.12, from Debian experimental
  <http://http.debian.net/debian/pool/main/g/gtk+3.0/gtk+3.0_3.12.0-1.dsc>

* Vala 0.24 from Debian experimental.
  <http://http.debian.net/debian/pool/main/v/vala/vala-0.24_0.23.3-1.dsc>

* A version of Zeitgeist with enough patches cherry-picked that
  it won't crash Empathy.

<http://people.collabora.com/~smcv/telepathy-1/pool/main/z/zeitgeist/zeitgeist_0.9.14-2.1.dsc>

* Enough packages recompiled for the libcogl20 transition that things
  are installable again (I may have picked the wrong day to do this...).
  <http://people.collabora.com/~smcv/telepathy-1/dists/cogl20/>
  might be helpful.

* A version of gnome-shell that has
  <https://bugzilla.gnome.org/show_bug.cgi?id=721704> fixed so it
  won't try to use both Telepathy-0 and Telepathy-1, and probably crash.

<http://people.collabora.com/~smcv/telepathy-1/pool/main/g/gnome-shell/gnome-shell_3.8.4-5tp0.1.dsc>

* A snapshot of telepathy-glib. Xavier reviewed this version, so it's
  in upstream git, and I'll probably release it as 0.99.10 next week.

<http://people.collabora.com/~smcv/telepathy-1/pool/main/t/telepathy-glib-1/telepathy-glib-1_0.99.9+61+ga40a940-1.dsc>
  <http://anonscm.debian.org/gitweb/?p=pkg-telepathy/telepathy-glib-1.git>

* A snapshot of telepathy-gabble (unreviewed).

<http://people.collabora.com/~smcv/telepathy-1/pool/main/t/telepathy-gabble-1/telepathy-gabble-1_0.99.8+20+gc3c3bb5-0tp1.1.dsc>
  <https://bugs.freedesktop.org/show_bug.cgi?id=76690>
  <https://bugs.freedesktop.org/show_bug.cgi?id=28782>
  <http://cgit.freedesktop.org/~smcv/telepathy-gabble/log/?h=next-gdbus>
  <http://anonscm.debian.org/gitweb/?p=pkg-telepathy/telepathy-gabble-1.git>

* A snapshot of telepathy-mission-control-6 (unreviewed).

<http://people.collabora.com/~smcv/telepathy-1/pool/main/t/telepathy-mission-control-6/telepathy-mission-control-6_5.99.8+54+gff2328c-0tp1.1.dsc>
  <https://bugs.freedesktop.org/show_bug.cgi?id=76688>
  <https://bugs.freedesktop.org/show_bug.cgi?id=70991>
  <https://bugs.freedesktop.org/show_bug.cgi?id=28782>

<http://cgit.freedesktop.org/~smcv/telepathy-mission-control/log/?h=next-gdbus>

<http://anonscm.debian.org/gitweb/?p=pkg-telepathy/telepathy-mission-control-6.git>

* A snapshot of Folks with 'next' support (unreviewed).

<http://people.collabora.com/~smcv/telepathy-1/pool/main/f/folks/folks_0.9.6-2tp1.2.dsc>
  <https://bugzilla.gnome.org/show_bug.cgi?id=708871>
  <https://bugs.freedesktop.org/show_bug.cgi?id=28782>
  <http://cgit.freedesktop.org/~smcv/folks/log?h=next-gdbus>

<http://anonscm.debian.org/gitweb/?p=pkg-telepathy/folks.git;a=shortlog;h=refs/heads/telepathy1>

* A copy of gnome-contacts patched to support either Telepathy-0
  or Telepathy-1, recompiled against that version of Folks
  (unreviewed).

<http://people.collabora.com/~smcv/telepathy-1/pool/main/g/gnome-contacts/gnome-contacts_3.12.0-0tp1.1.dsc>

* A snapshot of Empathy with 'next' support (unreviewed).

<http://people.collabora.com/~smcv/telepathy-1/pool/main/e/empathy/empathy_3.12.0+64+gc963117-0tp1.1.dsc>
  <https://bugzilla.gnome.org/show_bug.cgi?id=727043>,
  <http://cgit.freedesktop.org/~smcv/empathy/log?h=next-gdbus>

<http://anonscm.debian.org/gitweb/?p=pkg-telepathy/empathy.git;a=shortlog;h=refs/heads/telepathy1>

... and that's all, I think. Good luck!

    S


More information about the telepathy mailing list