[Freeswitch-trunk] [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-trunk mailing list