[Pkg-telepathy-maintainers] It is a libfarstream packaging bug

Simon McVittie smcv at debian.org
Fri Dec 6 14:22:47 UTC 2013

On 06/12/13 08:43, Trek wrote:
> 2. backend_module: not useful, but included as reference (ver. 2.10.7)

I think this is a better approach to decoupling libpurple from
Farstream, actually.

> I patched the libfarsteram package and tested it with pidgin on a Gtalk
> account. No crash or errors reported and the voice/video calls menu
> entries are disabled but visible. The farstream transmitters plugins
> are loaded dynamically too, so there is no need to install gssdp,
> gupnp, nice and soup libraries if they are not used.

I can see at least two potential problems with this approach:

* does everything that uses libfarstream fall back as gracefully as
  Pidgin does if dependencies are missing?

* packages where making VoIP calls is the entire functionality
  (kde-telepathy-call-ui) should hard-depend on the libraries required
  by Farstream's transmitter plugins, but to a third-party package,
  it's not obvious what those libraries are (copying a list of libraries
  into other packages, and keeping it in sync, is not a good solution)

Splitting Farstream into library and plugins, where the library
gracefully refuses to work when the plugins are not installed, would be
one way to address the latter; the library would recommend the plugins,
and kde-telepathy-call-ui (and probably Empathy) would depend on them.
However, note that the version of Farstream currently used in libpurple
is no longer maintained upstream (<http://bugs.debian.org/731122>) so
further development on Farstream 0.1 is unlikely to happen. The
maintained version is Farstream 0.2, which uses GStreamer 1.0 instead of
the obsolete GStreamer 0.10.

> Finally finch does not require
> pidgin-data (25,7MB), but it is used only if installed for sounds,
> translations and the /etc/purple/prefs.xml file (that should go instead
> in the libpurple package).

/etc/purple/prefs.xml should probably not go in a library package: that
would cause conflicts between versions when the SONAME changes
(libpurple1 would have to have Conflicts: libpurple0, requiring
"lockstep" upgrades and defeating the purpose of the SONAME-versioned
library packages).

> There are other packages that depend on libfarstream and that may need
> to add the gstreamer plugins in the dependency fields (like empathy and
> gajim) according to the changes, but I will provide patches later.

Encapsulation: Empathy and Gajim shouldn't need to know the finer
details of the plugins used by Farstream. It should never be necessary
for a change in Farstream to result in adding dependencies to Empathy,
Gajim, kde-telepathy-call-ui and whatever else relies on it.


More information about the Pkg-telepathy-maintainers mailing list