Bug#550891: It is a libfarstream packaging bug

2013-12-08 Thread Trek
On Sat, 07 Dec 2013 10:28:55 -0500
Ari Pollak a...@debian.org wrote:

Thanks for the patch. For the patch to the libpurple source, can you
try to get it merged with pidgin upstream? I don't really trust myself
to maintain a far-reaching patch that I didn't write, since I am not an
expert on the upstream source.

The patch on the libpurple source code is not useful, because it does
not add any real functionality that is not already present, as the
gstreamer/farstream libraries do the dynamic loading work of their
plugins. So there is no need to patch the code. I have included it only
as a reference and an alternative way to circumvent the problem in the
future.


As far as the patch to Debian control files, unfortunately I can't use
that as-is because it will only apply to the auto-generated version,
which will change with any new build. Can you create a patch that I can
apply against the full extracted debian source (e.g. apt-get source
pidgin), and create a separate bug for farstream? Ideally it will
obtain the correct dependency versions automatically (probably via
debian/rules) instead of hardcoding them in the control file.

Please to correct me, but I think I should not create a separate
bug for farstream, as this bug report describes the problem found in
the farstream package, that affects the pidgin package (and others), but
it is not a bug of pidgin itself. It should be reassigned and the
previous mail was CC'ed to the farstream maintainers for that reason.

The patch to the pidgin/finch debian packages only adds descriptions
for the optional packages and refine some other dependency like gconf,
pidgin-data and the gstreamer-plugins missed.

I would make the patches against the full debian source, but actually I
do not exactly understand how, as for example gconf is not mentioned in
the depends field of the control file. It will take to me some day to
learn the debian helper architecture, meanwhile I wanted to write here
my findings.

I need to do further testing to know exactly which gstreamer-plugins
are required to make voice/video calls or simply to play sounds. In
fact, according to the specifications, gstreamer-plugins-bad is needed
to make a video call on Gtalk, but I have no hardware or counterpart to
test it at the moment. Also gstreamer-nice may be needed but missed in
my patch and gstreamer-plugins-good should be required not only to make
voice calls, but also to decode the .wav files of pidgin-data. Finally,
the position of /etc/purple/prefs.xml in the pidgin-data package is
correct, I was in error.

The patch provided in my previous mail can anyway be applied to do
some testing and to fix the bug for the users that read this bug log
and cannot wait. It can be applied with these commands for every
debian package modified (libfarstream, pidgin, finch):

$ dpkg-deb -R libfarstream-0.1-0_0.1.2-1_i386.deb libfarstream
$ cd libfarstream
$ patch -p1  ../nogst.patch
$ rm DEBIAN/control.*
$ cd ..
$ dpkg-deb -b libfarstream libfarstream-0.1-0_0.1.2-1+nogst_i386.deb
$ sudo dpkg -i libfarstream-0.1-0_0.1.2-1+nogst_i386.deb

Sorry for my bad english if I was unclear, I should write more code and
less english :)

ciao!


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#550891: It is a libfarstream packaging bug

2013-12-07 Thread Ari Pollak
Thanks for the patch. For the patch to the libpurple source, can you try
to get it merged with pidgin upstream? I don't really trust myself to
maintain a far-reaching patch that I didn't write, since I am not an
expert on the upstream source.
As far as the patch to Debian control files, unfortunately I can't use
that as-is because it will only apply to the auto-generated version,
which will change with any new build. Can you create a patch that I can
apply against the full extracted debian source (e.g. apt-get source
pidgin), and create a separate bug for farstream? Ideally it will obtain
the correct dependency versions automatically (probably via
debian/rules) instead of hardcoding them in the control file.

- Ari


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#550891: It is a libfarstream packaging bug

2013-12-06 Thread Trek
In the effort to reduce the pidgin dependencies, I wrote a patch to
dynamically load libfarstream only if it is installed. I never coded
with GObjects and so only during the testing to finish the patch I
realized that there is no need to modify the code. Only the package
dependencies should be reworked. In fact libpurple depends on
libfarstream (855kB), that depends on the gstreamer plugins (65,5MB),
but they are dynamically loaded only if installed[1] and they are needed
only to make voice and video calls with Gtalk (only voice with finch).

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 also patched the pidgin package to remove the gconf dependency, as it
is needed only with Gnome (that installs it) to get the automatic
configuration[2] for audio, video and url-handlers. Also the finch
package uses gconf for audio configuration, while the libpurple package
uses gconf for the proxy one. 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).

The patch attached should fix the bug, reducing by 2/3 the disk space
requirements for pidgin (36,9MB / 10 packages instead of 102,4MB / 78
packages) and by 9/10 for finch (9,1MB / 8 packages instead of
100,3MB / 77 packages). The depends fields are replaced with recommends
or suggests for the optional packages, conforming to the policy manual
rule 7.2. No breakage is excepted because since the 0.7.17 version of
Apt, the recommended packages are installed by default.

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.

All the patches applies on the wheezy version, but the jessie packages
are affected too.

ciao

References:
1. http://lists.freedesktop.org/archives/farstream-devel/2012-April/15.html
2. https://developer.pidgin.im/ticket/11191

Patches:
1. nogst: to be applied to the wheezy debian packages i386
2. backend_module: not useful, but included as reference (ver. 2.10.7)
diff -urN libfarstream/DEBIAN/control libfarstream-nogst/DEBIAN/control
--- libfarstream/DEBIAN/control	2012-04-08 01:48:13.0 +0200
+++ libfarstream-nogst/DEBIAN/control	2013-12-03 17:25:03.484908105 +0100
@@ -1,11 +1,13 @@
 Package: libfarstream-0.1-0
 Source: farstream
-Version: 0.1.2-1
+Version: 0.1.2-1+nogst
 Architecture: i386
 Maintainer: Debian Telepathy maintainers pkg-telepathy-maintain...@lists.alioth.debian.org
 Installed-Size: 855
 Pre-Depends: multiarch-support
-Depends: libc6 (= 2.7), libglib2.0-0 (= 2.31.8), libgssdp-1.0-3 (= 0.12.0), libgstreamer-plugins-base0.10-0 (= 0.10.33), libgstreamer0.10-0 (= 0.10.33), libgupnp-1.0-4 (= 0.18.0), libgupnp-igd-1.0-4 (= 0.1.8), libnice10 (= 0.1.0), libsoup2.4-1 (= 2.4.0), libxml2 (= 2.6.27), gstreamer0.10-plugins-base (= 0.10.33), gstreamer0.10-plugins-good (= 0.10.29), gstreamer0.10-plugins-bad (= 0.10.17), gstreamer0.10-nice (= 0.1.0)
+Depends: libc6 (= 2.7), libglib2.0-0 (= 2.31.8), libgstreamer-plugins-base0.10-0 (= 0.10.33), libgstreamer0.10-0 (= 0.10.33), libxml2 (= 2.6.27)
+Recommends: libgssdp-1.0-3 (= 0.12.0), libgupnp-1.0-4 (= 0.18.0), libgupnp-igd-1.0-4 (= 0.1.8), libnice10 (= 0.1.0), libsoup2.4-1 (= 2.4.0)
+Suggests: gstreamer0.10-plugins-base (= 0.10.33), gstreamer0.10-plugins-good (= 0.10.29), gstreamer0.10-plugins-bad (= 0.10.17), gstreamer0.10-nice (= 0.1.0)
 Conflicts: libgstfarsight0.10-0
 Replaces: libgstfarsight0.10-0
 Section: libs
@@ -20,3 +22,10 @@
  plugins.
  .
  This package provides the core Farstream library.
+ .
+ libnice10 is needed to use the nice and the raw udp transmitters and the
+ MSN Webcam plugin.
+ libgssdp-1.0-3, libgupnp-1.0-4, libgupnp-igd-1.0-4 and libsoup2.4-1 are needed
+ to use the raw udp transmitter.
+ GStreamer plugins are optional components that may be needed by the software
+ built with Farsteram.
diff -urN pidgin/DEBIAN/control pidgin-nogst/DEBIAN/control
--- pidgin/DEBIAN/control	2013-02-13 21:57:39.0 +0100
+++ pidgin-nogst/DEBIAN/control	2013-12-06 09:19:20.582410040 +0100
@@ -1,11 +1,11 @@
 Package: pidgin
-Version: 2.10.6-3
+Version: 2.10.6-3+nogst
 Architecture: i386
 Maintainer: Ari Pollak a...@debian.org
 Installed-Size: 2206
-Depends: pidgin-data (= 2.10.6), pidgin-data ( 2.10.6-z), libatk1.0-0 (= 1.12.4), libc6 (= 2.7), libcairo2 (= 1.2.4), libdbus-1-3 (= 1.0.2), libdbus-glib-1-2 (= 0.78), libfontconfig1 (= 2.9.0), libfreetype6 (= 2.2.1), libgdk-pixbuf2.0-0 (= 2.22.0), libglib2.0-0 (= 2.24.0), libgstreamer0.10-0 (= 0.10.10), libgtk2.0-0 (= 2.24.0), libgtkspell0 (= 2.0.10), libice6 (=