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