[Freeswitch-dev] Freeswitch packaging for Raspberry Pi?

Hans Bakker hansmbakker at gmail.com
Thu Nov 14 21:33:12 MSK 2013


Hi all,

I'm trying to build FreeSwitch packages for Raspberry. I installed Raspbian
(on an USB-drive, as building it needs a LOT of space), and used the
http://wiki.freeswitch.org/wiki/Debian_packages_buildscript script.

*My script modifications are below.*

My steps:

   - I installed dpkg-dev devscripts (sudo and git were already installed)
   - I hardcoded DISTRO to 'wheezy' because lsb_release returns 'n/a' on
   Raspbian although it is based on wheezy.
   - I ran the buildscript with sudo and installed the build-dependencies
   that mk-build-deps came up with

*However, my problem is that it tries to build applications/mod_soundtouch
which wants to use the -msse2 compile switch which is not available on the
Raspberry. That is why I get compiler errors and the build fails.*

I tried to remove it by adding it to avoid_mods and avoid_mods_wheezy in
freeswitch/debian/bootstrap.sh, but this didn't help..

Can somebody help me building these packages? I will share the result when
I succeed :)

Kind regards,

Hans


Changed build_freeswitch_deb.sh:


#!/bin/sh -e
#
# Helper script for building Debian packages
#
# FreeSWITCH will be downloaded from Git into ./freeswitch/ and built.
# The resulting Debian packages will be placed in the current directory.
#
# You should run this as an unprivileged user, with sudo permissions
# to install build dependencies (add your user to the sudo group).
#
# Build dependencies:
# $ apt-get -y install git dpkg-dev devscripts sudo
# All other dependencies are installed by the script.
#
# If modules.conf exists in the current directory then it will be
# used to select the modules to be built.
#

# Configuration
BRANCH=v1.2.stable
DCH_DISTRO=UNRELEASED
# SIGN_KEY= (Optional)

# Download FreeSWITCH
git clone -b $BRANCH git://git.freeswitch.org/freeswitch.git

# Version number for Git checkouts needs to be generated
DISTRO=wheezy
FS_VERSION="$(cat freeswitch/build/next-release.txt | sed -e
's/-/~/g')~n$(date +%Y%m%dT%H%M%SZ)-1~${DISTRO}+1"
(cd freeswitch && build/set-fs-version.sh "$FS_VERSION")
(cd freeswitch && dch -b -m -v "$FS_VERSION" --force-distribution -D
"$DCH_DISTRO" "Custom build.")

# Optional: if modules.conf exists use this to select which modules to build
if [ -f modules.conf ]; then cp modules.conf freeswitch/debian; fi

# Bootstrap debian buildsystem
(cd freeswitch/debian && ./bootstrap.sh -c ${DISTRO})

# See FS-5863
mv freeswitch/debian/control freeswitch/debian/control.bak
cat freeswitch/debian/control.bak | sed -e '/^#/d' | sed -e
'/^$/N;/^\n$/D' > freeswitch/debian/control

# Install build dependencies
sudo mk-build-deps -i freeswitch/debian/control

# Build
if [ -z "$SIGN_KEY" ]; then
  (cd freeswitch && dpkg-buildpackage -b -uc)
else
  (cd freeswitch && dpkg-buildpackage -b -k$SIGN_KEY)
fi

Modified *beginning of *freeswitch/debian/bootstrap.sh (I didn't remove the
rest)

#!/bin/bash
##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
##### Author: Travis Cross <tc at traviscross.com>

mod_dir="../src/mod"
conf_dir="../conf"
lang_dir="../conf/vanilla/lang"
fs_description="FreeSWITCH is a scalable open source cross-platform
telephony platform designed to route and interconnect popular
communication protocols using audio, video, text or any other form of
media."
mod_build_depends="." mod_depends="." mod_recommends="." mod_suggests="."
supported_distros="squeeze wheezy jessie sid"
avoid_mods=(
  applications/mod_limit
  applications/mod_mongo
  applications/mod_mp4
  applications/mod_osp
  applications/mod_rad_auth
  applications/mod_skel
  *applications/mod_soundtouch*
  asr_tts/mod_cepstral
  codecs/mod_com_g729
  codecs/mod_ilbc
  codecs/mod_sangoma_codec
  codecs/mod_siren
  codecs/mod_skel_codec
  codecs/mod_voipcodecs
  endpoints/mod_gsmopen
  endpoints/mod_h323
  endpoints/mod_khomp
  endpoints/mod_opal
  endpoints/mod_reference
  endpoints/mod_unicall
  formats/mod_shout
  languages/mod_managed
  languages/mod_spidermonkey
  sdk/autotools
  xml_int/mod_xml_ldap
  xml_int/mod_xml_radius
)
avoid_mods_sid=(
  languages/mod_java
)
avoid_mods_jessie=(
)
avoid_mods_wheezy=(
  *applications/mod_soundtouch*
)
avoid_mods_squeeze=(
  formats/mod_vlc
  languages/mod_managed
)
./bootstrap.sh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20131114/71f0f3a3/attachment-0001.html 


Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-dev mailing list