+###############################################################################################################################
+###############################################################################################################################
+#
+# spec file for package freeswitch
+#
+# includes module(s): freeswitch-devel freeswitch-codec-passthru-amr freeswitch-codec-passthru-amrwb freeswitch-codec-passthru-g729
+# freeswitch-codec-passthru-g7231 freeswitch-lua freeswitch-perl freeswitch-python freeswitch-spidermonkey
+# freeswitch-lan-de freeswitch-lang-en freeswitch-lang-fr freeswitch-lang-ru freeswitch-openzap
+#
+# Initial Version Copyright (C) 2007 Peter Nixon and Michal Bielicki, All Rights Reserved.
+#
+# This file is part of:
+# FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+# Copyright (C) 2005-2010, Anthony Minessale II <anthm@freeswitch.org>
+#
+# This file and all modifications and additions to the pristine package are under the same license as the package itself.
+#
+# Contributor(s): Mike Jerris
+# Brian West
+# Raul Fragoso
+# Rupa Shomaker
+# Marc Olivier Chouinard
+# Raymond Chandler
+# Anthony Minessale II <anthm@freeswitch.org>
+#
+#
+# Maintainer(s): Michal Bielicki <michal.bielicki (at) ++nospam_please++ seventhsignal.de
+#
+###############################################################################################################################
+###############################################################################################################################
+#
# disable rpath checking
%define __arch_install_post /usr/lib/rpm/check-buildroot
%define _prefix /opt/freeswitch
%define sysconfdir /opt/freeswitch/conf
%define _sysconfdir %{sysconfdir}
-Name: freeswitch
-Summary: FreeSWITCH open source telephony platform
-License: MPL
-Group: Productivity/Telephony/Servers
-Version: 1.0.7
-Release: trunk
-URL: http://www.freeswitch.org/
+Name: freeswitch
+Summary: FreeSWITCH open source telephony platform
+License: MPL
+Group: Productivity/Telephony/Servers
+Version: 1.0.7
+Release: trunk
+URL: http://www.freeswitch.org/
Packager: Michal Bielicki
Vendor: http://www.freeswitch.org/
+
+###############################################################################################################################
+#
+# Source files and where to get them
+#
+###############################################################################################################################
Source0: http://files.freeswitch.org/%{name}-%{version}.tar.bz2
-Source1: http://files.freeswitch.org/downloads/libs/celt-0.7.0.tar.gz
-Source2: http://files.freeswitch.org/downloads/libs/flite-1.3.99-latest.tar.gz
-Source3: http://files.freeswitch.org/downloads/libs/lame-3.97.tar.gz
-Source4: http://files.freeswitch.org/downloads/libs/libshout-2.2.2.tar.gz
-Source5: http://files.freeswitch.org/downloads/libs/mpg123.tar.gz
-Source6: http://files.freeswitch.org/downloads/libs/openldap-2.4.11.tar.gz
-Source7: http://files.freeswitch.org/downloads/libs/pocketsphinx-0.5.99-latest.tar.gz
-Source8: http://files.freeswitch.org/downloads/libs/soundtouch-1.3.1.tar.gz
-Source9: http://files.freeswitch.org/downloads/libs/sphinxbase-0.4.99-latest.tar.gz
-Source10: http://files.freeswitch.org/downloads/libs/communicator_semi_6000_20080321.tar.gz
-Source11: http://files.freeswitch.org/downloads/libs/libmemcached-0.32.tar.gz
-Prefix: %{prefix}
-
-#AutoReqProv: no
+Source1: http://files.freeswitch.org/downloads/libs/celt-0.7.0.tar.gz
+Source2: http://files.freeswitch.org/downloads/libs/flite-1.3.99-latest.tar.gz
+Source3: http://files.freeswitch.org/downloads/libs/lame-3.97.tar.gz
+Source4: http://files.freeswitch.org/downloads/libs/libshout-2.2.2.tar.gz
+Source5: http://files.freeswitch.org/downloads/libs/mpg123.tar.gz
+Source6: http://files.freeswitch.org/downloads/libs/openldap-2.4.11.tar.gz
+Source7: http://files.freeswitch.org/downloads/libs/pocketsphinx-0.5.99-latest.tar.gz
+Source8: http://files.freeswitch.org/downloads/libs/soundtouch-1.3.1.tar.gz
+Source9: http://files.freeswitch.org/downloads/libs/sphinxbase-0.4.99-latest.tar.gz
+Source10: http://files.freeswitch.org/downloads/libs/communicator_semi_6000_20080321.tar.gz
+Source11: http://files.freeswitch.org/downloads/libs/libmemcached-0.32.tar.gz
+Prefix: %{prefix}
+
+
+###############################################################################################################################
+#
+# Build Dependencies
+#
+###############################################################################################################################
%if 0%{?suse_version} > 100
#BuildRequires: openldap2-devel
BuildRequires: which
BuildRequires: zlib-devel
BuildRequires: e2fsprogs-devel
+Requires: alsa-lib
+Requires: libogg
+Requires: libvorbis
+Requires: curl
+Requires: ncurses
+Requires: openssl
+Requires: unixODBC
+Requires: libjpeg
+Requires: openldap
+Requires: db4
+Requires: gdbm
+Requires: zlib
%if %{?suse_version:1}0
%if 0%{?suse_version} > 910
PreReq: %insserv_prereq %fillup_prereq
%endif
+
+###############################################################################################################################
+#
+# Where the packages are going to be built
+#
+###############################################################################################################################
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description
Our developers are heavily involved in open source and have donated code and other resources to
other telephony projects including sipXecs, OpenSER, Asterisk, CodeWeaver and OpenPBX.
+
+###############################################################################################################################
+#
+# Sub Package definitions. Description and Runtime Requirements go here
+# What goes into which package is in the files section after the whole build enchilada
+#
+###############################################################################################################################
+
+
%package devel
Summary: Development package for FreeSWITCH open source telephony platform
Group: System/Libraries
Summary: Perl support for the FreeSWITCH open source telephony platform
Group: System/Libraries
Requires: %{name} = %{version}-%{release}
+Rquires: perl
%description perl
Summary: Python support for the FreeSWITCH open source telephony platform
Group: System/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: python
%description python
%description openzap
OpenZAP
+###############################################################################################################################
+#
+# Unpack and prepare Source archives, copy stuff around etc ..
+#
+###############################################################################################################################
+
%prep
%setup -b0 -q
cp %{SOURCE1} libs/
cp %{SOURCE10} libs/
cp %{SOURCE11} libs/
-
+###############################################################################################################################
+#
+# Start the Build process
+#
+###############################################################################################################################
%build
%ifos linux
%if 0%{?suse_version} > 1000 && 0%{?suse_version} < 1030
%endif
%endif
-PASSTHRU_CODEC_MODULES="codecs/mod_g729 codecs/mod_g723_1 codecs/mod_amr codecs/mod_amrwb"
-APPLICATIONS_MODULES="applications/mod_commands applications/mod_conference applications/mod_dptools applications/mod_distributor applications/mod_enum applications/mod_esf applications/mod_expr applications/mod_fifo applications/mod_db applications/mod_hash applications/mod_rss applications/mod_voicemail applications/mod_directory applications/mod_fsv applications/mod_lcr applications/mod_easyroute applications/mod_stress applications/mod_vmd applications/mod_soundtouch applications/mod_spandsp applications/mod_memcache applications/mod_spy applications/mod_valet_parking applications/mod_avmd applications/mod_limit applications/mod_redis"
+###############################################################################################################################
+#
+# Here the modules that will be build get defined
+#
+###############################################################################################################################
+###############################################################################################################################
+#
+# Application Modules
+#
+###############################################################################################################################
+APPLICATIONS_MODULES_AE="applications/mod_avmd applications/mod_commands applications/mod_conference applications/mod_db applications/mod_directory applications/mod_distributor applications/mod_dptools applications/mod_easyroute applications/mod_enum applications/mod_esf applications/mod_expr"
+
+APPLICATION_MODULES_FM="applications/mod_fifo applications/mod_fsv applications/mod_hash applications/mod_lcr applications/mod_limitp applications/mod_memcache"
+
+APPLICATION_MODULES_NY=" applications/mod_redis applications/mod_rss applications/mod_soundtouch applications/mod_spandsp applications/mod_stress applications/mod_spy "
+
+APPLICATION_MODULES_VZ="applications/mod_valet_parking applications/mod_vmd applications/mod_voicemail"
+
+APPLICATION_MODULES="$APPLICATION_MODULES_AE $APPLICATION_MODULES_FM $APPLICATION_MODULES_NY $APPLICATION_MODULES_VZ"
+###############################################################################################################################
+#
+# Automatic Speech Recognition and Text To Speech Modules
+#
+###############################################################################################################################
+ASR_TTS_MODULES="asr_tts/mod_pocketsphinx asr_tts/mod_flite asr_tts/mod_unimrcp"
+###############################################################################################################################
+#
+# Codecs
+#
+###############################################################################################################################
CODECS_MODULES="codecs/mod_ilbc codecs/mod_h26x codecs/mod_speex codecs/mod_celt codecs/mod_siren codecs/mod_bv"
+###############################################################################################################################
+#
+# Dialplan Modules
+#
+###############################################################################################################################
DIALPLANS_MODULES="dialplans/mod_dialplan_asterisk dialplans/mod_dialplan_directory dialplans/mod_dialplan_xml"
+###############################################################################################################################
+#
+# Directory Modules
+#
+###############################################################################################################################
DIRECTORIES_MODULES=""
+###############################################################################################################################
+#
+# Endpoints
+#
+###############################################################################################################################
ENDPOINTS_MODULES="endpoints/mod_dingaling endpoints/mod_portaudio endpoints/mod_sofia ../../libs/openzap/mod_openzap endpoints/mod_loopback"
-ASR_TTS_MODULES="asr_tts/mod_pocketsphinx asr_tts/mod_flite asr_tts/mod_unimrcp"
+###############################################################################################################################
+#
+# Event Handlers
+#
+###############################################################################################################################
EVENT_HANDLERS_MODULES="event_handlers/mod_event_multicast event_handlers/mod_event_socket event_handlers/mod_cdr_csv"
+###############################################################################################################################
+#
+# File and Audio Format Handlers
+#
+###############################################################################################################################
FORMATS_MODULES="formats/mod_local_stream formats/mod_native_file formats/mod_sndfile formats/mod_tone_stream formats/mod_shout formats/mod_file_string"
-LANGUAGES_MODULES="languages/mod_spidermonkey languages/mod_perl languages/mod_lua languages/mod_python"
+###############################################################################################################################
+#
+# Embedded Languages
+#
+###############################################################################################################################
+LANGUAGES_MODULES="languages/mod_lua languages/mod_perl languages/mod_python languages/mod_spidermonkey"
+###############################################################################################################################
+#
+# Logging Modules
+#
+###############################################################################################################################
LOGGERS_MODULES="loggers/mod_console loggers/mod_logfile loggers/mod_syslog"
-SAY_MODULES="say/mod_say_en say/mod_say_de say/mod_say_fr"
+###############################################################################################################################
+#
+# Passthru Codecs
+#
+###############################################################################################################################
+PASSTHRU_CODEC_MODULES="codecs/mod_amr codecs/mod_amrwb codecs/mod_g723_1 codecs/mod_g729"
+###############################################################################################################################
+#
+# Phrase engine language modules
+#
+###############################################################################################################################
+SAY_MODULES="say/mod_say_de say/mod_say_en say/mod_say_fr say/mod_say_ru"
+###############################################################################################################################
+#
+# Timers
+#
+###############################################################################################################################
TIMERS_MODULES=
-DISABLED_MODULES="applications/mod_soundtouch asr_tts/mod_cepstral asr_tts/mod_lumenvox event_handlers/mod_event_test event_handlers/mod_radius_cdr event_handlers/mod_zeroconf languages/mod_managed languages/mod_java say/mod_say_it say/mod_say_es say/mod_say_nl languages/mod_yaml"
-XML_INT_MODULES="xml_int/mod_xml_rpc xml_int/mod_xml_curl xml_int/mod_xml_cdr "
+###############################################################################################################################
+#
+# XML Modules
+#
+###############################################################################################################################
+XML_INT_MODULES="xml_int/mod_xml_cdr xml_int/mod_xml_curl xml_int/mod_xml_rpc"
+###############################################################################################################################
+#
+# Create one environment variable out of all the module defs
+#
+###############################################################################################################################
MYMODULES="$PASSTHRU_CODEC_MODULES $APPLICATIONS_MODULES $CODECS_MODULES $DIALPLANS_MODULES $DIRECTORIES_MODULES $ENDPOINTS_MODULES $ASR_TTS_MODULES $EVENT_HANDLERS_MODULES $FORMATS_MODULES $LANGUAGES_MODULES $LOGGERS_MODULES $SAY_MODULES $TIMERS_MODULES $XML_INT_MODULES"
+###############################################################################################################################
+#
+# Create Modules build list and set variables
+#
+###############################################################################################################################
+
export MODULES=$MYMODULES
test ! -f modules.conf || rm -f modules.conf
touch modules.conf
export PKG_CONFIG_PATH=/usr/bin/pkg-config:$PKG_CONFIG_PATH
export ACLOCAL_FLAGS="-I /usr/share/aclocal"
+###############################################################################################################################
+#
+# Bootstrap, Configure and Build the whole enchilada
+#
+###############################################################################################################################
+
if test ! -f Makefile.in
then
./bootstrap.sh
--prefix=%{prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
- --sysconfdir=%{sysconfdir} \
- --libdir=%{prefix}/lib \
- --enable-core-libedit-support \
- --enable-core-odbc-support \
+ --sysconfdir=%{sysconfdir} \
+ --libdir=%{prefix}/lib \
+ --enable-core-libedit-support \
+ --enable-core-odbc-support \
%ifos linux
%if 0%{?fedora_version} >= 8
%else
%{__make}
+
+###############################################################################################################################
+#
+# Install it and create some required dirs and links
+#
+###############################################################################################################################
%install
-# delete unsupported langugages for now
-#rm -rf conf/lang/de
-#rm -rf conf/lang/fr
-#rm -rf $RPM_BUILD_ROOT%{prefix}/conf/lang/de
-#rm -rf $RPM_BUILD_ROOT%{prefix}/conf/lang/fr
%{__make} DESTDIR=$RPM_BUILD_ROOT install
%endif
-# Add a freeswitch user with group daemon
+###############################################################################################################################
+#
+# Add a freeswitch user with group daemon that will own the whole enchilada
+#
+###############################################################################################################################
%pre
%ifos linux
if ! /usr/bin/id freeswitch &>/dev/null; then
chkconfig --add freeswitch
+
+
%postun
+###############################################################################################################################
+#
+# On uninstallation get rid of the freeswitch user
+#
+###############################################################################################################################
%{?run_ldconfig:%run_ldconfig}
if [ $1 -eq 0 ]; then
userdel freeswitch || %logmsg "User \"freeswitch\" could not be deleted."
%{__rm} -rf $RPM_BUILD_ROOT
%files
+###############################################################################################################################
+#
+# What to install where ... first set default permissions
+#
+###############################################################################################################################
%defattr(-,freeswitch,daemon)
-%ifos linux
-%dir %attr(0750, root, root) /etc/monit.d
-%endif
+###############################################################################################################################
+#
+# Directories
+#
+###############################################################################################################################
+#
+#################################### Basic Directory Structure ################################################################
+#
+%dir %attr(0750, freeswitch, daemon) %{prefix}/conf
%dir %attr(0750, freeswitch, daemon) %{prefix}/db
+%dir %attr(0750, freeswitch, daemon) %{prefix}/grammar
+%dir %attr(0750, freeswitch, daemon) %{prefix}/htdocs
%dir %attr(0750, freeswitch, daemon) %{prefix}/log
-%dir %attr(0750, freeswitch, daemon) %{prefix}/run
%dir %attr(0750, freeswitch, daemon) %{prefix}/log/xml_cdr
-%dir %attr(0750, freeswitch, daemon) %{prefix}/htdocs
+%dir %attr(0750, freeswitch, daemon) %{prefix}/run
%dir %attr(0750, freeswitch, daemon) %{prefix}/scripts
-%dir %attr(0750, freeswitch, daemon) %{prefix}/conf
+#
+#################################### Config Directory Structure ################################################################
+#
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/autoload_configs
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/dialplan
+%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/dialplan/default
+%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/dialplan/public
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/dialplan/skinny-patterns
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/directory
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/directory/default
+%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/jingle_profiles
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/mrcp_profiles
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/sip_profiles
-%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/skinny_profiles
-%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/dialplan/default
-%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/dialplan/public
-%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/sip_profiles/internal
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/sip_profiles/external
-%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/jingle_profiles
-%dir %attr(0750, freeswitch, daemon) %{prefix}/grammar
+%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/sip_profiles/internal
+%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/skinny_profiles
+#
+#################################### Grammar Directory Structure ################################################################
+#
%dir %attr(0750, freeswitch, daemon) %{prefix}/grammar/model
%dir %attr(0750, freeswitch, daemon) %{prefix}/grammar/model/communicator
%dir %attr(0750, freeswitch, daemon) %{prefix}/grammar/model/wsj1
%ifos linux
%config(noreplace) %attr(0644, freeswitch, daemon) /etc/monit.d/freeswitch.monitrc
%endif
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/mime.types
+###############################################################################################################################
+#
+# Config Files
+#
+###############################################################################################################################
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/*.tpl
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/*.ttml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/*.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/m3ua.conf
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/extensions.conf
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/m3ua.conf
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/mime.types
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/acl.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/cidlookup.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/alsa.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/cdr_csv.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/cdr_pg_csv.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/cidlookup.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/conference.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/console.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/db.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/dialplan_directory.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/dingaling.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/directory.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/distributor.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/easyroute.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/enum.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/erlang_event.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/event_multicast.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/event_socket.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/erlang_event.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/cdr_csv.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/cdr_pg_csv.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/fax.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/fifo.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/shout.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/spandsp.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/timezones.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/ivr.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/java.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/db.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/lcr.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/local_stream.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/logfile.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/memcache.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/modules.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/nibblebill.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/opal.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/osp.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/pocketsphinx.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/portaudio.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/post_load_modules.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/redis.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/rss.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/sangoma_codec.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/shout.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/skinny.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/sofia.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/spandsp.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/switch.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/syslog.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/timezones.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/tts_commandline.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/unicall.conf.xml
+%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/unimrcp.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/voicemail.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/xml_cdr.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/xml_curl.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/xml_rpc.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/zeroconf.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/easyroute.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/lcr.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/opal.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/osp.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/unicall.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/memcache.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/nibblebill.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/unimrcp.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/directory.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/distributor.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/tts_commandline.conf.xml
-%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/redis.conf.xml
+###############################################################################################################################
+#
+# Dialplans
+#
+###############################################################################################################################
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/dialplan/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/dialplan/default/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/dialplan/public/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/dialplan/skinny-patterns/*.xml
+###############################################################################################################################
+#
+# User Directories
+#
+###############################################################################################################################
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/directory/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/directory/default/*
+###############################################################################################################################
+#
+# IVR Menues
+#
+###############################################################################################################################
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/ivr_menus/*.xml
+###############################################################################################################################
+#
+# Sip Profiles
+#
+###############################################################################################################################
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/sip_profiles/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/sip_profiles/internal/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/sip_profiles/external/*.xml
+###############################################################################################################################
+#
+# Other Protocol Profiles (skinny, jingle, mrcp)
+#
+###############################################################################################################################
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/skinny_profiles/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/jingle_profiles/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/mrcp_profiles/*.xml
+###############################################################################################################################
+#
+# Grammar Files
+#
+###############################################################################################################################
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/grammar/default.dic
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/grammar/model/communicator/*
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/grammar/model/wsj1/*
+###############################################################################################################################
+#
+# Other FĂles
+#
+###############################################################################################################################
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/htdocs/*
%ifos linux
#/etc/ld.so.conf.d/*
/usr/sbin/rcfreeswitch
%endif
%endif
+%ifos linux
+%dir %attr(0750, root, root) /etc/monit.d
+%endif
+###############################################################################################################################
+#
+# Binaries
+#
+###############################################################################################################################
%attr(0755, freeswitch, daemon) %{prefix}/bin/*
%{prefix}/lib/libfreeswitch*.so*
+###############################################################################################################################
+#
+# Modules in Alphabetical Order, please keep them that way..
+#
+###############################################################################################################################
+%{prefix}/mod/mod_amrwb.so*
+%{prefix}/mod/mod_avmd.so*
+%{prefix}/mod/mod_bv.so*
+%{prefix}/mod/mod_cdr_csv.so*
+%{prefix}/mod/mod_celt.so*
%{prefix}/mod/mod_console.so*
-%{prefix}/mod/mod_logfile.so*
-%{prefix}/mod/mod_syslog.so*
%{prefix}/mod/mod_commands.so*
%{prefix}/mod/mod_conference.so*
-%{prefix}/mod/mod_dptools.so*
-%{prefix}/mod/mod_enum.so*
-%{prefix}/mod/mod_esf.so*
-%{prefix}/mod/mod_expr.so*
-%{prefix}/mod/mod_fifo.so*
%{prefix}/mod/mod_db.so*
-%{prefix}/mod/mod_rss.so*
-%{prefix}/mod/mod_voicemail.so*
-%{prefix}/mod/mod_directory.so*
-%{prefix}/mod/mod_pocketsphinx.so*
-%{prefix}/mod/mod_flite.so*
-%{prefix}/mod/mod_ilbc.so*
-%{prefix}/mod/mod_h26x.so*
-%{prefix}/mod/mod_speex.so*
+%{prefix}/mod/mod_dialplan_asterisk.so*
%{prefix}/mod/mod_dialplan_directory.so*
%{prefix}/mod/mod_dialplan_xml.so*
-%{prefix}/mod/mod_dialplan_asterisk.so*
-%{prefix}/mod/mod_dingaling.so*
-%{prefix}/mod/mod_portaudio.so*
-%{prefix}/mod/mod_sofia.so*
-%{prefix}/mod/mod_cdr_csv.so*
+%{prefix}/mod/mod_dingaling.so*
+%{prefix}/mod/mod_directory.so*
+%{prefix}/mod/mod_distributor.so*
+%{prefix}/mod/mod_dptools.so*
+%{prefix}/mod/mod_easyroute.so*
+%{prefix}/mod/mod_enum.so*
+%{prefix}/mod/mod_esf.so*
%{prefix}/mod/mod_event_multicast.so*
%{prefix}/mod/mod_event_socket.so*
+%{prefix}/mod/mod_expr.so*
+%{prefix}/mod/mod_fifo.so*
%{prefix}/mod/mod_file_string.so*
-%{prefix}/mod/mod_native_file.so*
-%{prefix}/mod/mod_sndfile.so*
-%{prefix}/mod/mod_local_stream.so*
-%{prefix}/mod/mod_xml_rpc.so*
-%{prefix}/mod/mod_xml_curl.so*
-%{prefix}/mod/mod_xml_cdr.so*
+%{prefix}/mod/mod_flite.so*
%{prefix}/mod/mod_fsv.so*
-%{prefix}/mod/mod_tone_stream.so*
-%{prefix}/mod/mod_amrwb.so*
-%{prefix}/mod/mod_celt.so*
-%{prefix}/mod/mod_easyroute.so*
+%{prefix}/mod/mod_hash.so*
+%{prefix}/mod/mod_h26x.so*
+%{prefix}/mod/mod_ilbc.so*
%{prefix}/mod/mod_lcr.so*
+%{prefix}/mod/mod_limit.so*
+%{prefix}/mod/mod_local_stream.so*
+%{prefix}/mod/mod_logfile.so*
%{prefix}/mod/mod_loopback.so*
-%{prefix}/mod/mod_siren.so*
-%{prefix}/mod/mod_bv.so*
-%{prefix}/mod/mod_stress.so*
+%{prefix}/mod/mod_memcache.so*
+%{prefix}/mod/mod_native_file.so*
+%{prefix}/mod/mod_pocketsphinx.so*
+%{prefix}/mod/mod_portaudio.so*
+%{prefix}/mod/mod_redis.so*
+%{prefix}/mod/mod_rss.so*
%{prefix}/mod/mod_shout.so*
-%{prefix}/mod/mod_spandsp.so*
+%{prefix}/mod/mod_siren.so*
+%{prefix}/mod/mod_sndfile.so*
+%{prefix}/mod/mod_sofia.so*
%{prefix}/mod/mod_soundtouch.so*
-%{prefix}/mod/mod_vmd.so*
+%{prefix}/mod/mod_spandsp.so*
+%{prefix}/mod/mod_speex.so*
+%{prefix}/mod/mod_spy.so*
+%{prefix}/mod/mod_stress.so*
+%{prefix}/mod/mod_syslog.so*
+%{prefix}/mod/mod_tone_stream.so*
%{prefix}/mod/mod_unimrcp.so*
-%{prefix}/mod/mod_avmd.so*
%{prefix}/mod/mod_valet_parking.so*
-%{prefix}/mod/mod_distributor.so*
-%{prefix}/mod/mod_memcache.so*
-%{prefix}/mod/mod_spy.so*
-%{prefix}/mod/mod_limit.so*
-%{prefix}/mod/mod_hash.so*
-%{prefix}/mod/mod_redis.so*
+%{prefix}/mod/mod_vmd.so*
+%{prefix}/mod/mod_voicemail.so*
+%{prefix}/mod/mod_xml_cdr.so*
+%{prefix}/mod/mod_xml_curl.so*
+%{prefix}/mod/mod_xml_rpc.so*
+###############################################################################################################################
+#
+# Package for the developer
+#
+###############################################################################################################################
+%files devel
+%defattr(-, freeswitch, daemon)
+%{prefix}/lib/*.a
+%{prefix}/lib/*.la
+%{prefix}/lib/pkgconfig/*
+%{prefix}/mod/*.a
+%{prefix}/mod/*.la
+%{prefix}/include/*.h
+
+###############################################################################################################################
+#
+# OpenZAP Module for TDM Interaction
+#
+###############################################################################################################################
%files openzap
+%defattr(-, freeswitch, daemon)
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/tones.conf
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/openzap.conf.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/pika.conf
%{prefix}/mod/ozmod_analog.so*
%{prefix}/mod/ozmod_analog_em.so*
%{prefix}/mod/ozmod_isdn.so*
-%{prefix}/mod/ozmod_skel.*
+%{prefix}/mod/ozmod_skel.so*
%{prefix}/mod/ozmod_zt.so*
+###############################################################################################################################
+#
+# Passthru Codec Modules
+#
+###############################################################################################################################
%files codec-passthru-amrwb
%defattr(-,freeswitch,daemon)
%{prefix}/mod/mod_amrwb.so*
%defattr(-,freeswitch,daemon)
%{prefix}/mod/mod_g729.so*
+
+###############################################################################################################################
+#
+# Embedded Language Modules
+#
+###############################################################################################################################
%files spidermonkey
%defattr(-,freeswitch,daemon)
%{prefix}/mod/mod_spidermonkey*.so*
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/autoload_configs
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/python.conf.xml
-%files devel
-%defattr(-, freeswitch, daemon)
-%{prefix}/lib/*.a
-%{prefix}/lib/*.la
-%{prefix}/lib/pkgconfig/*
-%{prefix}/mod/*.a
-%{prefix}/mod/*.la
-%{prefix}/include/*.h
-
+###############################################################################################################################
+#
+# Language Modules
+#
+###############################################################################################################################
%files lang-en
+%defattr(-, freeswitch, daemon)
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/en
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/en/demo
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/en/vm
%{prefix}/mod/mod_say_en.so*
%files lang-de
+%defattr(-, freeswitch, daemon)
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/de
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/de/demo
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/de/vm
%{prefix}/mod/mod_say_de.so*
%files lang-fr
+%defattr(-, freeswitch, daemon)
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/fr
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/fr/demo
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/fr/vm
%{prefix}/mod/mod_say_fr.so*
%files lang-ru
+%defattr(-, freeswitch, daemon)
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/ru
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/ru/demo
%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/lang/ru/vm
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/lang/ru/demo/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/lang/ru/vm/*.xml
%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/lang/ru/dir/*.xml
+%{prefix}/mod/mod_say_ru.so*
+###############################################################################################################################
+#
+# Changelog
+#
+###############################################################################################################################
%changelog
+* Tue Jun 22 2010 - michal.bielicki@seventhsignal.de
+- Added comments and made the spec file sections more transparent
+- Added proper header to the Spec file
+- Added Contributors
+- Added Anthony's copyright for the whole package into the header
+* Tue Jun 22 2010 - michal.bielicki@seventhsignal.de
+- Reorganized the modules alphabeticaly
+- synced SFEopensolaris and centos spec
+- started to fix Run Dependencies
+- added mod_say_ru which seemd to have gone missing
+- added comment blocks to show the spec file structure for easier management and editing
* Mon Jun 21 2010 - michal.bielicki@seventhsignal.de
- added mod_limit shim for backwards compatibility
- added mod_hash correctly