[Freeswitch-svn] [commit] r6448 - freeswitch/trunk/build
Freeswitch SVN
cypromis at freeswitch.org
Fri Nov 30 09:45:45 EST 2007
Author: cypromis
Date: Fri Nov 30 09:45:45 2007
New Revision: 6448
Modified:
freeswitch/trunk/build/freeswitch.spec
Log:
OK, this is V1 of the new type specfile
Builds on:
Centos5 32bit
Centos5 64bit
OpenSuse 10.3 32bit
OpenSuse 10.3 64bit
OpenSuse 10.2 32bit
OpenSuse 10.2 64bit
Suse 10.1 32bit
Suse 10.1 64bit
Fedora 7 32bit
Fedora 6 64bit
Fedora8 32bit
Fedora8 64bit
Fedora Extras 6 32bit
Not checked for running and currently I am working on having all premissions and ownerships correctly in there.
Also need to add an examples part for things like monit file etc ..
Modified: freeswitch/trunk/build/freeswitch.spec
==============================================================================
--- freeswitch/trunk/build/freeswitch.spec (original)
+++ freeswitch/trunk/build/freeswitch.spec Fri Nov 30 09:45:45 2007
@@ -1,35 +1,36 @@
-Name: freeswitch-snapshot
+Name: freeswitch
Summary: FreeSWITCH open source telephony platform
License: MPL
Group: Productivity/Telephony/Servers
-Version: 6382
-Release: 0
+Version: 1.0.beta3
+Release: 1
URL: http://www.freeswitch.org/
-Packager: Peter Nixon
-Vendor: http://peternixon.net/
+Packager: Michal Bielicki
+Vendor: http://www.voiceworks.pl/
Source0: %{name}-%{version}.tar.bz2
-Source1: modules.conf
#AutoReqProv: no
+%if 0%{?suse_version} > 100
BuildRequires: alsa-devel
+#BuildRequires: openldap2-devel
+BuildRequires: lzo-devel
+%else
+BuildRequires: alsa-lib-devel
+BuildRequires: openldap-devel
+%endif
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: curl-devel
BuildRequires: gcc-c++
BuildRequires: gnutls-devel
BuildRequires: libtool >= 1.5.14
-BuildRequires: lzo-devel
-BuildRequires: freeradius-client-snapshot-devel
-BuildRequires: mysql-devel
BuildRequires: ncurses-devel
-BuildRequires: openldap2-devel
BuildRequires: openssl-devel
BuildRequires: perl
BuildRequires: pkgconfig
-BuildRequires: python-devel
BuildRequires: termcap
-#BuildRequires: unixODBC-devel
+BuildRequires: unixODBC-devel
%if %{?suse_version:1}0
%if 0%{?suse_version} > 910
@@ -60,7 +61,10 @@
Our developers are heavily involved in open source and have donated code and other resources to other telephony projects including sipX, Asterisk and OpenPBX.
+%if 0%{?suse_version} > 100
%debug_package
+%endif
+
%package devel
Summary: Development package for FreeSWITCH open source telephony platform
Group: System/Libraries
@@ -96,35 +100,66 @@
%description codec-passthru-g729
Pass-through g729 Codec support for FreeSWITCH open source telephony platform
+%package spidermonkey
+Summary: JavaScript support for the FreeSWITCH open source telephony platform
+Group: System/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description spidermonkey
+
%prep
%setup -q
%build
#export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED -fPIC -DPIC"
-export CFLAGS="$RPM_OPT_FLAGS -fPIC -DPIC"
+#export CFLAGS="$RPM_OPT_FLAGS -fPIC -DPIC"
%if 0%{?suse_version} > 1000 && 0%{?suse_version} < 1030
export CFLAGS="$CFLAGS -fstack-protector"
%endif
-
+PASSTHRU_CODEC_MODULES="codecs/mod_g729 codecs/mod_g723_1 codecs/mod_amr"
+SPIDERMONKEY_MODULES="languages/mod_spidermonkey languages/mod_spidermonkey_core_db languages/mod_spidermonkey_odbc languages/mod_spidermonkey_socket languages/mod_spidermonkey_teletone"
+APPLICATIONS_MODULES="applications/mod_commands applications/mod_conference applications/mod_dptools applications/mod_enum applications/mod_esf applications/mod_expr applications/mod_fifo applications/mod_limit applications/mod_rss applications/mod_voicemail"
+ASR_TTS_MODULES="asr_tts/mod_openmrcp"
+CODECS_MODULES="codecs/mod_g711 codecs/mod_g722 codecs/mod_g726 codecs/mod_gsm codecs/mod_ilbc codecs/mod_h26x codecs/mod_l16 codecs/mod_speex"
+DIALPLANS_MODULES="dialplans/mod_dialplan_asterisk dialplans/mod_dialplan_directory dialplans/mod_dialplan_xml"
+DIRECTORIES_MODULES=
+DOTNET_MODULES=
+ENDPOINTS_MODULES="endpoints/mod_dingaling endpoints/mod_iax endpoints/mod_portaudio endpoints/mod_sofia endpoints/mod_woomera ../../libs/openzap/mod_openzap"
+EVENT_HANDLERS_MODULES="event_handlers/mod_event_multicast event_handlers/mod_event_socket"
+FORMATS_MODULES="formats/mod_local_stream formats/mod_native_file formats/mod_sndfile"
+LANGUAGES_MODULES=
+LOGGERS_MODULES="loggers/mod_console loggers/mod_logfile loggers/mod_syslog"
+SAY_MODULES="say/mod_say_de say/mod_say_en say/mod_say_fr say/mod_say_es say/mod_say_it say/mod_say_nl"
+TIMERS_MODULES=
+DISABLED_MODULES="applications/mod_sountouch directories/mod_ldap languages/mod_java languages/mod_python languages/mod_spidermonkey_skel ast_tts/mod_cepstral asr_tts/mod_lumenvox endpoints/mod_wanpipe event_handlers/mod_event_test event_handlers/mod_radius_cdr event_handlers/mod_zeroconf formats/mod_shout"
+XML_INT_MODULES="xml_int/mod_xml_rpc xml_int/mod_xml_curl xml_int/mod_xml_cdr"
+MYMODULES="$PASSTHRU_CODEC_MODULES $SPIDERMONKEY_MODULES $APPLICATIONS_MODULES $ASR_TTS_MODULES $CODECS_MODULES $DIALPLANS_MODULES $DIRECTORIES_MODULES $DOTNET_MODULES $ENDPOINTS_MODULES $EVENT_HANDLERS_MODULES $FORMATS_MODULES $LANGUAGES_MODULES $LOGGERS_MODULES $SAY_MODULES $TIMERS_MODULES $XML_INT_MODULES"
+
+export MODULES=$MYMODULES
+touch modules.conf
+for i in $MODULES; do echo $i >> modules.conf; done
export VERBOSE=yes
export DESTDIR=$RPM_BUILD_ROOT/
export PKG_CONFIG_PATH=/usr/bin/pkg-config:$PKG_CONFIG_PATH
export ACLOCAL_FLAGS="-I /usr/share/aclocal"
+
./bootstrap.sh
%configure -C \
--prefix=/opt/freeswitch \
+ --bindir=/opt/freeswitch/bin \
+ --libdir=/opt/freeswitch/lib \
--sysconfdir=%{_sysconfdir} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
- --enable-core-libedit-support
-# --enable-core-odbc-support
+ --enable-core-libedit-support \
+ --enable-core-odbc-support \
+ --with-openssl \
+ --with-libcurl
#Create the version header file here
cat src/include/switch_version.h.in | sed "s/@SVN_VERSION@/%{version}/g" > src/include/switch_version.h
touch .noversion
-cp %{SOURCE1} .
-
make
%install
@@ -137,14 +172,19 @@
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
cp build/freeswitch.ld.so.conf $RPM_BUILD_ROOT/etc/ld.so.conf.d/
+# Install init files
install -D -m 744 build/freeswitch.init $RPM_BUILD_ROOT/etc/init.d/freeswitch
+
+# Make /usr/sbin/rcfreeswitch a link to /etc/init,d/freeswitch
mkdir -p $RPM_BUILD_ROOT/usr/sbin
ln -sf /etc/init.d/freeswitch $RPM_BUILD_ROOT/usr/sbin/rcfreeswitch
+
+# Add the sysconfiguration file
install -D -m 744 build/freeswitch.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/freeswitch
+# Add a freeswitch user with group daemon
%pre
-/usr/sbin/groupadd -r freeswitch 2> /dev/null || :
-/usr/sbin/useradd -r -g freeswitch -s /bin/false -c "Freeswitch daemon" -d /opt/freeswitch/var freeswitch 2> /dev/null || :
+/usr/sbin/useradd -r -g daemon -s /bin/false -c "The FreeSWITCH Open Source Voice Platform" -d /opt/freeswitch/var freeswitch 2> /dev/null || :
%post
%{?run_ldconfig:%run_ldconfig}
@@ -156,71 +196,142 @@
rm -rf $RPM_BUILD_ROOT
%files
-%defattr(-,root,root)
-%dir %attr(750,root,root) /opt/freeswitch/db
-%dir %attr(750,root,root) /opt/freeswitch/log
-%dir %attr(750,root,root) /opt/freeswitch/log/xml_cdr
-%dir %attr(750,root,root) /opt/freeswitch/htdocs
-%dir %attr(750,root,root) /opt/freeswitch/scripts
-#%dir %attr(750,root,root) /opt/freeswitch/grammer
-%dir %attr(750,root,root) /opt/freeswitch/conf
-%dir %attr(750,root,root) /opt/freeswitch/conf/autoload_configs
-%dir %attr(750,root,root) /opt/freeswitch/conf/dialplan
-%dir %attr(750,root,root) /opt/freeswitch/conf/directory
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/en
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/en/demo
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/en/vm
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/de
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/de/demo
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/de/vm
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/fr
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/fr/demo
-%dir %attr(750,root,root) /opt/freeswitch/conf/lang/fr/vm
-%dir %attr(750,root,root) /opt/freeswitch/conf/sip_profiles
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/*.conf
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/autoload_configs/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/dialplan/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/directory/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/en/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/en/demo/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/en/vm/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/de/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/de/demo/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/de/vm/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/fr/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/fr/demo/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/lang/fr/vm/*.xml
-%config(noreplace) %attr(750,root,root) /opt/freeswitch/conf/sip_profiles/*.xml
+%defattr(-,freeswitch,daemon)
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/db
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/log
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/log/xml_cdr
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/htdocs
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/scripts
+#%dir %attr(750,freeswitch,daemon) /opt/freeswitch/grammer
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/autoload_configs
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/dialplan
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/directory
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/en
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/en/demo
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/en/vm
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/de
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/de/demo
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/de/vm
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/fr
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/fr/demo
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/lang/fr/vm
+%dir %attr(750,freeswitch,daemon) /opt/freeswitch/conf/sip_profiles
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/mime.types
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/*.tpl
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/*.conf
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/autoload_configs/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/dialplan/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/directory/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/en/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/en/demo/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/en/vm/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/de/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/de/demo/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/de/vm/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/fr/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/fr/demo/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/lang/fr/vm/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/conf/sip_profiles/*.xml
+%config(noreplace) %attr(640,freeswitch,daemon) /opt/freeswitch/htdocs/*
/etc/ld.so.conf.d/*
-%{_bindir}/freeswitch
-#/opt/freeswitch/bin/freeswitch
+/opt/freeswitch/bin/freeswitch
/etc/init.d/freeswitch
/etc/sysconfig/freeswitch
/usr/sbin/rcfreeswitch
-#/opt/freeswitch/lib/*.so*
-%{_libdir}/*.so*
-/opt/freeswitch/mod/*.so*
+/opt/freeswitch/lib/libfreeswitch*.so*
+/opt/freeswitch/mod/mod_console.so*
+/opt/freeswitch/mod/mod_logfile.so*
+/opt/freeswitch/mod/mod_syslog.so*
+/opt/freeswitch/mod/mod_commands.so*
+/opt/freeswitch/mod/mod_conference.so*
+/opt/freeswitch/mod/mod_dptools.so*
+/opt/freeswitch/mod/mod_enum.so*
+/opt/freeswitch/mod/mod_esf.so*
+/opt/freeswitch/mod/mod_expr.so*
+/opt/freeswitch/mod/mod_fifo.so*
+/opt/freeswitch/mod/mod_limit.so*
+/opt/freeswitch/mod/mod_rss.so*
+#/opt/freeswitch/mod/mod_soundtouch.so*
+/opt/freeswitch/mod/mod_voicemail.so*
+/opt/freeswitch/mod/mod_openmrcp.so*
+/opt/freeswitch/mod/mod_g711.so*
+/opt/freeswitch/mod/mod_g722.so*
+/opt/freeswitch/mod/mod_g726.so*
+/opt/freeswitch/mod/mod_gsm.so*
+/opt/freeswitch/mod/mod_ilbc.so*
+/opt/freeswitch/mod/mod_h26x.so*
+/opt/freeswitch/mod/mod_l16.so*
+/opt/freeswitch/mod/mod_speex.so*
+/opt/freeswitch/mod/mod_dialplan_directory.so*
+/opt/freeswitch/mod/mod_dialplan_xml.so*
+/opt/freeswitch/mod/mod_dialplan_asterisk.so*
+/opt/freeswitch/mod/mod_dingaling.so*
+/opt/freeswitch/mod/mod_iax.so*
+/opt/freeswitch/mod/mod_portaudio.so*
+/opt/freeswitch/mod/mod_sofia.so*
+/opt/freeswitch/mod/mod_woomera.so*
+/opt/freeswitch/mod/mod_openzap.so*
+/opt/freeswitch/mod/mod_event_multicast.so*
+/opt/freeswitch/mod/mod_event_socket.so*
+/opt/freeswitch/mod/mod_native_file.so*
+/opt/freeswitch/mod/mod_sndfile.so*
+/opt/freeswitch/mod/mod_local_stream.so*
+/opt/freeswitch/mod/mod_xml_rpc.so*
+/opt/freeswitch/mod/mod_xml_curl.so*
+/opt/freeswitch/mod/mod_xml_cdr.so*
+/opt/freeswitch/mod/mod_say_en.so*
+/opt/freeswitch/mod/mod_say_fr.so*
+/opt/freeswitch/mod/mod_say_de.so*
+/opt/freeswitch/mod/mod_say_es.so*
+/opt/freeswitch/mod/mod_say_it.so*
+/opt/freeswitch/mod/mod_say_nl.so*
%files codec-passthru-amr
+%defattr(-,freeswitch,daemon)
/opt/freeswitch/mod/mod_amr.so*
%files codec-passthru-g723_1
+%defattr(-,freeswitch,daemon)
/opt/freeswitch/mod/mod_g723_1.so*
%files codec-passthru-g729
+%defattr(-,freeswitch,daemon)
/opt/freeswitch/mod/mod_g729.so*
+%files spidermonkey
+%defattr(-,freeswitch,daemon)
+/opt/freeswitch/mod/mod_spidermonkey*.so*
+/opt/freeswitch/lib/libjs.so*
+/opt/freeswitch/lib/libnspr4.so
+/opt/freeswitch/lib/libplds4.so
+/opt/freeswitch/lib/libplc4.so
+
%files devel
-%defattr(-,root,root)
-%{_libdir}/*.a
-%{_libdir}/*.la
+%defattr(-,freeswitch,daemon)
+/opt/freeswitch/lib/*.a
+/opt/freeswitch/lib/*.la
/opt/freeswitch/mod/*.a
/opt/freeswitch/mod/*.la
/opt/freeswitch/include/*.h
%changelog
+* Thu Nov 29 2007 - michal.bielicki+rpmspam at voiceworks.pl
+- Added ifdefs for susealities
+- Added specifics for centos/redhat
+- Added specifics for fedora
+- Preparing to use it for adding it to SFE packaging for solaris
+- Added odbc stuff back in
+- made curl default
+- Separate package for mod_spidermonkey
+- got rid of modules.conf and stuffed everything in MODULES env var
+- got rid of handmade Cflags peter added ;)
+- fixed bin and libpaths
+- fixed locationof nspr and js libs
+- fixed odbc requirements
+- added all buildable modules
* Tue Apr 24 2007 - peter+rpmspam at suntel.com.tr
- Added a debug package
- Split the passthrough codecs into separate packages
More information about the Freeswitch-svn
mailing list