[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#389591: package testing



So after a good hour or two of compiling the world, I was able to
generate debian packages out of the 1.0.5-20100101-0400 snapshot.

freeswitch can be started with:

/opt/freeswitch/bin/freeswitch -u freeswitch -c -nf

I'm not sure everything is in order. I can't get the IVR demo to work
and i'm also having trouble with conferences. But simple SIP routing,
echo tests and the nice tetris song work well.

all in all, there are a few more libraries dynamicall downloaded during
the build process, which makes the end picture look like this:

apr                  json-c-0.8.tar.gz         libsndfile     sqlite
apr-util             lame-3.97                 libteletone    srtp
broadvoice           lame-3.97.tar.gz          miniupnpc      stfu
celt-0.7.0-1         libdingaling              mpg123         tiff-3.8.2
celt-0.7.0-1.tar.gz  libedit                   mpg123.tar.gz  udns
curl                 libg722_1                 openzap        unimrcp
esl                  libmemcached-0.32         pcre           win32
iksemel              libmemcached-0.32.tar.gz  portaudio      xmlrpc-c
ilbc                 libnatpmp                 sofia-sip      yaml
js                   libshout-2.2.2            spandsp
json-c-0.8           libshout-2.2.2.tar.gz     speex

So the externally downloaded (which are probably also duplicates of
existing packages too) are:

celt-0.7.0-1, json-c-0.8, lame-3.97, libmemcached-0.32, libshout-2.2.2
and mpg123

I suspect that lame and mpg123 are also non-free.

I haven't found out how to get rid of those internal dependencies.
Everything is hidden under a pile of automake stuff in upstream's
Makefile.am. I *think* it all revolves around the CORE_LIBS variable,
but that's as far as I got.

So the way forward here would be probably to ask upstream how we're
supposed to integrate this with existing distributions that already
bundle those libraries. I can't believe we're actually support to
package it this way, there's gotta be an easier way. Namely, upstream
should provide a simpler tarball without all those libraries, and a way
to link with existing ones in the automake toolchain directly.

Then the package will need to be fixed to move out of /opt. I think that
we could start with /usr/lib/freeswitch for now, but that's not quite
standard, as we will need to split things around /usr... not sure how to
do that by looking at the Makefile.am.

Finally, non-free bits should be removed (lame and mpg123 come to mind).

So bottomline, what's missing here is this:

 1. get rid of the duplicate libraries, which involves:
   a. asking help upstream, which will imply:
   b. removing the library code from the tarball, and;
   c. link with existing libraries.
 2. move the binaries out of /opt:
   a. try to move to /usr/lib/freeswitch, then;
   b. split configuration files, libraries and binaries in proper paths
   (/etc/freeswitch, /usr/lib, /usr/bin, etc)
 3. remove non-free bits (mpg123 and lame on the radar right now)

We're not there yet, but at least that looks like a reasonable task
list...

A.

-- 
La guerre, c'est le massacre d'hommes qui ne se connaissent pas,
au profit d'hommes qui se connaissent mais ne se massacreront pas.
                        - Paul Valéry

Attachment: signature.asc
Description: Digital signature


Reply to: