[Telepathy] telepathy-spec process and D-Bus tools improvements

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Oct 23 09:20:03 PDT 2006

As well as assorted extra features for Gabble I've been working on some
improvements to the Telepathy spec process.

At the moment we have Python "interfaces" in telepathy-spec, which
generate D-Bus introspection XML, which generates bits of Gabble; the
Python "interfaces" also generate the HTML spec, and get either merged
or copy&pasted into telepathy-python (which is where they originated).

I initially aimed to maintain the spec as D-Bus XML, with an annotation
org.freedesktop.telepathy.Docstring or something for the actual spec
text, and from that XML, generate:

 * the HTML spec
 * bits of telepathy-python
 * bits of Gabble

using XSLT.

However, the D-Bus introspection format isn't particularly extensible
(annotations basically just give you an attribute value, which doesn't
preserve newlines!) so instead I'm using an "embraced and extended"
superset of the introspection format, with XSLT to produce:

 * the HTML spec
 * parts of telepathy-python
 * parts of Gabble, potentially
 * non-extended D-Bus introspection XML, for compatibility with other

My goal is to have any given file either purely auto-generated, or
"really source code", but not somewhere in between.

Eventually it'd be nice to have a source package telepathy-spec
producing a binary package telepathy-spec-dev (or -devel for the Red Hat
people); I'm not quite sure what should happen when the maintainer
specifically asks for it and what should happen in a normal build,
though. Thoughts?

The branch is available at:



More information about the Telepathy mailing list